#moralityWorkspace #moralityBulletin { color:#a46b2d; }
.morality-bulletin-dialog { box-sizing:border-box; width:min(920px,calc(100vw - 24px)); max-height:min(760px,calc(100dvh - 28px)); margin:auto; padding:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; color:var(--ink); background:var(--surface); box-shadow:0 24px 72px rgb(15 23 42 / 24%); }
.morality-bulletin-dialog::backdrop { background:rgb(15 23 42 / 55%); }
.morality-bulletin-dialog > header { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid var(--line); }
.morality-bulletin-dialog h2 { margin:0 0 10px; font-size:20px; }
.morality-bulletin-tools { display:flex; align-items:center; gap:8px; }
.morality-bulletin-tools label { display:block; margin:0; line-height:0; }
.morality-bulletin-play { display:inline-flex; align-items:center; justify-content:center; gap:6px; flex:none; height:36px; min-height:36px; margin:0; padding:4px 11px; border:1px solid #bba069; border-radius:10px; color:#74521f; background:#fff7e5; font-size:14px; font-weight:700; white-space:nowrap; cursor:pointer; }
.morality-bulletin-play:hover, .morality-bulletin-play:focus-visible { background:#f9e9bd; }
.morality-bulletin-play svg { width:18px; height:18px; }
.morality-bulletin-dialog select { box-sizing:border-box; width:120px; min-height:36px; margin:0; padding:4px 28px 4px 10px; font-size:14px; }
.morality-bulletin-close { display:grid; place-items:center; flex:0 0 38px; width:38px; min-width:38px; height:38px; min-height:38px; margin:0; padding:0; border:0; border-radius:10px; color:var(--ink); background:var(--surface-soft); cursor:pointer; }
.morality-bulletin-close svg { width:20px; height:20px; }
.morality-bulletin-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; max-height:calc(min(760px,100dvh - 28px) - 108px); overflow:auto; }
.morality-bulletin-columns section { min-width:0; padding:16px 18px 22px; }
.morality-bulletin-columns section + section { border-left:1px solid var(--line); }
.morality-bulletin-heading { display:flex; align-items:baseline; justify-content:space-between; gap:8px; margin-bottom:12px; }
.morality-bulletin-heading h3 { margin:0; font-size:18px; }
.morality-bulletin-count { color:var(--muted); font-size:12px; }
.morality-bulletin-list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.morality-bulletin-list li { min-width:0; padding:11px 12px; border:1px solid color-mix(in srgb,#0b7960 25%,var(--line)); border-radius:12px; background:color-mix(in srgb,#0b7960 4%,var(--surface)); color:var(--ink); }
[data-bulletin-column="minus"] .morality-bulletin-list li { border-color:color-mix(in srgb,#bd493f 25%,var(--line)); background:color-mix(in srgb,#bd493f 4%,var(--surface)); }
.morality-bulletin-person { display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.morality-bulletin-person strong { font-size:15px; overflow-wrap:anywhere; }
.morality-bulletin-person b { flex:none; color:#0b7960; font-size:20px; font-variant-numeric:tabular-nums; }
[data-bulletin-column="minus"] .morality-bulletin-person b { color:#bd493f; }
.morality-bulletin-list p { margin:5px 0 0; color:var(--ink); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.morality-bulletin-list .morality-bulletin-empty { color:var(--muted); text-align:center; background:var(--surface-soft); border-color:var(--line); font-size:13px; }
:root.theme-dark #moralityWorkspace #moralityBulletin { color:#e8b46f; }
:root.theme-dark .morality-bulletin-person b { color:#62d8ae; }
:root.theme-dark [data-bulletin-column="minus"] .morality-bulletin-person b { color:#ff9a90; }
:root.theme-dark .morality-bulletin-play { border-color:#8c713f; color:#ffe4aa; background:#3a3023; }
:root.theme-dark .morality-bulletin-play:hover,:root.theme-dark .morality-bulletin-play:focus-visible { background:#51412a; }
@media(max-width:600px) {
  .morality-bulletin-dialog { width:calc(100vw - 16px); max-height:calc(100dvh - 16px); border-radius:14px; }
  .morality-bulletin-dialog > header { padding:12px; }
  .morality-bulletin-dialog h2 { font-size:17px; }
  .morality-bulletin-columns { max-height:calc(100dvh - 112px); }
  .morality-bulletin-columns section { padding:10px 7px 16px; }
  .morality-bulletin-heading { display:block; min-height:38px; }
  .morality-bulletin-heading h3 { font-size:15px; }
  .morality-bulletin-count { font-size:11px; }
  .morality-bulletin-list li { padding:8px 7px; }
  .morality-bulletin-person strong { font-size:13px; }
  .morality-bulletin-person b { font-size:16px; }
  .morality-bulletin-list p { font-size:12px; }
}

.morality-week-replay[open] { display:block; position:fixed; inset:0; box-sizing:border-box; width:100%; min-width:100%; max-width:100%; height:100dvh; max-height:100dvh; margin:0; padding:0; border:0; border-radius:0; overflow:auto; color:#fff; background:#060c19; z-index:99999; cursor:pointer; touch-action:manipulation; }
.morality-week-replay::backdrop { background:#060c19; }
.morality-week-replay:focus-visible { outline:2px solid #f1d8a0; outline-offset:-7px; }
.morality-week-replay .promotion-stage { padding-top:82px; padding-bottom:46px; }
.morality-week-replay .promotion-transform { width:clamp(150px,23vh,230px); height:clamp(150px,23vh,230px); }
.morality-week-replay .promotion-title { margin:12px 0 5px; }
.morality-week-replay .promotion-name { margin-bottom:5px; }
.morality-week-replay .promotion-score { margin-top:5px; }
.morality-week-replay .promotion-stage > .week-replay-columns { margin-top:16px; }
.morality-week-replay .promotion-stage > .week-replay-columns section { max-height:17vh; }
.week-replay-settlement { margin:5px 0 0; color:#d6deee; font-size:12px; }
.week-replay-progress { position:absolute; z-index:3; top:max(22px,env(safe-area-inset-top)); left:clamp(18px,4vw,60px); right:clamp(18px,4vw,60px); display:flex; align-items:center; justify-content:space-between; gap:10px; color:#d8dfeb; font-size:13px; letter-spacing:1px; text-align:left; }
.week-replay-progress span:last-child { color:#9daec9; font-size:11px; white-space:nowrap; }
.week-replay-track { position:absolute; z-index:3; top:calc(max(22px,env(safe-area-inset-top)) + 27px); left:clamp(18px,4vw,60px); right:clamp(18px,4vw,60px); height:3px; overflow:hidden; border-radius:5px; background:#ffffff29; }
.week-replay-track i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#c88b50,var(--shine)); transition:width .45s ease; }
.week-replay-kicker { margin:0 0 14px; color:var(--shine); font-size:14px; font-weight:700; letter-spacing:5px; }
.week-replay-emblem { width:clamp(120px,24vh,218px); height:clamp(120px,24vh,218px); display:grid; place-items:center; filter:drop-shadow(0 0 18px color-mix(in srgb,var(--gem) 45%,transparent)); }
.week-replay-emblem > span { position:absolute; z-index:1; color:var(--shine); font-size:clamp(16px,3vw,22px); font-weight:800; text-shadow:0 2px 10px #000; }
.week-replay-emblem .rank-panel { fill:#0c172c; }
.week-replay-name { margin:12px 0 1px; color:#fff9ed; font-size:clamp(28px,5vw,42px); line-height:1.3; overflow-wrap:anywhere; }
.week-replay-rank { margin:0 0 13px; color:var(--shine); font-size:14px; }
.week-replay-score { display:flex; align-items:center; justify-content:center; gap:13px; margin-bottom:21px; color:#ccd5e4; font-size:16px; font-variant-numeric:tabular-nums; }
.week-replay-score strong { color:#fff; font-size:23px; }
.week-replay-score b { min-width:44px; font-size:20px; }
.week-replay-score .positive { color:#69e2b9; }
.week-replay-score .negative { color:#ff9b9b; }
.week-replay-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; width:min(650px,100%); text-align:left; }
.week-replay-columns section { min-width:0; max-height:26vh; padding:14px 16px; overflow:auto; border:1px solid #ffffff2e; border-radius:15px; background:#ffffff0c; }
.week-replay-columns h3 { display:flex; justify-content:space-between; margin:0 0 8px; color:#76e1bd; font-size:16px; }
.week-replay-columns section + section h3 { color:#ffadad; }
.week-replay-columns h3 span { font-variant-numeric:tabular-nums; }
.week-replay-columns ul { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.week-replay-columns li { display:flex; justify-content:space-between; gap:10px; color:#e7edf7; font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.week-replay-columns li b { flex:none; color:#76e1bd; font-variant-numeric:tabular-nums; }
.week-replay-columns section + section li b { color:#ffadad; }
.week-replay-columns .week-replay-empty { color:#aebbd0; }
@media(max-width:600px) {
  .morality-week-replay .promotion-stage { padding:76px 15px max(28px,env(safe-area-inset-bottom)); }
  .morality-week-replay .promotion-transform { width:clamp(124px,20vh,180px); height:clamp(124px,20vh,180px); }
  .morality-week-replay .promotion-stage > .week-replay-columns { margin-top:11px; }
  .week-replay-progress { font-size:11px; }
  .week-replay-progress span:last-child { font-size:10px; }
  .week-replay-emblem { width:clamp(110px,22vh,170px); height:clamp(110px,22vh,170px); }
  .week-replay-name { margin-top:7px; }
  .week-replay-score { margin-bottom:13px; font-size:14px; }
  .week-replay-columns { gap:7px; }
  .week-replay-columns section { max-height:29vh; padding:10px 8px; border-radius:11px; }
  .week-replay-columns h3 { font-size:14px; }
  .week-replay-columns li { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .morality-week-replay * { animation:none!important; transition:none!important; } .morality-week-replay .promotion-old,.morality-week-replay .promotion-shards,.morality-week-replay .promotion-break-flash { display:none!important; } .morality-week-replay .promotion-emblem { opacity:1; transform:none; filter:none; } }
