/* 忘却のリヴェリオン｜デザイン「夜の書簡庫」（nocturne.css）
   コンセプト：docs/design-concept.md
   ・夜（藍）＝みんなで共有する物語／紙＝あなただけの記憶／金＝道しるべ／勿忘草の青＝自分の印
   ・見た目と並べ方だけ。表示／非表示（.hidden・display:none）・ロック・解放条件・本文には触れない。
   ・html.rv-nocturne は nocturne.js が付ける（JSが動かなければ従来の見た目のまま）。 */

:root{
  --nc-ink:#070f1f; --nc-night:#0d1a30; --nc-lift:#15264a;
  --nc-text:#ece6d6; --nc-sub:#b4c0d2; --nc-faint:#7d8ca3;
  --nc-gold:#e8d29a; --nc-gold-line:#c9ad6d; --nc-gold-dim:rgba(201,173,109,.32);
  --nc-blue:#9dbcf5; --nc-blue-deep:#5f86d6;
  --nc-paper:#f6f0e2; --nc-paper-ink:#1c2740; --nc-seal:#8a2a3a;
  --nc-r-paper:6px; --nc-r-card:12px; --nc-r-pill:999px;
  --nc-serif:"Shippori Mincho","Zen Old Mincho","Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;
  --nc-sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic","YuGothic","Noto Sans JP","Noto Sans CJK JP",system-ui,sans-serif;
  --nc-ease:cubic-bezier(.22,.7,.2,1);
}

/* =========================================================
   play.html
   ========================================================= */

/* ---------- 夜空（背景） ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2){
  background:
    radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.55) 50%,transparent 51%),
    radial-gradient(1px 1px at 68% 9%,rgba(255,255,255,.45) 50%,transparent 51%),
    radial-gradient(1.5px 1.5px at 84% 32%,rgba(157,188,245,.6) 50%,transparent 51%),
    radial-gradient(1px 1px at 32% 62%,rgba(255,255,255,.35) 50%,transparent 51%),
    radial-gradient(1px 1px at 91% 74%,rgba(255,255,255,.4) 50%,transparent 51%),
    radial-gradient(1200px 700px at 50% -20%,#14284f,transparent 70%),
    var(--nc-ink)!important;
  background-attachment:fixed!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #pageBackdrop{filter:saturate(.8) brightness(.42)!important;opacity:.7}

/* 押せるものの共通の手触り */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button,a,[role="tab"]){-webkit-tap-highlight-color:transparent}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button,a):focus-visible{outline:2px solid var(--nc-gold)!important;outline-offset:3px!important}

/* ---------- 上部の帯（公開プロフィール画面など） ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav{
  background:linear-gradient(180deg,rgba(7,15,31,.94),rgba(7,15,31,.82))!important;
  backdrop-filter:blur(12px) saturate(1.2);-webkit-backdrop-filter:blur(12px) saturate(1.2);
  border:0!important;border-bottom:1px solid var(--nc-gold-dim)!important;border-radius:0!important;
  box-shadow:0 12px 30px -20px rgba(0,0,0,.9)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav .workspace-brand{
  border:0!important;background:none!important;box-shadow:none!important;
  font-family:var(--nc-serif)!important;font-weight:600!important;letter-spacing:.14em!important;color:var(--nc-text)!important;
  display:inline-flex;align-items:center;gap:.55em;white-space:nowrap!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav .workspace-brand::before{
  content:"";flex:0 0 auto;width:18px;height:18px;border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,var(--nc-gold) 0 2.2px,transparent 2.6px),
    radial-gradient(circle at 50% 18%,var(--nc-blue) 0 4px,transparent 4.4px),
    radial-gradient(circle at 82% 42%,var(--nc-blue) 0 4px,transparent 4.4px),
    radial-gradient(circle at 70% 80%,var(--nc-blue) 0 4px,transparent 4.4px),
    radial-gradient(circle at 30% 80%,var(--nc-blue) 0 4px,transparent 4.4px),
    radial-gradient(circle at 18% 42%,var(--nc-blue) 0 4px,transparent 4.4px);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav button{
  border-radius:var(--nc-r-pill)!important;border:1px solid transparent!important;background:transparent!important;
  color:var(--nc-sub)!important;font-family:var(--nc-sans)!important;font-weight:600!important;letter-spacing:.08em!important;
  box-shadow:none!important;transition:color .3s var(--nc-ease),background .3s var(--nc-ease),border-color .3s var(--nc-ease);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav button:hover{color:var(--nc-text)!important;border-color:var(--nc-gold-dim)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav button.active{
  color:var(--nc-gold)!important;border-color:rgba(232,210,154,.55)!important;background:rgba(232,210,154,.08)!important;
}

/* ---------- 章の栞（オープニング〜あとがき） ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.phase-reading-nav{
  background:linear-gradient(180deg,rgba(7,15,31,.97),rgba(7,15,31,.9))!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:0!important;border-bottom:1px solid var(--nc-gold-dim)!important;border-radius:0!important;
  box-shadow:0 14px 30px -22px rgba(0,0,0,.95)!important;
  gap:0!important;padding:0!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.phase-reading-nav>.reading-stage-row{
  gap:2px!important;padding:6px 6px 0!important;align-items:flex-end!important;border:0!important;background:none!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab{
  flex:1 1 0!important;min-width:0!important;width:auto!important;height:auto!important;min-height:44px!important;max-height:none!important;
  padding:6px 8px 9px!important;border:0!important;border-radius:8px 8px 0 0!important;
  background:transparent!important;box-shadow:none!important;color:var(--nc-faint)!important;
  font-family:var(--nc-serif)!important;font-size:.92rem!important;font-weight:600!important;letter-spacing:.1em!important;line-height:1.25!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;gap:2px;
  white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;
  transition:color .35s var(--nc-ease),background .35s var(--nc-ease);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab::before{
  content:counter(rv-stage,upper-roman)!important;display:block!important;min-width:0!important;margin:0!important;
  font-family:var(--nc-serif);font-size:.7rem;letter-spacing:.2em;color:inherit;opacity:.7;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab::after{
  content:"";position:absolute;left:22%;right:22%;bottom:0;height:2px;border-radius:2px;
  background:var(--nc-gold);transform:scaleX(0);transition:transform .4s var(--nc-ease);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab:hover{color:var(--nc-text)!important;background:rgba(255,255,255,.03)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab[aria-current="true"]{
  color:var(--nc-gold)!important;background:linear-gradient(180deg,transparent,rgba(232,210,154,.08))!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab[aria-current="true"]::after{transform:scaleX(1);box-shadow:0 0 12px rgba(232,210,154,.8)}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab:disabled{opacity:.38!important}

/* 章の中の場面：細い糸に通した小さな栞 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.phase-reading-nav>.reading-stage-panels{
  border-top:1px solid rgba(255,255,255,.04)!important;background:none!important;padding:0!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel{padding:8px 10px!important;background:none!important;border:0!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel .reading-group-list{gap:6px!important;flex-wrap:wrap!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel button{
  min-height:36px!important;padding:5px 14px!important;border-radius:var(--nc-r-pill)!important;
  background:rgba(157,188,245,.06)!important;background-image:none!important;
  border:1px solid rgba(157,188,245,.2)!important;color:var(--nc-sub)!important;
  font-family:var(--nc-sans)!important;font-size:.82rem!important;font-weight:600!important;letter-spacing:.05em!important;
  box-shadow:none!important;text-shadow:none!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel button:hover{color:var(--nc-text)!important;border-color:rgba(157,188,245,.5)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel button:is(.active,[aria-current="true"],[aria-current="step"],[aria-pressed="true"]){
  color:var(--nc-ink)!important;background:linear-gradient(180deg,#f3e3b5,var(--nc-gold))!important;border-color:transparent!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel p{color:var(--nc-faint)!important;font-size:.82rem!important;margin:4px 6px!important}

/* 栞の下に見出しが潜らないように */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#readingPanel,#readingText .story-marker,#readingText .dialogue-row,#textPanel .story-marker,#textPanel){scroll-margin-top:140px}

/* ---------- 読み合わせの頁（夜） ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingPanel{
  border-radius:var(--nc-r-card)!important;border:1px solid rgba(201,173,109,.18)!important;
  background:linear-gradient(180deg,rgba(13,26,48,.82),rgba(7,15,31,.92))!important;
}
/* 章扉（COMMON SCENE／オープニング） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingSceneVisual{
  border-radius:var(--nc-r-card) var(--nc-r-card) 0 0!important;overflow:hidden;
  border-bottom:1px solid var(--nc-gold-dim)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingSceneVisual .chapter-heading{
  background:linear-gradient(180deg,rgba(7,15,31,0),rgba(7,15,31,.55) 70%,rgba(7,15,31,.85))!important;border:0!important;box-shadow:none!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingSceneVisual .chapter-heading p{
  font-family:var(--nc-serif)!important;color:var(--nc-gold)!important;letter-spacing:.42em!important;font-size:.7rem!important;opacity:.9;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingSceneVisual .chapter-heading h3{
  font-family:var(--nc-serif)!important;letter-spacing:.24em!important;color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.8)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingSceneVisual .chapter-heading h3::after{
  content:"";display:block;width:64px;height:9px;margin:10px auto 0;
  background:
    radial-gradient(circle,var(--nc-blue) 0 3px,transparent 3.5px) center/9px 9px no-repeat,
    linear-gradient(90deg,transparent,var(--nc-gold-line) 40%,transparent 40%,transparent 60%,var(--nc-gold-line) 60%,transparent) center/100% 1px no-repeat;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-close{
  border-radius:50%!important;border:1px solid var(--nc-gold-dim)!important;background:rgba(7,15,31,.75)!important;color:var(--nc-sub)!important;
}

html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingSceneVisual{height:auto!important;min-height:140px!important;padding:0!important;align-items:stretch!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingSceneVisual .chapter-heading{
  height:auto!important;width:100%!important;margin:0!important;padding:30px 16px 22px!important;display:flex!important;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingText{padding-top:4px!important}

/* 閉じるボタンは章扉の上に重ね、余白を詰める */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingContent{position:relative!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingContent>#closeReading{position:absolute!important;top:10px!important;right:10px!important;z-index:4!important;margin:0!important;width:40px!important;height:40px!important;min-height:0!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingText>.story-marker:first-child{margin-top:10px!important}
/* 場面の無い章（オープニング）の空の帯をたたむ */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.phase-reading-nav>.reading-stage-panels[hidden]{max-height:0!important;overflow:hidden!important;border:0!important;padding:0!important;margin:0!important}

/* 地の文 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .story-prose{color:#d3dae6!important;line-height:2!important;letter-spacing:.04em!important}
/* 見出し【…】：中央寄せの小さな章題 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .story-marker:not(.scene-marker) h4{color:var(--nc-gold)!important;letter-spacing:.14em!important}

/* 場面カード（【レイ × フィン】本校舎）：額縁 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#reader,#commonReader) .story-marker.scene-marker{
  border-radius:var(--nc-r-paper)!important;border:1px solid rgba(201,173,109,.55)!important;
  box-shadow:0 22px 44px -26px rgba(0,0,0,.95),inset 0 0 0 4px rgba(7,15,31,.55),inset 0 0 0 5px rgba(201,173,109,.3),inset 0 -70px 70px -30px rgba(4,10,20,.9)!important;
}

/* 台詞 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-bubble{
  border-radius:var(--nc-r-card)!important;
  background:linear-gradient(180deg,rgba(24,40,70,.92),rgba(14,26,48,.95))!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-row.alternate-left .dialogue-bubble{border-top-left-radius:3px!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-row.alternate-right .dialogue-bubble{border-top-right-radius:3px!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-name{font-size:.74rem!important;letter-spacing:.2em!important}

/* あなたの台詞：勿忘草の灯り（my-lines.js の印を上書き） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-row.rv-mine .dialogue-bubble{
  background:
    radial-gradient(140% 120% at 0 0,color-mix(in srgb,var(--speaker-color,#9dbcf5) 26%,transparent),transparent 60%),
    linear-gradient(180deg,#1b3060,#122348)!important;
  border:1px solid rgba(232,210,154,.8)!important;
  box-shadow:0 0 0 3px rgba(157,188,245,.12),0 0 30px -8px rgba(157,188,245,.55),0 14px 30px -18px rgba(0,0,0,.9)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-row.rv-mine .rv-you{
  background:linear-gradient(180deg,#f3e3b5,var(--nc-gold))!important;color:var(--nc-ink)!important;
}

/* 開封前の確認（READY?）：封をした手紙 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingConfirm{
  background:
    radial-gradient(520px 240px at 50% 0,rgba(157,188,245,.14),transparent 70%),
    linear-gradient(180deg,rgba(13,26,48,.6),rgba(7,15,31,.2))!important;
  border-radius:var(--nc-r-card)!important;position:relative;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingConfirm::before{
  content:"";position:absolute;left:50%;top:26px;width:42px;height:42px;margin-left:-21px;border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,#f3e3b5 0 3px,transparent 3.5px),
    radial-gradient(circle at 50% 30%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 69% 44%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 62% 67%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 38% 67%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 31% 44%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 38% 35%,#c25a68,#8a2a3a 60%,#5e1724);
  box-shadow:0 6px 16px -4px rgba(94,23,36,.7),inset 0 0 0 3px rgba(255,255,255,.1);opacity:.95;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingConfirmTitle{color:var(--nc-text)!important;letter-spacing:.16em!important}

/* ---------- 主ボタン（金）・副ボタン ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button.primary:not([aria-pressed]):not(.cast-vote),a.primary,#confirmReading,.vote-submit){
  background:linear-gradient(180deg,#f3e3b5,var(--nc-gold) 55%,#d6bb7c)!important;color:#141d33!important;
  border:0!important;border-radius:var(--nc-r-pill)!important;
  font-family:var(--nc-sans)!important;font-weight:700!important;letter-spacing:.1em!important;
  box-shadow:0 12px 26px -14px rgba(232,210,154,.75),inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(120,90,40,.25)!important;
  transition:transform .3s var(--nc-ease),box-shadow .3s var(--nc-ease)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button.primary:not([aria-pressed]):not(.cast-vote),#confirmReading,.vote-submit):hover{transform:translateY(-1px)}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.secondary{
  border-radius:var(--nc-r-pill)!important;border:1px solid var(--nc-gold-dim)!important;background:rgba(255,255,255,.02)!important;
  color:var(--nc-sub)!important;font-weight:600!important;letter-spacing:.08em!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.secondary:hover{color:var(--nc-text)!important;border-color:rgba(232,210,154,.6)!important}

/* ---------- ハンドアウト：宛名と書簡 ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock{
  background:linear-gradient(180deg,rgba(7,15,31,.97),rgba(7,15,31,.9))!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border:0!important;border-bottom:1px solid var(--nc-gold-dim)!important;border-radius:0!important;
  box-shadow:0 14px 30px -22px rgba(0,0,0,.95)!important;padding-bottom:4px!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock #chapterTabs{gap:2px!important;border:0!important;background:none!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock #chapterTabs button{
  border:0!important;border-radius:8px 8px 0 0!important;background:transparent!important;box-shadow:none!important;
  color:var(--nc-faint)!important;font-family:var(--nc-serif)!important;font-weight:600!important;letter-spacing:.1em!important;
  min-height:44px!important;position:relative;transition:color .35s var(--nc-ease);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock #chapterTabs button::after{
  content:"";position:absolute;left:22%;right:22%;bottom:0;height:2px;border-radius:2px;background:var(--nc-gold);
  transform:scaleX(0);transition:transform .4s var(--nc-ease);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock #chapterTabs button:hover{color:var(--nc-text)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock #chapterTabs button.active{color:var(--nc-gold)!important;background:linear-gradient(180deg,transparent,rgba(232,210,154,.08))!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock #chapterTabs button.active::after{transform:scaleX(1);box-shadow:0 0 12px rgba(232,210,154,.8)}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock .chapter-local-nav{gap:4px!important;padding:6px 6px 2px!important;border:0!important;background:none!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock .chapter-local-nav button{
  min-height:32px!important;padding:4px 12px!important;border-radius:var(--nc-r-pill)!important;border:1px solid transparent!important;
  background:none!important;color:var(--nc-sub)!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.06em!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock .chapter-local-nav button:hover{color:var(--nc-gold)!important;border-color:var(--nc-gold-dim)!important}

/* 宛名（人物ヘッダー） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header{
  border:1px solid var(--nc-gold-dim)!important;border-radius:var(--nc-r-card)!important;
  background:
    radial-gradient(420px 160px at 0 0,color-mix(in srgb,var(--character-color,var(--accent,#9dbcf5)) 22%,transparent),transparent 70%),
    linear-gradient(180deg,rgba(21,38,74,.9),rgba(10,20,38,.94))!important;
  box-shadow:0 18px 36px -26px rgba(0,0,0,.95)!important;margin-bottom:14px!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header h2{font-family:var(--nc-serif)!important;letter-spacing:.14em!important;color:var(--nc-text)!important}

/* 書簡の紙：角は小さく、縁に細い金の罫 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel{
  border-radius:var(--nc-r-paper)!important;
  box-shadow:0 34px 60px -36px rgba(0,0,0,.95),inset 0 0 0 7px rgba(255,255,255,.4),inset 0 0 0 8px rgba(138,106,52,.22)!important;
}

/* ---------- 公開プロフィール：アーチ窓の肖像 ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile.public-profile{
  border-radius:var(--nc-r-card)!important;border:1px solid var(--nc-gold-dim)!important;
  background:
    radial-gradient(600px 320px at 25% 10%,color-mix(in srgb,var(--cast-color,#9dbcf5) 14%,transparent),transparent 65%),
    linear-gradient(180deg,rgba(13,26,48,.94),rgba(7,15,31,.96))!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile .cast-guide>img{
  border-radius:999px 999px var(--nc-r-paper) var(--nc-r-paper)!important;
  background:
    radial-gradient(80% 60% at 50% 30%,color-mix(in srgb,var(--cast-color,#9dbcf5) 30%,transparent),transparent 70%),
    linear-gradient(180deg,#1a2f5a,#0b1730)!important;
  box-shadow:0 0 0 1px rgba(201,173,109,.6),0 0 0 6px rgba(7,15,31,.8),0 0 0 7px rgba(201,173,109,.25),0 30px 50px -30px rgba(0,0,0,.95)!important;
  filter:none!important;object-fit:contain;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile .section-label{font-family:var(--nc-serif)!important;letter-spacing:.42em!important;color:var(--nc-gold)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile h2{letter-spacing:.16em!important;color:var(--nc-text)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile .cast-role{color:var(--nc-gold)!important;font-family:var(--nc-serif)!important;letter-spacing:.08em!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile blockquote{
  border:0!important;border-radius:var(--nc-r-paper)!important;position:relative;
  background:linear-gradient(180deg,var(--nc-paper),#ece3cc)!important;color:var(--nc-paper-ink)!important;
  font-family:var(--nc-serif)!important;letter-spacing:.04em!important;
  box-shadow:0 18px 30px -22px rgba(0,0,0,.9),inset 0 0 0 4px rgba(255,255,255,.4),inset 0 0 0 5px rgba(138,106,52,.2)!important;
  border-left:3px solid var(--cast-color,var(--nc-seal))!important;
}

/* ---------- 投票：投票用紙 ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-form fieldset{border-radius:var(--nc-r-card)!important;border-color:var(--nc-gold-dim)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-form-heading{
  border:0!important;border-left:2px solid var(--nc-gold)!important;border-radius:0 var(--nc-r-card) var(--nc-r-card) 0!important;
  background:linear-gradient(90deg,rgba(232,210,154,.1),transparent 70%)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-form-heading small{color:var(--nc-gold)!important;letter-spacing:.2em!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-form-heading h4{font-family:var(--nc-serif)!important;letter-spacing:.14em!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-options label>span{
  border-radius:var(--nc-r-pill)!important;border:1px solid rgba(157,188,245,.2)!important;
  background:linear-gradient(180deg,rgba(21,38,74,.7),rgba(13,26,48,.7))!important;box-shadow:none!important;
  transition:border-color .3s var(--nc-ease),background .3s var(--nc-ease),box-shadow .3s var(--nc-ease),color .3s var(--nc-ease);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-options label:hover>span{border-color:rgba(157,188,245,.5)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-options label>input:checked+span{
  background:linear-gradient(180deg,rgba(232,210,154,.22),rgba(232,210,154,.07))!important;
  border-color:var(--nc-gold)!important;color:var(--nc-gold)!important;
  box-shadow:0 0 0 1px var(--nc-gold),0 0 22px -6px rgba(232,210,154,.75)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-options label>input:checked+span b{color:var(--nc-gold)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-options label>input:focus-visible+span{outline:2px solid var(--nc-gold)!important;outline-offset:3px}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .vote-options label>span img{box-shadow:0 0 0 2px rgba(7,15,31,.9),0 0 0 3px var(--nc-gold-dim)!important}

/* ---------- 次の自分の台詞 ---------- */
html.rv-nocturne .rv-next-mine{border-color:rgba(232,210,154,.6)!important;background:linear-gradient(180deg,rgba(21,38,74,.96),rgba(7,15,31,.96))!important}

/* =========================================================
   スマホ
   ========================================================= */
@media (max-width:760px){
  /* 上部の帯：1行 52px */
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav{
    min-height:0!important;grid-template-columns:auto repeat(3,minmax(0,1fr))!important;align-items:center!important;
    padding:6px max(10px,env(safe-area-inset-right)) 6px max(10px,env(safe-area-inset-left))!important;gap:4px!important;
  }
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav .workspace-brand{
    grid-column:auto!important;font-size:0!important;padding:0 6px 0 2px!important;min-height:40px;justify-self:start!important;
  }
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav .workspace-brand::before{width:22px;height:22px}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav button{min-height:38px!important;height:38px!important;padding:4px 2px!important;font-size:.8rem!important;letter-spacing:.04em!important}

  /* 章の栞：3列×2段のコンパクトな栞（6つとも画面内に収める） */
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.phase-reading-nav>.reading-stage-row{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:0 2px!important;padding:2px 4px 0!important;
  }
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab{
    flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:.4em;
    min-height:38px!important;padding:4px 4px 5px!important;font-size:.8rem!important;letter-spacing:.04em!important;
    transition:min-height .35s var(--nc-ease),color .35s var(--nc-ease),background .35s var(--nc-ease);
  }
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab::before{content:counter(rv-stage,upper-roman)!important;font-size:.6rem;letter-spacing:.05em}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel{padding:6px 8px!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel .reading-group-list{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel .reading-group-list::-webkit-scrollbar{display:none}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel button{flex:0 0 auto!important;min-height:34px!important;white-space:nowrap!important}

  /* ハンドアウトの栞 */
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock #chapterTabs button{justify-content:center!important;text-align:center!important;min-height:42px!important;font-size:.84rem!important;letter-spacing:.04em!important;padding-inline:4px!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock .chapter-local-nav{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock .chapter-local-nav::-webkit-scrollbar{display:none}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock .chapter-local-nav button{flex:0 0 auto!important;white-space:nowrap!important}

  /* 読み進めると栞をたたむ（nocturne.js が body.rv-tuck を付ける）。
     display は変えず、高さと透明度だけで細くする。 */
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#commonReader #readingTabs.phase-reading-nav>.reading-stage-panels,#reader .handout-nav-dock .chapter-local-nav){
    max-height:120px;overflow:hidden;transition:max-height .4s var(--nc-ease),opacity .3s var(--nc-ease),padding .4s var(--nc-ease);
  }
  html.rv-nocturne body.reading-compact.rv-tuck[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#commonReader #readingTabs.phase-reading-nav>.reading-stage-panels,#reader .handout-nav-dock .chapter-local-nav){
    max-height:0!important;opacity:0;padding-top:0!important;padding-bottom:0!important;pointer-events:none;
  }
  html.rv-nocturne body.reading-compact.rv-tuck[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingTabs.tiered-reading-nav.phase-reading-nav .reading-stage-row button.reading-stage-tab{
    min-height:28px!important;padding-block:1px 3px!important;font-size:.74rem!important;
  }
  html.rv-nocturne body.reading-compact.rv-tuck[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock #chapterTabs button{min-height:34px!important}
  html.rv-nocturne body.reading-compact.rv-tuck[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .handout-nav-dock{padding-bottom:0!important}

  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#readingPanel,#readingText .story-marker,#readingText .dialogue-row,#textPanel .story-marker,#textPanel){scroll-margin-top:110px}

  /* 本文を広く：アバターを小さく、吹き出しを広く */
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-workspace .dialogue-avatar{width:34px!important;height:34px!important;flex-basis:34px!important;min-width:34px!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-row{gap:8px!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-bubble{padding:9px 13px 10px!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .dialogue-name{margin-bottom:3px!important}

  /* 上部の帯が細くなった分、本文を上げる */
  html.rv-nocturne body.reading-compact:is([data-view="profile"],[data-view="home"],[data-view="common"]):not(.rv-x):not(#nc1):not(#nc2){padding-top:68px!important}
  /* 公開プロフィール */
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile .cast-guide>img{max-height:52vh;width:auto!important;max-width:78%!important;margin-inline:auto!important}
}

@media (prefers-reduced-motion:reduce){
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) *{transition:none!important}
}

/* =========================================================
   index.html（TOP）
   ========================================================= */
html.rv-nocturne body:not(.reading-compact) .cast-link span{
  border-radius:var(--nc-r-pill)!important;border:1px solid rgba(232,210,154,.6)!important;
  background:linear-gradient(180deg,rgba(13,26,48,.92),rgba(7,15,31,.94))!important;color:var(--nc-gold)!important;
  font-family:var(--nc-serif)!important;letter-spacing:.18em!important;font-weight:600!important;
  box-shadow:0 10px 24px -12px rgba(0,0,0,.9),0 0 18px -8px rgba(232,210,154,.5)!important;
  transition:background .35s var(--nc-ease),color .35s var(--nc-ease),transform .35s var(--nc-ease);
}
html.rv-nocturne body:not(.reading-compact) .cast-link:is(:hover,:focus-visible) span{
  background:linear-gradient(180deg,#f3e3b5,var(--nc-gold))!important;color:var(--nc-ink)!important;transform:translateY(-2px);
}
@media (prefers-reduced-motion:reduce){html.rv-nocturne body:not(.reading-compact) .cast-link span{transition:none!important}}
@media (max-width:760px){
  /* タイトルが「ン」だけ改行されないように */
  html.rv-nocturne body:not(.reading-compact) .cast-entry-copy h2{font-size:clamp(1.7rem,8.6vw,2.6rem)!important;white-space:nowrap!important;letter-spacing:.04em!important}
  html.rv-nocturne body:not(.reading-compact) .cast-entry-copy .label{font-size:.66rem!important;letter-spacing:.18em!important}
}

/* =========================================================
   ハンドアウト：上質な便箋（ノート感をなくす）
   ・箱の二重線をやめ、金箔の細い枠＋四隅の飾り
   ・上に封蝋、見出しは中央に飾り線
   ========================================================= */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel{
  position:relative;max-width:760px!important;margin:34px auto 40px!important;
  padding:64px clamp(22px,6vw,72px) 60px!important;border:0!important;border-radius:2px!important;
  color:#1f2a44!important;
  background:
    /* 金箔の細い枠 */
    linear-gradient(#b8975a,#b8975a) 18px 18px/calc(100% - 36px) 1px no-repeat,
    linear-gradient(#b8975a,#b8975a) 18px calc(100% - 18px)/calc(100% - 36px) 1px no-repeat,
    linear-gradient(#b8975a,#b8975a) 18px 18px/1px calc(100% - 36px) no-repeat,
    linear-gradient(#b8975a,#b8975a) calc(100% - 18px) 18px/1px calc(100% - 36px) no-repeat,
    /* 紙の明るさのむら */
    radial-gradient(120% 70% at 50% 0,#fffdf7 0,rgba(255,253,247,0) 60%),
    radial-gradient(90% 60% at 100% 100%,rgba(196,170,120,.18),transparent 70%),
    radial-gradient(70% 50% at 0 100%,rgba(196,170,120,.12),transparent 70%),
    linear-gradient(180deg,#f8f2e4,#f1e8d4)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 40px 80px -40px rgba(0,0,0,.95),0 18px 30px -24px rgba(0,0,0,.8),0 0 0 1px rgba(120,95,50,.25)!important;
}
/* 四隅の飾り（金の小さなL字＋勿忘草の点） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel::before{
  content:"";position:absolute;inset:10px;pointer-events:none;
  background:
    linear-gradient(#b8975a,#b8975a) 0 0/22px 2px no-repeat,linear-gradient(#b8975a,#b8975a) 0 0/2px 22px no-repeat,
    linear-gradient(#b8975a,#b8975a) 100% 0/22px 2px no-repeat,linear-gradient(#b8975a,#b8975a) 100% 0/2px 22px no-repeat,
    linear-gradient(#b8975a,#b8975a) 0 100%/22px 2px no-repeat,linear-gradient(#b8975a,#b8975a) 0 100%/2px 22px no-repeat,
    linear-gradient(#b8975a,#b8975a) 100% 100%/22px 2px no-repeat,linear-gradient(#b8975a,#b8975a) 100% 100%/2px 22px no-repeat;
}
/* 上の封蝋（開封済み） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel::after{
  content:"";position:absolute;left:50%;top:-20px;width:44px;height:44px;margin-left:-22px;border-radius:50%;pointer-events:none;
  background:
    radial-gradient(circle at 50% 50%,#f3e3b5 0 3px,transparent 3.5px),
    radial-gradient(circle at 50% 30%,rgba(243,227,181,.85) 0 5px,transparent 5.5px),
    radial-gradient(circle at 69% 44%,rgba(243,227,181,.85) 0 5px,transparent 5.5px),
    radial-gradient(circle at 62% 67%,rgba(243,227,181,.85) 0 5px,transparent 5.5px),
    radial-gradient(circle at 38% 67%,rgba(243,227,181,.85) 0 5px,transparent 5.5px),
    radial-gradient(circle at 31% 44%,rgba(243,227,181,.85) 0 5px,transparent 5.5px),
    radial-gradient(circle at 38% 35%,#c25a68,#8a2a3a 60%,#5e1724);
  box-shadow:0 6px 14px -4px rgba(60,10,20,.6),inset 0 0 0 3px rgba(255,255,255,.1);
}
/* 本文：インクの藍、ゆったり */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel :is(.story-prose,p,li){
  color:#24304d!important;line-height:2.05!important;letter-spacing:.05em!important;
}
/* 見出し：中央、左右に細い飾り線（下線のノート感をなくす） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker:not(.scene-marker):not(.important){
  text-align:center!important;padding:0!important;margin:46px 0 22px!important;border:0!important;background:none!important;
  display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:16px;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker:not(.scene-marker):not(.important)::before,
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker:not(.scene-marker):not(.important)::after{
  content:""!important;position:static!important;flex:1 1 0;height:1px!important;min-width:20px;
  background:linear-gradient(90deg,transparent,#b8975a)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker:not(.scene-marker):not(.important)::after{background:linear-gradient(90deg,#b8975a,transparent)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker:not(.scene-marker) h4{
  flex:0 1 auto;min-width:0;margin:0!important;color:#1d2d57!important;font-size:1.08rem!important;letter-spacing:.18em!important;font-weight:600!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel>.story-marker:first-child:not(.scene-marker):not(.important){margin-top:4px!important}
/* 秘匿情報：封蝋つきの札（色は朱のまま） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker.important{
  border-radius:2px!important;border:0!important;border-top:1px solid rgba(138,42,58,.5)!important;border-bottom:1px solid rgba(138,42,58,.5)!important;
  background:linear-gradient(90deg,transparent,rgba(138,42,58,.07) 20%,rgba(138,42,58,.07) 80%,transparent)!important;
  text-align:center!important;padding:14px 56px!important;margin:46px 0 22px!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker.important h4{color:#8a2a3a!important;letter-spacing:.18em!important}
/* 書簡の中の台詞・関係カード：紙になじませる */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .dialogue-bubble{background:rgba(255,253,247,.75)!important;border-radius:2px 12px 12px 12px!important;box-shadow:0 8px 18px -14px rgba(60,40,10,.6)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry{background:rgba(255,253,247,.6)!important;border:1px solid rgba(184,151,90,.35)!important;border-radius:4px!important;box-shadow:none!important}
@media (max-width:760px){
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel{
    margin:30px 0 28px!important;padding:52px 26px 44px!important;
    background-position:12px 12px,12px calc(100% - 12px),12px 12px,calc(100% - 12px) 12px,0 0,0 0,0 0,0 0!important;
    background-size:calc(100% - 24px) 1px,calc(100% - 24px) 1px,1px calc(100% - 24px),1px calc(100% - 24px),auto,auto,auto,auto!important;
  }
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel::before{inset:6px}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker.important{padding:12px 44px!important}
}
/* 開封前カード：封蝋と「READY?」が重ならないように */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingConfirm{padding-top:84px!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingConfirm::before{top:24px!important}

/* =========================================================
   第3弾：ボタン・イラスト・封蝋・崩れ修正（2026-10-11）
   ========================================================= */
:root{
  --nc-seal-blue:radial-gradient(circle at 50% 50%,#f3e3b5 0 3px,transparent 3.5px),
    radial-gradient(circle at 50% 30%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 69% 44%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 62% 67%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 38% 67%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 31% 44%,rgba(243,227,181,.9) 0 5px,transparent 5.5px),
    radial-gradient(circle at 36% 32%,#4f74d8,#22409a 58%,#142a6a);
}

/* ---------- 崩れ修正：ハンドアウトを開く前の「共通情報」で読み合わせが重なる ---------- */
html.rv-nocturne body.reading-compact[data-view="common"]:not(.rv-x):not(#nc1):not(#nc2) #commonReader.hidden{display:none!important}
/* タブレット幅：上部のタイトルがはみ出さない */
@media (min-width:761px) and (max-width:1100px){
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .quick-nav .workspace-brand{font-size:.9rem!important;letter-spacing:.06em!important}
}

/* ---------- ボタン：金の主ボタンに勿忘草と光の筋 ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button.primary:not([aria-pressed]):not(.cast-vote),#confirmReading,.vote-submit,#unlockButton,#enterHandout){
  position:relative;overflow:hidden;isolation:isolate;
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:46px!important;padding:10px 26px 10px 20px!important;
  background:linear-gradient(180deg,#f6e8bf 0%,#e8d29a 48%,#d2b473 100%)!important;color:#141d33!important;
  border:0!important;border-radius:var(--nc-r-pill)!important;
  box-shadow:0 0 0 1px rgba(255,248,225,.5) inset,0 0 0 3px rgba(7,15,31,.55),0 0 0 4px rgba(232,210,154,.45),0 14px 28px -14px rgba(232,210,154,.8)!important;
  font-family:var(--nc-serif)!important;font-weight:700!important;letter-spacing:.14em!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button.primary:not([aria-pressed]):not(.cast-vote),#confirmReading,.vote-submit,#unlockButton,#enterHandout)::before{
  content:"";flex:0 0 auto;width:16px;height:16px;border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,#f6e8bf 0 1.8px,transparent 2.2px),
    radial-gradient(circle at 50% 18%,#3b5fc4 0 3.6px,transparent 4px),
    radial-gradient(circle at 82% 42%,#3b5fc4 0 3.6px,transparent 4px),
    radial-gradient(circle at 70% 80%,#3b5fc4 0 3.6px,transparent 4px),
    radial-gradient(circle at 30% 80%,#3b5fc4 0 3.6px,transparent 4px),
    radial-gradient(circle at 18% 42%,#3b5fc4 0 3.6px,transparent 4px);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button.primary:not([aria-pressed]):not(.cast-vote),#confirmReading,.vote-submit,#unlockButton,#enterHandout)::after{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.65) 48%,transparent 62%) no-repeat;background-size:250% 100%;background-position:130% 0;
  transition:background-position .9s var(--nc-ease);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button.primary:not([aria-pressed]):not(.cast-vote),#confirmReading,.vote-submit,#unlockButton,#enterHandout):is(:hover,:focus-visible)::after{background-position:-30% 0}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button.primary:not([aria-pressed]):not(.cast-vote),#confirmReading,.vote-submit,#unlockButton,#enterHandout):active{transform:translateY(1px) scale(.99)}
/* 副ボタン：夜色に金の細縁 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.secondary{
  min-height:46px!important;padding:10px 22px!important;background:rgba(7,15,31,.55)!important;
  border:1px solid rgba(232,210,154,.45)!important;color:var(--nc-gold)!important;font-family:var(--nc-serif)!important;letter-spacing:.12em!important;
  box-shadow:inset 0 0 0 3px rgba(7,15,31,.6),inset 0 0 0 4px rgba(232,210,154,.12)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.secondary:hover{background:rgba(232,210,154,.1)!important;color:#fff4d6!important}
/* 閉じる× */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-close{
  backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--nc-gold)!important;border-color:rgba(232,210,154,.5)!important;transition:transform .3s var(--nc-ease),background .3s!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-close:hover{transform:rotate(90deg);background:rgba(21,38,74,.9)!important}
@media (prefers-reduced-motion:reduce){
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(button.primary:not([aria-pressed]):not(.cast-vote),#confirmReading,.vote-submit,#unlockButton,#enterHandout)::after{display:none}
}

/* ---------- 封蝋は勿忘草の青に（素材の手紙と同じ色） ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel::after{background:var(--nc-seal-blue)!important;box-shadow:0 6px 14px -4px rgba(20,42,106,.7),inset 0 0 0 3px rgba(255,255,255,.12)!important}

/* ---------- 開封前カード：素材「封蝋の手紙」を主役に ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingConfirm{padding-top:150px!important;overflow:hidden}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingConfirm::before{
  top:14px!important;width:150px!important;height:120px!important;margin-left:-75px!important;border-radius:0!important;opacity:1!important;
  background:url("assets/PROP_008_勿忘草の封蝋付き秘密の手紙.webp") center/contain no-repeat!important;
  box-shadow:none!important;filter:drop-shadow(0 16px 22px rgba(0,0,0,.6)) drop-shadow(0 0 24px rgba(157,188,245,.25));
  animation:nc-float 6s ease-in-out infinite;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader #readingConfirm::after{
  content:"";position:absolute;left:50%;top:0;width:360px;height:200px;margin-left:-180px;pointer-events:none;z-index:-1;
  background:radial-gradient(closest-side,rgba(157,188,245,.18),transparent);
}
@keyframes nc-float{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(-1deg)}}
@media (prefers-reduced-motion:reduce){html.rv-nocturne #readingConfirm::before{animation:none!important}}

/* ---------- 未開封の章（GMの案内を待つ）：封をした手紙 ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader #lockPanel{
  border:1px solid var(--nc-gold-dim)!important;border-radius:var(--nc-r-card)!important;padding:28px 20px 30px!important;
  background:radial-gradient(420px 200px at 50% 20%,rgba(157,188,245,.16),transparent 70%),linear-gradient(180deg,rgba(13,26,48,.9),rgba(7,15,31,.94))!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader #lockPanel .lock-icon{
  font-size:0!important;width:170px!important;height:136px!important;margin:0 auto 6px!important;border:0!important;background:url("assets/PROP_008_勿忘草の封蝋付き秘密の手紙.webp") center/contain no-repeat!important;
  box-shadow:none!important;filter:drop-shadow(0 16px 22px rgba(0,0,0,.6));
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader #lockPanel h3{font-family:var(--nc-serif)!important;letter-spacing:.16em!important;color:var(--nc-text)!important}

/* ---------- ハンドアウト冒頭：立ち絵を大きく（肖像の額） ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header{
  position:relative;overflow:hidden;min-height:190px!important;align-items:center!important;padding:22px 24px!important;
  border:1px solid rgba(232,210,154,.4)!important;border-radius:var(--nc-r-card)!important;
  background:
    linear-gradient(90deg,rgba(7,15,31,.96) 0%,rgba(7,15,31,.82) 45%,rgba(7,15,31,.15) 75%,rgba(7,15,31,0) 100%),
    url("assets/promo/academy-gate.fast.webp") 70% 35%/cover no-repeat!important;
  box-shadow:inset 0 0 0 4px rgba(7,15,31,.5),inset 0 0 0 5px rgba(232,210,154,.18),0 24px 40px -28px rgba(0,0,0,.95)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header #characterBody{
  display:block!important;position:absolute!important;right:2%!important;top:8px!important;bottom:auto!important;left:auto!important;
  width:auto!important;height:340%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:top!important;
  z-index:0!important;opacity:1!important;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 28%);mask-image:linear-gradient(90deg,transparent 0,#000 28%);
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.6));
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header>:not(#characterBody){position:relative;z-index:1}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header .section-label{
  display:block!important;font-family:var(--nc-serif)!important;font-size:.66rem!important;letter-spacing:.4em!important;color:var(--nc-gold)!important;margin:0 0 6px!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header h2{font-size:1.7rem!important;letter-spacing:.18em!important;text-shadow:0 2px 14px rgba(0,0,0,.8)}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header #characterRole{color:var(--nc-gold)!important;font-family:var(--nc-serif)!important;letter-spacing:.08em!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header .handout-intro{color:#dfe5ef!important;max-width:24em;text-shadow:0 1px 8px rgba(0,0,0,.9)}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header #characterImage{
  width:84px!important;height:84px!important;flex:0 0 84px!important;border-radius:50%!important;
  box-shadow:0 0 0 3px rgba(7,15,31,.9),0 0 0 4px var(--nc-gold),0 0 24px -4px rgba(232,210,154,.6)!important;
}
@media (max-width:760px){
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header{min-height:170px!important;padding:18px 16px!important;
    background:linear-gradient(90deg,rgba(7,15,31,.95) 0%,rgba(7,15,31,.75) 55%,rgba(7,15,31,.1) 100%),url("assets/promo/academy-gate.fast.webp") 60% 35%/cover no-repeat!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header #characterBody{right:-14%!important;height:300%!important;opacity:.9!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header #characterImage{display:none!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header h2{font-size:1.4rem!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header .handout-intro{max-width:62%}
}

/* ---------- 結末前の空の章：花束で静かに待つ ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #commonReader .reading-stage-panel[data-stage-key="ending"]>p{
  text-align:center!important;font-family:var(--nc-serif)!important;letter-spacing:.14em!important;color:var(--nc-sub)!important;font-size:.92rem!important;
  padding:150px 10px 18px!important;margin:6px 0!important;
  background:url("assets/PROP_002_青と白の勿忘草の花束.webp") center 6px/auto 136px no-repeat!important;
}

/* ---------- TOPの名札：上質なプレート ---------- */
html.rv-nocturne body:not(.reading-compact) .cast-link span{
  box-shadow:inset 0 0 0 3px rgba(7,15,31,.7),inset 0 0 0 4px rgba(232,210,154,.25),0 10px 24px -12px rgba(0,0,0,.9),0 0 18px -8px rgba(232,210,154,.5)!important;
}
/* 立ち絵は右端に寄せ、文字の側には掛からないように */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header #characterBody{right:-4%!important;height:260%!important;top:4px!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header>div{max-width:58%!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header .handout-intro{max-width:none!important}
@media (max-width:760px){
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header #characterBody{right:-30%!important;height:250%!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header>div{max-width:64%!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header .section-label{letter-spacing:.24em!important}
}
@media (min-width:761px){
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header #characterBody{right:-12%!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header h2{font-size:clamp(1.3rem,2vw,1.7rem)!important}
}

/* =========================================================
   第4弾：ハンドアウト「夜の書簡」（クリーム色の紙をやめ、深い藍＋金箔）
   ========================================================= */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel{
  color:#e7e2d4!important;
  background:
    linear-gradient(rgba(201,173,109,.55),rgba(201,173,109,.55)) 18px 18px/calc(100% - 36px) 1px no-repeat,
    linear-gradient(rgba(201,173,109,.55),rgba(201,173,109,.55)) 18px calc(100% - 18px)/calc(100% - 36px) 1px no-repeat,
    linear-gradient(rgba(201,173,109,.55),rgba(201,173,109,.55)) 18px 18px/1px calc(100% - 36px) no-repeat,
    linear-gradient(rgba(201,173,109,.55),rgba(201,173,109,.55)) calc(100% - 18px) 18px/1px calc(100% - 36px) no-repeat,
    radial-gradient(90% 40% at 50% 0,rgba(157,188,245,.13),transparent 70%),
    radial-gradient(60% 40% at 100% 100%,rgba(232,210,154,.06),transparent 70%),
    linear-gradient(180deg,#13213f 0%,#0e1a33 40%,#0a142a 100%)!important;
  box-shadow:0 0 0 1px rgba(201,173,109,.35),0 40px 80px -40px rgba(0,0,0,.95),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel::before{
  background:
    linear-gradient(var(--nc-gold),var(--nc-gold)) 0 0/22px 1.5px no-repeat,linear-gradient(var(--nc-gold),var(--nc-gold)) 0 0/1.5px 22px no-repeat,
    linear-gradient(var(--nc-gold),var(--nc-gold)) 100% 0/22px 1.5px no-repeat,linear-gradient(var(--nc-gold),var(--nc-gold)) 100% 0/1.5px 22px no-repeat,
    linear-gradient(var(--nc-gold),var(--nc-gold)) 0 100%/22px 1.5px no-repeat,linear-gradient(var(--nc-gold),var(--nc-gold)) 0 100%/1.5px 22px no-repeat,
    linear-gradient(var(--nc-gold),var(--nc-gold)) 100% 100%/22px 1.5px no-repeat,linear-gradient(var(--nc-gold),var(--nc-gold)) 100% 100%/1.5px 22px no-repeat!important;
}
/* 文字：夜の地に読みやすい明るさ。改行は文節で（対応ブラウザ） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel :is(.story-prose,p,li,dd,.story-list){
  color:#e3dfd3!important;word-break:auto-phrase;line-break:strict;text-wrap:pretty;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel ruby rt{color:#9aa7bd!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel li::marker{color:var(--nc-gold)}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker:not(.scene-marker) h4{color:var(--nc-gold)!important;word-break:auto-phrase}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker:not(.scene-marker):not(.important)::before{background:linear-gradient(90deg,transparent,rgba(232,210,154,.7))!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker:not(.scene-marker):not(.important)::after{background:linear-gradient(90deg,rgba(232,210,154,.7),transparent)!important}
/* 秘匿情報：青い封蝋の帯 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker.important{
  border-top:1px solid rgba(157,188,245,.45)!important;border-bottom:1px solid rgba(157,188,245,.45)!important;
  background:linear-gradient(90deg,transparent,rgba(79,116,216,.16) 20%,rgba(79,116,216,.16) 80%,transparent)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker.important h4{color:#cfe0ff!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .story-marker.important::after{background:var(--nc-seal-blue)!important;box-shadow:0 4px 10px -2px rgba(20,42,106,.8)!important}
/* 書簡の中の台詞 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .dialogue-bubble{
  background:linear-gradient(180deg,rgba(28,46,82,.9),rgba(18,32,60,.92))!important;border:1px solid rgba(255,255,255,.07)!important;
  box-shadow:0 10px 24px -18px rgba(0,0,0,.9)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .dialogue-row .dialogue-bubble p{color:#ece6d6!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .dialogue-name{color:color-mix(in srgb,var(--speaker-color,#9dbcf5) 55%,#ffffff)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .dialogue-avatar{box-shadow:0 0 0 3px #0e1a33,0 0 0 4px rgba(232,210,154,.55)!important}
/* 人物見出し（person-marker） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel :is(.relationship-entry,.relationship-list,.person-marker) :is(small,span,em,b){color:var(--nc-gold)!important}

/* ---------- 他キャラクターへの印象：人物カード ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-list{
  display:grid!important;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important;gap:14px!important;margin:18px 0 8px!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry{
  margin:0!important;padding:18px 18px 16px!important;border-radius:10px!important;min-width:0;
  background:linear-gradient(180deg,rgba(32,52,92,.55),rgba(14,26,50,.75))!important;
  border:1px solid rgba(232,210,154,.22)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 16px 30px -24px rgba(0,0,0,.9)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry.relationship-pair{
  grid-column:1/-1;border-color:rgba(232,210,154,.5)!important;
  background:radial-gradient(120% 120% at 0 0,rgba(157,188,245,.14),transparent 60%),linear-gradient(180deg,rgba(32,52,92,.65),rgba(14,26,50,.8))!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry>header{
  display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 12px!important;padding:0 0 12px!important;
  border-bottom:1px solid rgba(232,210,154,.18)!important;flex-wrap:wrap;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry>header img{
  width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:50%!important;object-fit:cover;margin:0!important;
  box-shadow:0 0 0 2px #0e1a33,0 0 0 3px rgba(232,210,154,.6)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry>header h4{
  margin:0!important;font-family:var(--nc-serif)!important;font-size:1.12rem!important;letter-spacing:.14em!important;color:#f3ecdc!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry>header span{
  padding:2px 10px!important;border-radius:999px!important;border:1px solid rgba(232,210,154,.45)!important;
  font-size:.74rem!important;letter-spacing:.08em!important;color:var(--nc-gold)!important;background:rgba(232,210,154,.08)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry>p{margin:0 0 8px!important;line-height:1.85!important;font-size:.95rem!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry .story-list{margin:4px 0 10px!important;padding:0!important;list-style:none!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry .relationship-address{
  font-size:.84rem!important;line-height:1.7!important;color:#c7d0de!important;padding-left:1.3em!important;position:relative;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry .relationship-address::before{
  content:"";position:absolute;left:0;top:.62em;width:.6em;height:.6em;border-radius:50%;background:radial-gradient(circle,#f3e3b5 0 25%,var(--nc-blue) 30% 100%);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry dl{
  display:flex!important;flex-wrap:wrap;align-items:baseline;gap:6px 10px!important;margin:0!important;padding:10px 0 0!important;border:0!important;border-top:1px dashed rgba(232,210,154,.2)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry dt{
  margin:0!important;font-size:.7rem!important;letter-spacing:.2em!important;color:var(--nc-gold)!important;font-family:var(--nc-serif)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-entry dd{margin:0!important;font-size:.88rem!important;color:#e3dfd3!important;line-height:1.7!important}

/* ---------- 物の札（勿忘草の留め具付き日記など） ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader #textPanel .evidence-inline{
  border:1px solid rgba(232,210,154,.35)!important;border-radius:10px!important;
  background:radial-gradient(80% 120% at 0 50%,rgba(157,188,245,.14),transparent 60%),linear-gradient(180deg,rgba(24,40,72,.92),rgba(12,22,42,.95))!important;
}

/* ---------- 場面カード：文字が背景に溶けないように ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#reader,#commonReader) .story-marker.scene-marker{
  background-image:linear-gradient(90deg,rgba(5,11,24,.88) 0%,rgba(5,11,24,.55) 55%,rgba(5,11,24,.25) 100%),var(--marker-bg)!important;
  background-size:cover!important;background-position:center!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#reader,#commonReader) .story-marker.scene-marker h4{color:#fff6dd!important;text-shadow:0 2px 10px rgba(0,0,0,.95)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#reader,#commonReader) .story-marker.scene-marker>p{
  color:#ffffff!important;opacity:1!important;font-family:var(--nc-serif)!important;font-size:1.25rem!important;font-weight:600!important;letter-spacing:.2em!important;
  text-shadow:0 2px 12px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.9)!important;
}

@media (max-width:760px){
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel{
    background-position:12px 12px,12px calc(100% - 12px),12px 12px,calc(100% - 12px) 12px,0 0,0 0,0 0!important;
    background-size:calc(100% - 24px) 1px,calc(100% - 24px) 1px,1px calc(100% - 24px),1px calc(100% - 24px),auto,auto,auto!important;
  }
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel .relationship-list{grid-template-columns:1fr!important}
}
/* 人物欄・カード全般も文節で改行 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) :is(#reader .character-header,#publicProfile,.vote-form,#readingConfirm,#lockPanel) :is(p,h2,h3,h4,blockquote){word-break:auto-phrase;line-break:strict;text-wrap:pretty}
@media (max-width:760px){
  /* 縦線を減らす：外枠の線を消し、紙の枠は四隅の飾りだけに */
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader .ho-workspace>.chapter-panel{border:0!important;background:none!important;box-shadow:none!important;padding-inline:0!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2):not(.gm-mode) #reader #textPanel{
    background:radial-gradient(90% 30% at 50% 0,rgba(157,188,245,.13),transparent 70%),linear-gradient(180deg,#13213f 0%,#0e1a33 40%,#0a142a 100%)!important;
    padding:52px 22px 44px!important;
  }
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header>div{max-width:60%!important}
  html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .character-header .handout-intro{font-size:.88rem!important;line-height:1.7!important}
}

/* =========================================================
   第5弾：提案1〜4
   ========================================================= */

/* ---------- 4) GM画面の右側タブ：栞に統一 ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-handout-dock{
  background:linear-gradient(180deg,rgba(7,15,31,.97),rgba(7,15,31,.9))!important;border:0!important;border-bottom:1px solid var(--nc-gold-dim)!important;
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:0!important;box-shadow:0 14px 30px -22px rgba(0,0,0,.95)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-chapter-tabs{gap:2px!important;border:0!important;background:none!important;align-items:flex-end!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-chapter-tabs>button,
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-chapter-tabs .gm-person-read{
  position:relative;min-height:44px!important;border:0!important;border-radius:8px 8px 0 0!important;background:transparent!important;box-shadow:none!important;
  color:var(--nc-faint)!important;font-family:var(--nc-serif)!important;font-weight:600!important;letter-spacing:.08em!important;
  transition:color .35s var(--nc-ease),background .35s var(--nc-ease);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-chapter-tabs>button:hover,
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-chapter-tabs .gm-person-read:hover{color:var(--nc-text)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-chapter-tabs>button:is(.active,[aria-current="true"],[aria-pressed="true"]),
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-chapter-tabs .gm-person-tab.active .gm-person-read{
  color:var(--nc-gold)!important;background:linear-gradient(180deg,transparent,rgba(232,210,154,.08))!important;box-shadow:inset 0 -2px 0 var(--nc-gold)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-chapter-tabs .gm-person-tab{
  display:flex!important;align-items:flex-end!important;gap:2px!important;border:0!important;background:none!important;box-shadow:none!important;padding:0!important;
}
/* 人物の切り替え：小さな「▾」の札 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader #gmPersonSelect{
  -webkit-appearance:none!important;appearance:none!important;align-self:center!important;
  width:30px!important;min-width:30px!important;height:30px!important;min-height:30px!important;padding:0!important;margin:0 4px 6px 0!important;
  border-radius:50%!important;border:1px solid rgba(232,210,154,.5)!important;color:transparent!important;cursor:pointer;
  background:rgba(7,15,31,.8) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5l3 3 3-3' fill='none' stroke='%23e8d29a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader #gmPersonSelect option{color:#0d1a30;background:#f6f0e2}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader #gmPersonSelect:hover{background-color:rgba(232,210,154,.15)!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-handout-dock .chapter-local-nav button{
  min-height:32px!important;padding:4px 12px!important;border-radius:var(--nc-r-pill)!important;border:1px solid transparent!important;background:none!important;
  color:var(--nc-sub)!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:.06em!important;box-shadow:none!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader .gm-handout-dock .chapter-local-nav button:hover{color:var(--nc-gold)!important;border-color:var(--nc-gold-dim)!important}
/* GMのハンドアウト本文も夜の書簡に（文字色は既存の明るい色のまま） */
html.rv-nocturne body.reading-compact.gm-mode[data-view]:not(.rv-x):not(#nc1):not(#nc2) #reader #textPanel{
  border:1px solid rgba(201,173,109,.3)!important;border-radius:4px!important;
  background:radial-gradient(90% 30% at 50% 0,rgba(157,188,245,.12),transparent 70%),linear-gradient(180deg,#13213f 0%,#0e1a33 40%,#0a142a 100%)!important;
}

/* ---------- 2) 公開プロフィール・人物選び：学園の門と勿忘草 ---------- */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile.public-profile{
  position:relative;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(7,15,31,.55) 0%,rgba(7,15,31,.86) 45%,rgba(7,15,31,.97) 100%),
    radial-gradient(600px 320px at 25% 10%,color-mix(in srgb,var(--cast-color,#9dbcf5) 22%,transparent),transparent 65%),
    url("assets/promo/academy-gate.fast.webp") center 20%/cover no-repeat!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile.public-profile::after{
  content:"";position:absolute;right:-30px;bottom:-30px;width:240px;height:300px;pointer-events:none;opacity:.35;
  background:url("assets/safe-e37212013b9a6426.webp") center/contain no-repeat;filter:drop-shadow(0 0 20px rgba(157,188,245,.3));
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile>*{position:relative;z-index:1}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile .cast-guide>img{
  background:
    radial-gradient(80% 60% at 50% 30%,color-mix(in srgb,var(--cast-color,#9dbcf5) 35%,transparent),transparent 70%),
    linear-gradient(180deg,rgba(26,47,90,.85),rgba(11,23,48,.92))!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #startMenu{
  position:relative;border-radius:var(--nc-r-card)!important;overflow:hidden;
  background:linear-gradient(180deg,rgba(7,15,31,.5) 0%,rgba(7,15,31,.88) 40%,rgba(7,15,31,.97) 100%),url("assets/promo/academy-gate.fast.webp") center 20%/cover no-repeat!important;
  border:1px solid var(--nc-gold-dim)!important;
}

/* ---------- 1) 場面転換の幕：場面カードが画面に入ると、絵が中央から開き、場所の名前が浮かぶ ---------- */
html.rv-nocturne.nc-motion :is(#readingText,#textPanel) .story-marker.scene-marker.nc-curtain{
  clip-path:inset(0 50% 0 50% round 6px);transition:clip-path 1.1s var(--nc-ease);
}
html.rv-nocturne.nc-motion :is(#readingText,#textPanel) .story-marker.scene-marker.nc-curtain>*{
  opacity:0;transform:translateY(10px);transition:opacity .7s var(--nc-ease) .55s,transform .9s var(--nc-ease) .55s;
}
html.rv-nocturne.nc-motion :is(#readingText,#textPanel) .story-marker.scene-marker.nc-curtain>p{transition-delay:.85s}
html.rv-nocturne.nc-motion :is(#readingText,#textPanel) .story-marker.scene-marker.nc-curtain.nc-in{clip-path:inset(0 0 0 0 round 6px)}
html.rv-nocturne.nc-motion :is(#readingText,#textPanel) .story-marker.scene-marker.nc-curtain.nc-in>*{opacity:1;transform:none}

/* ---------- 3) 投票を送ると、封をした手紙がふわりと現れて消える ---------- */
.nc-seal-veil{
  position:fixed;inset:0;z-index:2147483000;pointer-events:none;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 50%,rgba(7,15,31,.55),rgba(7,15,31,.82));
  animation:nc-veil 2s var(--nc-ease) forwards;
}
.nc-seal-veil img{width:min(300px,62vw);height:auto;filter:drop-shadow(0 24px 40px rgba(0,0,0,.7)) drop-shadow(0 0 40px rgba(157,188,245,.35));animation:nc-seal 2s var(--nc-ease) forwards}
.nc-seal-veil::after{
  content:"";position:absolute;width:min(420px,80vw);height:min(420px,80vw);border-radius:50%;
  background:radial-gradient(closest-side,rgba(157,188,245,.35),transparent);animation:nc-glow 2s var(--nc-ease) forwards;
}
@keyframes nc-veil{0%{opacity:0}15%{opacity:1}75%{opacity:1}100%{opacity:0}}
@keyframes nc-seal{0%{transform:translateY(30px) scale(.7) rotate(-8deg);opacity:0}30%{transform:translateY(0) scale(1.04) rotate(-3deg);opacity:1}45%{transform:scale(.98) rotate(-3deg)}75%{transform:scale(1) rotate(-3deg);opacity:1}100%{transform:translateY(-40px) scale(.9) rotate(-3deg);opacity:0}}
@keyframes nc-glow{0%,30%{transform:scale(.4);opacity:0}45%{transform:scale(1);opacity:1}100%{transform:scale(1.3);opacity:0}}
/* プロフィールの花束は小さく右下の角に（文字に重ねない） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile.public-profile::after{width:130px!important;height:170px!important;right:-18px!important;bottom:-22px!important;opacity:.3!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile>p{max-width:calc(100% - 110px)}
@media (max-width:760px){html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) #publicProfile>p{max-width:none}}

/* =========================================================
   選択肢ボタン：押したかどうかがひと目で分かるように
   （aria-pressed を持つ選択肢は金の主ボタンにしない。選ばれたものだけ金縁＋✓）
   ========================================================= */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed]:not(.reading-stage-tab):not([style*="--scene-bg"]){
  position:relative;min-height:46px!important;padding:10px 18px!important;border-radius:12px!important;
  background:linear-gradient(180deg,rgba(24,40,72,.92),rgba(12,22,42,.95))!important;background-image:linear-gradient(180deg,rgba(24,40,72,.92),rgba(12,22,42,.95))!important;
  border:1px solid rgba(157,188,245,.28)!important;color:#dfe5ef!important;
  font-family:var(--nc-serif)!important;font-weight:600!important;letter-spacing:.1em!important;
  box-shadow:0 10px 22px -16px rgba(0,0,0,.9)!important;transform:none!important;
  transition:border-color .25s var(--nc-ease),box-shadow .25s var(--nc-ease),background .25s var(--nc-ease),color .25s!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed]:not(.reading-stage-tab)::before,
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed]:not(.reading-stage-tab)::after{content:none!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed]:not(.reading-stage-tab):not(:disabled):hover{border-color:rgba(232,210,154,.6)!important;color:#fff!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed="true"]:not(.reading-stage-tab):not([style*="--scene-bg"]){
  background:linear-gradient(180deg,rgba(232,210,154,.3),rgba(232,210,154,.1))!important;background-image:linear-gradient(180deg,rgba(232,210,154,.3),rgba(232,210,154,.1))!important;
  border:2px solid var(--nc-gold)!important;color:#fff4d6!important;
  box-shadow:0 0 0 3px rgba(232,210,154,.18),0 0 26px -4px rgba(232,210,154,.7)!important;
}
/* 選ばれた印：右上の金の✓ */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed="true"]:not(.reading-stage-tab)::after{
  content:""!important;position:absolute;top:-9px;right:-9px;width:24px;height:24px;border-radius:50%;z-index:3;
  background:var(--nc-gold) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23101b33' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
  box-shadow:0 0 0 2px #0b1528,0 4px 10px rgba(0,0,0,.5);
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed]:not(.reading-stage-tab):disabled{opacity:.55}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed="true"]:not(.reading-stage-tab):disabled{opacity:1}

/* 人物の札（最多票）：立ち絵がぴったり収まる額縁 */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .announced-options{gap:10px!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.cast-vote[aria-pressed]{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-end!important;
  min-height:0!important;height:auto!important;aspect-ratio:3/4;padding:8px 6px 10px!important;overflow:hidden;border-radius:12px!important;
  background:radial-gradient(90% 60% at 50% 35%,rgba(157,188,245,.18),transparent 70%),linear-gradient(180deg,rgba(24,40,72,.9),rgba(10,20,38,.96))!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.cast-vote[aria-pressed]>:first-child{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:flex-end;justify-content:center}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.cast-vote[aria-pressed] img{max-height:100%!important;max-width:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;object-position:bottom!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.cast-vote[aria-pressed="true"]{
  background:radial-gradient(90% 60% at 50% 35%,rgba(232,210,154,.3),transparent 70%),linear-gradient(180deg,rgba(40,52,80,.95),rgba(14,22,40,.96))!important;
}
/* 人物札の✓は枠の内側に */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button.cast-vote[aria-pressed="true"]::after{top:6px!important;right:6px!important;width:20px!important;height:20px!important;background-size:12px!important}
/* ペア欄：立ち絵を額の上端から下端までぴったり（余白なし） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .flow-pair-options fieldset{display:flex!important;flex-direction:column!important;gap:8px!important;padding-top:14px!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .flow-pair-options .choice-cast{
  display:flex!important;align-items:flex-end!important;justify-content:center!important;gap:0!important;height:200px!important;min-height:0!important;margin:0 0 4px!important;
  border-radius:10px;overflow:hidden;border-bottom:1px solid rgba(232,210,154,.25);
  background:radial-gradient(70% 70% at 50% 60%,rgba(157,188,245,.16),transparent 70%)!important;
}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .flow-pair-options .choice-cast img{height:100%!important;width:auto!important;max-width:50%!important;object-fit:contain!important;object-position:bottom!important;margin:0!important}
/* 立ち絵の画像は上部が透明なので、大きめに置いて下揃え（上の透明部分は額の外へ） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .flow-pair-options .choice-cast img{height:150%!important;max-width:none!important;margin:0 -20px!important;flex:0 0 auto}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .flow-pair-options .choice-cast{align-items:flex-start!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .flow-pair-options .choice-cast img{height:135%!important;margin:-70px -14px 0!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .flow-pair-options .choice-cast img{height:112%!important;margin:-14px -10px 0!important}

/* 場面の絵が入った選択（A/Bなど）：絵は残し、選ぶと金縁＋✓ */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed][style*="--scene-bg"]{position:relative;transition:box-shadow .25s var(--nc-ease),outline-color .25s!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed="true"][style*="--scene-bg"]{
  outline:2px solid var(--nc-gold)!important;outline-offset:2px!important;box-shadow:0 0 0 5px rgba(232,210,154,.15),0 0 28px -4px rgba(232,210,154,.7)!important;
}
/* ✓は枠の内側の右上角に（はみ出さない） */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[aria-pressed="true"]:not(.reading-stage-tab)::after{top:6px!important;right:6px!important;width:20px!important;height:20px!important;background-size:12px!important;box-shadow:0 0 0 2px rgba(11,21,40,.9)!important}
/* 画面の切り替え（読み合わせ／ハンドアウト）は選択肢ではないので✓なし */
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) button[data-pane-view][aria-pressed]::after{content:none!important}
html.rv-nocturne body.reading-compact[data-view]:not(.rv-x):not(#nc1):not(#nc2) .gm-mobile-panes button[aria-pressed]::after{content:none!important}
