/* Only the three review phases are restyled. Removing the attribute restores the original game. */
#app[data-review-phase] {--paper:#f3ead6;--ink:#173148;--brass:#ae8447;}
#app[data-review-phase] #phaser,#app[data-review-phase] .grain {visibility:hidden}
#app[data-review-phase] .route i {background:#d9b36d;box-shadow:none}
#app[data-review-phase] button:focus-visible {outline:3px solid #d0a459;outline-offset:4px}
#app[data-review-phase] button:disabled {cursor:default}
#app[data-review-phase] [hidden] {display:none!important}
#app[data-review-phase="intro"]:before {background-image:url('assets/real/train-window-route.webp');background-position:center;opacity:1;filter:saturate(.82)}
#app[data-review-phase="intro"]:after {background:linear-gradient(90deg,#061b35ce, #09203c55 63%,#0b203b22),linear-gradient(0deg,#031a33c9,transparent 65%)}
#app[data-review-phase="intro"] .cinema-bar,#app[data-review-phase="intro"] .together-mark {display:none}
#app[data-review-phase="intro"] .intro-copy {top:18%;left:12%;max-width:750px}
#app[data-review-phase="intro"] .intro-copy .chapter {color:#e3c58e;font-weight:500;letter-spacing:.2em}
#app[data-review-phase="intro"] .intro-copy h1 {font-family:KaiTi,STKaiti,serif;letter-spacing:.07em;font-size:clamp(48px,6vw,80px);line-height:1.15;text-shadow:0 3px 18px #04172955;margin:20px 0}
#app[data-review-phase="intro"] .intro-copy>p:last-child {color:#e1e2dc;font-size:clamp(14px,1.6vw,19px);line-height:1.9}
#app[data-review-phase="intro"] .merge-stage {left:12%;right:12%;bottom:20%;max-width:850px;margin:auto;gap:24px}
#app[data-review-phase="intro"] .merge-stage:before,#app[data-review-phase="intro"] .merge-stage:after {display:none}
#app[data-review-phase="intro"] .signal {width:220px;height:108px;flex-shrink:0;border:1px solid #c5a772;border-radius:5px;background:linear-gradient(115deg,#fff8e9,#e9dabb);color:#173148;box-shadow:0 10px 22px #00102144,inset 0 0 0 5px #ffffff55;position:relative;transition:box-shadow .2s}
#app[data-review-phase="intro"] .signal:before {content:"";position:absolute;left:12px;right:12px;bottom:31px;border-bottom:1px dashed #ad915c66}
#app[data-review-phase="intro"] .signal small {display:block;font-size:10px;font-weight:400;color:#8c734c;margin-bottom:7px}
#app[data-review-phase="intro"] .signal span {display:block;font-size:19px;font-weight:700;letter-spacing:.1em}
#app[data-review-phase="intro"] .signal em {display:block;font-size:10px;font-style:normal;color:#8c734c;margin-top:14px}
#app[data-review-phase="intro"] .merge-core {opacity:.85;color:#f4ebd8}
#app[data-review-phase="intro"] .merge-core strong {font-weight:500;font-size:44px}
#app[data-review-phase="intro"] .merge-core i {background:#dbc08c;box-shadow:0 0 0 5px #e3c89220;width:6px;height:6px}
#app[data-review-phase="intro"] .gesture {bottom:11%;color:#d8d8ce;font-size:12px;text-align:center;width:90%;line-height:1.8}
#app[data-review-phase="intro"] .skip {bottom:5%;color:#c7cfcf}
#app[data-review-phase="intro"] .hud button {color:#e7e1d4}
#app[data-review-phase="consensus"]:before {background-image:url('assets/refined/station.png');opacity:.45;filter:saturate(.65);background-position:center 65%}
#app[data-review-phase="practice"]:before {opacity:.45;filter:saturate(.65) blur(2px)}
#app[data-review-phase="consensus"]:after,#app[data-review-phase="practice"]:after {background:linear-gradient(#08223add,#071c3388 45%,#061a30dc)}
#app[data-review-phase="consensus"] .mission,#app[data-review-phase="practice"] .mission {padding-top:115px;scroll-padding:30px}
#app[data-review-phase="consensus"] .mission-head,#app[data-review-phase="practice"] .mission-head {background:none;padding:8px 0;max-width:880px}
#app[data-review-phase="consensus"] .mission-head h2,#app[data-review-phase="practice"] .mission-head h2 {font-size:clamp(25px,3vw,36px);font-weight:500;white-space:normal;line-height:1.35;margin:8px 0}
#app[data-review-phase="consensus"] .mission-head .chapter,#app[data-review-phase="practice"] .mission-head .chapter {color:#dfc58f;font-size:11px;font-weight:400;letter-spacing:.12em}
#app[data-review-phase="consensus"] .mission-head>p:last-child,#app[data-review-phase="practice"] .mission-head>p:last-child {color:#b9c8ce;font-size:13px;line-height:1.7;margin:10px 0}
#app[data-review-phase] .scene-badge {background:none;border-left:1px solid #c6a467;color:#dac79f;font-weight:400;letter-spacing:.08em}
#app[data-review-phase] .chapter-ribbon {display:none}
#app[data-review-phase="consensus"] #level-area,#app[data-review-phase="practice"] #level-area {width:min(840px,100%);min-height:0;margin:18px auto 24px;display:block;padding:0}
#app[data-review-phase="consensus"] #feedback,#app[data-review-phase="practice"] #feedback {display:none}
.journal {width:100%;display:grid;grid-template-columns:230px minmax(0,1fr);align-items:stretch;border-radius:12px;box-shadow:0 25px 60px #0005;border:1px solid #b7986555;overflow:hidden;text-align:left}
.journal-art {background:linear-gradient(135deg,#24455a,#0e2a43);padding:26px 16px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden}
.journal-art:before {content:"";position:absolute;inset:12px;border:1px solid #e4c58c33;pointer-events:none}
.journal-art>span {color:#d9bf8d;font-size:11px;letter-spacing:.1em}
.journal-art img {width:100%;height:250px;object-fit:contain;filter:drop-shadow(0 12px 12px #01112666);margin:20px 0 10px}
.journal-art p {font:20px/1.8 KaiTi,STKaiti,serif;color:#eee1c1;margin:0;text-align:center}
.journal-page {background:linear-gradient(120deg,#fcf7eb,#f0e5cf);color:var(--ink);padding:27px 32px 20px;position:relative;min-width:0}
.journal-page:before {content:"";position:absolute;left:7px;top:0;bottom:0;border-left:1px solid #ae84471c;pointer-events:none}
.journal-header {display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ab8c5840;padding-bottom:15px;font-size:11px;letter-spacing:.1em;color:#8b6d3a}
.journal-header b {font-family:Georgia,serif;font-weight:400;font-size:15px}
.journal-index {display:flex;justify-content:space-between;gap:12px;list-style:none;margin:19px 0 26px;padding:0;font-size:11px;color:#8a8d86}
.journal-index li {display:flex;gap:5px;align-items:center;white-space:nowrap}
.journal-index i {display:grid;place-items:center;border:1px solid #b6b4a8;border-radius:50%;width:18px;height:18px;font:10px Georgia,serif}
.journal-index li.current {color:#173148}
.journal-index li.current i {border-color:#a17c3e;color:#84642f}
.journal-index li.confirmed {color:#8f7039}
.journal-index li.confirmed i {background:#a0834b;border-color:#a0834b;color:#fff}
.journal-content small {color:#967549;font-size:11px}
.journal-content h3 {font:500 31px/1.4 KaiTi,STKaiti,serif;margin:9px 0 14px;outline:0}
.journal-content p {color:#51616b;font-size:14px;line-height:1.95;margin:0}
.journal-content blockquote {margin:19px 0 10px;padding:10px 0 10px 13px;border-left:2px solid #bfa270;color:#7f673f;font-size:12px;line-height:1.8}
.journal-seal {height:34px;text-align:right;font:16px/30px KaiTi,serif;color:#937142;opacity:0;transform:rotate(-5deg) scale(1.2);transition:opacity .2s,transform .25s}
.journal-seal.visible {opacity:1;transform:rotate(-5deg) scale(1)}
.journal-confirm,.journal-next {width:100%;min-height:46px;background:#17384f;border:1px solid #17384f;border-radius:5px;color:#f8edda;font-size:14px;cursor:pointer;padding:12px 18px;text-align:left;box-shadow:0 4px 0 #102a3a}
.journal-confirm span {float:right;color:#e4c181}
.journal-confirm:disabled {background:#a88b58;border-color:#a88b58;box-shadow:0 4px 0 #806942}
.journal-footer {font-size:10px;line-height:1.7;color:#9b917c;text-align:center;margin-top:16px}
.action-journal .journal-content {margin:22px 0 19px}
.action-journal .journal-content h3 {font-size:27px}
.action-options {display:grid;gap:9px}
.action-option {display:flex;align-items:center;gap:12px;width:100%;min-height:75px;padding:13px 14px;background:#fffcf3;border:1px solid #cfc0a1;border-radius:6px;color:#173148;text-align:left;cursor:pointer;transition:background .2s,border-color .2s}
.action-option>i {font:16px KaiTi,serif;width:26px;height:26px;flex-shrink:0;display:grid;place-items:center;border:1px solid #c0a879;border-radius:50%;font-style:normal;color:#927342}
.action-option>span {flex:1;min-width:0}
.action-option b {display:block;font-size:14px;line-height:1.5;font-weight:600}
.action-option small {display:block;font-size:11px;color:#7b827d;margin-top:4px;line-height:1.6}
.action-option>em {font-style:normal;color:#967a49}
.action-option:hover:not(:disabled) {border-color:#a1854f;background:#fff7e1}
.action-option.selected {background:#e6ddc4;border-color:#a5864a}
.action-option.not-selected {opacity:.55}
.action-response {margin:16px 0 13px;border-left:2px solid #a78749;padding-left:12px}
.action-response strong {font-size:11px;letter-spacing:.05em;color:#987743}
.action-response p {font-size:12px;line-height:1.85;margin:6px 0 0;color:#4c606d}
@media(max-width:650px){
  #app[data-review-phase="intro"] .intro-copy {left:7%;right:7%;top:17%;max-width:none}
  #app[data-review-phase="intro"] .intro-copy h1 {font-size:53px;margin:20px 0}
  #app[data-review-phase="intro"] .intro-copy>p:last-child {font-size:14px}
  #app[data-review-phase="intro"] .merge-stage {left:6%;right:6%;gap:8px;bottom:22%}
  #app[data-review-phase="intro"] .signal {width:120px;height:99px;padding:10px 5px}
  #app[data-review-phase="intro"] .signal small {font-size:8px}
  #app[data-review-phase="intro"] .signal span {font-size:15px}
  #app[data-review-phase="intro"] .signal em {font-size:8px;margin-top:16px}
  #app[data-review-phase="intro"] .merge-core {width:auto;min-width:44px}
  #app[data-review-phase="intro"] .merge-core strong {font-size:31px}
  #app[data-review-phase="intro"] .merge-core small {font-size:10px}
  #app[data-review-phase="intro"] .gesture {font-size:10px;bottom:12%}
  #app[data-review-phase="consensus"] .mission,#app[data-review-phase="practice"] .mission {padding:92px 16px 20px}
  #app[data-review-phase] .mission-head {padding:0 2px!important}
  #app[data-review-phase] .mission-head h2 {font-size:25px!important}
  #app[data-review-phase] .mission-head>p:last-child {font-size:11px!important;margin:8px 0!important}
  #app[data-review-phase] .scene-badge {top:52px;font-size:8px}
  .journal {grid-template-columns:1fr;border-radius:9px}
  .journal-art {height:88px;display:block;padding:14px 18px 12px 105px}
  .journal-art:before {inset:7px}
  .journal-art>span {font-size:9px;letter-spacing:.04em}
  .journal-art img {position:absolute;left:15px;bottom:-6px;width:83px;height:98px;margin:0;object-fit:contain}
  .journal-art p {font-size:15px;line-height:1.35;text-align:left;margin:5px 0 0}
  .journal-page {padding:19px 20px 15px}
  .journal-header {font-size:10px;padding-bottom:12px}
  .journal-index {gap:7px;font-size:9px;margin:16px 0 19px}
  .journal-index li {gap:4px}.journal-index i {width:16px;height:16px;font-size:9px}
  .journal-content h3 {font-size:27px;margin:7px 0 10px}
  .journal-content small {font-size:10px}
  .journal-content p {font-size:12px;line-height:1.9}
  .journal-content blockquote {font-size:11px;margin:13px 0 4px}
  .journal-confirm,.journal-next {min-height:44px;font-size:12px}
  .journal-seal {height:30px;font-size:14px}
  .journal-footer {font-size:9px;margin-top:13px}
  .action-journal .journal-content {margin:16px 0}
  .action-journal .journal-content h3 {font-size:23px}
  .action-option {padding:11px 10px;min-height:70px;gap:9px}
  .action-option b {font-size:12px}.action-option small {font-size:10px}.action-option>i {font-size:13px;width:22px;height:22px}
  .action-response p {font-size:11px}
}
@media(prefers-reduced-motion:reduce){#app[data-review-phase] .journal-seal {transition:none;transform:none}}
