/* V3.5 · readable typography, layered over the existing art direction. */
:root{--readable-font:"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",system-ui,sans-serif}
body:not(.game-page){font-family:var(--readable-font);font-weight:500}
body:not(.game-page) .device-note,body:not(.game-page) .topbar,body:not(.game-page) footer{font-size:13px;line-height:1.75;color:#ded3c1}
body:not(.game-page) .topbar button,body:not(.game-page) .secondary-menu,body:not(.game-page) .secondary-menu button{font-size:13px;font-weight:600;color:#e6d9c3}
body:not(.game-page) .opening h1{font-family:"Songti SC","STSong",serif;font-weight:700;letter-spacing:.06em}
body:not(.game-page) .opening .tagline{font-family:var(--readable-font);font-weight:650;color:#f0d8ad;letter-spacing:.025em}
body:not(.game-page) .opening .premise{font-size:16px;font-weight:500;line-height:1.9;color:#eee4d6}
body:not(.game-page) .opening .inventory{font-size:14px;font-weight:500;line-height:1.85;color:#d9cbb3}
body:not(.game-page) .opening .save-caption,body:not(.game-page) .opening .start-button small{font-size:13px;font-weight:600}
body:not(.game-page) .letter{color:#29231e}
body:not(.game-page) .letter h2{font-family:var(--readable-font);font-size:29px;font-weight:700;letter-spacing:.025em;line-height:1.45}
body:not(.game-page) .letter-body{font-family:var(--readable-font);font-size:17px;font-weight:500;line-height:1.9;letter-spacing:.015em}
body:not(.game-page) .letter-label,body:not(.game-page) figcaption{font-family:var(--readable-font);font-size:13px;font-weight:600;color:#574633}
body:not(.game-page) .letter-end{font-family:var(--readable-font);font-size:15px;font-weight:600;color:#69402b}
body.game-page{font-family:var(--readable-font);font-weight:500;letter-spacing:.012em}
body.game-page .mast h1,body.game-page .article h1,body.game-page .board-head h1,body.game-page .lab-head h1,body.game-page .lab-panel h2,body.game-page .work-card h2,body.game-page .scene-notes h2,body.game-page .related-trail h2,body.game-page .journal-summary h2,body.game-page .final-claim h3,body.game-page .source-card b,body.game-page .card b,body.game-page .visited-title,body.game-page .evidence-sidebar h3{font-family:var(--readable-font);font-weight:700;letter-spacing:.02em}
body.game-page .article{font-family:var(--readable-font);font-size:18px;font-weight:500;line-height:1.85;letter-spacing:.012em;color:#25231e}
body.game-page .article p,body.game-page .article li{line-height:1.85}
body.game-page .article th,body.game-page .article td{font-family:var(--readable-font);font-weight:500;line-height:1.6}
body.game-page .article th{font-weight:700}
body.game-page .article .date,body.game-page .article figcaption{font-family:var(--readable-font);font-size:14px;font-weight:600;color:#554f46}
body.game-page .article:before{font-size:11px;font-weight:700}
body.game-page .mast p{font-size:13px;font-weight:600;color:#514d44;letter-spacing:.04em}
body.game-page .card{line-height:1.6}
body.game-page .card b{font-size:19px}
body.game-page .card small,body.game-page .source-card small,body.game-page .evidence-entry small,body.game-page .timeline-card small,body.game-page .visited-path{font-family:var(--readable-font);font-size:12px;font-weight:600;color:#514d44;letter-spacing:.01em}
body.game-page .fake-note,body.game-page .archive-scope,body.game-page .evidence-mark,body.game-page .journal-summary span{font-family:var(--readable-font);font-size:13px;font-weight:600;color:#565249}
body.game-page .game-hud{font-family:var(--readable-font);font-weight:600}
body.game-page .case-mark b{font-family:var(--readable-font);font-size:18px;font-weight:700;letter-spacing:.06em}
body.game-page .case-mark small{font-size:10px;font-weight:600;color:#c2c8b9}
body.game-page .stage-readout,body.game-page .save-state{font-size:12px;color:#d5daca}
body.game-page .game-dock a{font-family:var(--readable-font);font-size:12px;font-weight:700;color:#d2d5c8}
body.game-page .game-dock a i{font-family:var(--readable-font);font-size:15px;font-weight:700;color:#eee4cf}
body.game-page .browser .browser-sidebar p{font-size:13px;line-height:1.75;color:#c9cebf}
body.game-page .browser .browser-sidebar .archive-chip{font-family:var(--readable-font);font-size:13px;font-weight:600;color:#d2d7c9;line-height:1.5}
body.game-page .browser .browser-sidebar .archive-chip small{font-size:11px;color:#b8c2b1}
body.game-page .browser .tabs,body.game-page .browser .address input{font-size:12px;font-weight:600;color:#cdd4c5}
body.game-page .board-head p,body.game-page .scene-notes p{font-size:16px;line-height:1.8;color:#e2ddcf}
.board.game-page .board-head{color:#292820}
.board.game-page .board-head h1{color:#25241f}
.board.game-page .board-head p{color:#47463e}
body.game-page .board .status,body.game-page .find-item,body.game-page .scene-tabs a{font-size:14px;font-weight:600;color:#e2dccd}
body.game-page .board .slot h3{font-size:13px;font-weight:700}
body.game-page .board .slot select,body.game-page .proof-select{font-family:var(--readable-font);font-size:13px!important;font-weight:500}
body.game-page .proof-warning{font-size:12px;font-weight:600}
body.game-page .work-card p,body.game-page .message small,body.game-page .evidence-tag,body.game-page .evidence-entry b{font-size:14px;font-weight:500;line-height:1.7;color:#46423b}
body.game-page .evidence-tag.on{color:#27251f}
body.game-page .route-node{font-family:var(--readable-font);font-weight:700}
.map-scroll-hint{display:none}
body.game-page .hint-panel{font-size:15px;line-height:1.75}
body.game-page .hint-panel h3{font-family:var(--readable-font);font-weight:700}
body.game-page .lab-panel,body.game-page .source-card,body.game-page .final-claim,body.game-page .review-grid{font-size:16px;line-height:1.8}
body.game-page select,body.game-page input,body.game-page textarea,body.game-page button{font-family:var(--readable-font)}
body.game-page .title-screen .intro h1{font-family:"Songti SC","STSong",serif;font-weight:700}
body.game-page .title-screen .intro .lead,body.game-page .title-sub,body.game-page .title-note{font-family:var(--readable-font);font-weight:600}
@media(max-width:720px){
  body:not(.game-page) .opening .premise{font-size:16px}
  body:not(.game-page) .opening .inventory{font-size:14px}
  body:not(.game-page) .letter h2{font-size:26px}
  body:not(.game-page) .letter-body{font-size:17px;line-height:1.9}
  body.game-page .article{font-size:17px;line-height:1.9}
  body.game-page .mast p{font-size:13px}
  body.game-page .game-dock a i{font-size:17px}
  body.game-page .board-head p,body.game-page .scene-notes p{font-size:15px}
  body.game-page .route-node{font-size:11px;font-weight:700}
  body.game-page .lab{overflow-x:auto}
  body.game-page .route-map{width:700px}
  body.game-page .route-node{min-width:100px;font-size:12px;padding:8px}
  .map-scroll-hint{display:block;color:#504b42;font-size:14px;font-weight:600;margin:0 0 10px}
}
