/* Semantic type, readable contrast, restrained reactions. */
:root{--fact:#f0cd83;--alert:#ffb1a7;--action:#99d4db;--confirmed:#badca5}
.ink-fact{color:var(--fact);font-weight:800;border-bottom:1px dotted currentColor}
.ink-alert{color:var(--alert);font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.ink-action{color:var(--action);font-weight:800}.ink-safe{color:var(--confirmed);font-weight:800}
:is(.dialogue-paper,.record,.visit-clue,.clue-detail,.paper-card,.guide-list article,.modal.paper,.first-steps,.bill){--fact:#754707;--alert:#8a2630;--action:#17566b;--confirmed:#285834}
.modal-body p{line-height:1.8;letter-spacing:-.015em}.modal h2{font-size:24px;font-weight:800;color:#f1e5bb;line-height:1.35}.speaker{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#295442;font:800 14px/1.4 'Malgun Gothic','Apple SD Gothic Neo',sans-serif;border-bottom:1px solid #62774d66;padding-bottom:5px}.dialogue-paper p{font-size:calc(16px * var(--font));line-height:1.65}.rule-line p{font-weight:500;font-size:calc(15px * var(--font));line-height:1.85}.rule-number{font-weight:900!important;color:#88383a!important;font-size:22px!important}.new-rule{background:#7c3632!important;color:#fff3cf!important;font-weight:800;padding:3px 6px}
.task-strip{border-left:5px solid #9d631f}.task-target strong{font-weight:800!important;font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif!important}.task-target small{color:#714916!important;font-weight:700}.task-strip:has(.task-target[data-act=respond]){border-left-color:#315d41}.actionrow button{font-weight:800;font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;letter-spacing:.03em}.actionrow .primary{box-shadow:inset 0 0 0 1px #b5c697,0 3px 0 #091c11}.actionrow .danger{border-color:#8a3d38;color:#842e31}.checked{font-weight:900}.completion-note{color:#b6d59d;font-weight:700}.modal.paper .completion-note{color:#295b36}.clue-detail small{color:#2c6040;font-weight:800}.inspect-purpose{color:#d0d6c6;font-family:'Malgun Gothic','Apple SD Gothic Neo',sans-serif;font-size:13px;border-color:#809889}.visit-clue h3{color:#78383a;font-weight:800}.visit-clue small{font-weight:700}.notebook-count{font-weight:800;color:#ecd18f}
.persona-head{border-bottom:1px solid #8b92715e;padding-bottom:10px;margin-bottom:12px}.persona-head>span{font-size:11px;color:#b4c6b4;letter-spacing:2px;display:block}.persona-head>strong{font:800 22px/1.5 var(--serif);color:#e7d2a1}.persona-head p{font-size:13px;color:#bfc9ba;margin:3px 0}.question-line{border-left:3px solid #9acbd0;padding:10px;color:#c5e1e2}.spoken-reply{display:grid;grid-template-columns:85px 1fr;gap:15px;align-items:center}.spoken-reply img{width:85px;height:170px;object-fit:cover;object-position:top}.spoken-reply p{font-family:var(--serif);font-size:calc(17px * var(--font))}.deduction-prize{background:#233d30;border-left:4px solid #b79c54;padding:12px;color:#d9e6cd;font-size:14px}.deduction-prize>b{color:#f1d68d;font-size:17px}.hypotheses button{font-weight:700}.hypotheses .selected::before{content:'✓ ';color:#275d38;font-weight:900}
.result-stamp{font:800 11px/1.5 'Malgun Gothic',sans-serif;white-space:normal;text-align:right;padding:3px 5px;border:1px solid currentColor;transform:rotate(-2deg);animation:stamp-in .28s ease-out}.result-stamp.success{color:#285a3b}.result-stamp.failure{color:#8d3434}@keyframes stamp-in{from{transform:scale(1.2) rotate(-5deg);opacity:0}to{transform:scale(1) rotate(-2deg);opacity:1}}
.encounter-c06 .customer{animation:none}.encounter-c11 .customer{opacity:.65;filter:grayscale(.45) drop-shadow(0 0 7px #b4cbba66)}.encounter-c12 .customer{animation-duration:11s}.character-presence{position:absolute;pointer-events:none;z-index:3;inset:0}.encounter-c03 .character-presence::after{content:'';position:absolute;width:2px;height:15px;background:#b8c6b880;left:64%;top:64%;box-shadow:-55px -10px #c3d1cc66,35px 8px #c3d1cc55;animation:drip 2.8s linear infinite}@keyframes drip{from{transform:translateY(-12px);opacity:0}25%{opacity:.75}to{transform:translateY(70px);opacity:0}}.resolved .customer{animation:leave-shop .7s ease forwards}.resolved .companion{animation:leave-shop .7s ease forwards}@keyframes leave-shop{to{opacity:0;transform:translateY(-9px) scale(.97)}}
.encounter-c06 .store-bg{filter:brightness(.69) saturate(.65)}.encounter-c11 .store-bg{filter:brightness(.73) saturate(.7)}.stage[data-safety="1"] .store-bg{filter:brightness(.6) saturate(.6)}.reduced-motion .character-presence::after,.reduced-motion .result-stamp,.reduced-motion .customer,.reduced-motion .companion{animation:none!important}.reduced-motion .resolved .customer,.reduced-motion .resolved .companion{opacity:0}
@media(max-width:360px){.speaker{font-size:12px}.result-stamp{font-size:10px}.persona-head>strong{font-size:19px}.spoken-reply{grid-template-columns:62px 1fr;gap:10px}.spoken-reply img{width:62px;height:150px}.modal h2{font-size:21px}.task-target strong{font-size:13px}.toolrow button{font-weight:800}.dialogue-paper p{font-size:calc(15px * var(--font))}}
@media(prefers-reduced-motion:reduce){.resolved .customer,.resolved .companion{opacity:0}}

.title{overflow-y:auto}.title-links{flex-wrap:wrap}.achievement-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.achievement-list article{background:#1f3025;border:1px solid #647456;padding:12px}.achievement-list h3{font-size:17px;color:#e0cd9a;margin:0 0 7px}.achievement-list p{font-size:12px;margin:0 0 8px}.achievement-list progress{width:100%;height:7px;accent-color:#9dbb85}.achievement-list small{display:block;text-align:right;font-size:11px;color:#b8c9ac}.achievement-list .unlocked{border-color:#bdc68c;background:#30432d}.achievement-list .unlocked h3{color:#d6e7a6}.dossier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dossier-grid button{display:flex;flex-direction:column;align-items:center;min-width:0;padding:8px 4px}.dossier-grid img{width:100%;height:115px;object-fit:contain;object-position:top}.dossier-grid b{font-size:12px;line-height:1.5}.dossier-grid small{font-size:10px}.locked-face{height:115px;display:grid;place-items:center;font-size:46px;opacity:.35}.result-mark small{font-size:20px;margin-left:8px}
@media(max-height:700px) and (orientation:portrait){.title{justify-content:flex-start;padding:24px 20px 20px;gap:20px}.title-sign{padding:9px 20px}.title h1{font-size:58px}.title-copy{font-size:14px;margin-bottom:15px}.title-buttons button{min-height:48px;font-size:16px}.title-links{gap:1px}.title-links button{padding:5px 8px;min-height:44px}}
@media(max-width:360px){.achievement-list{grid-template-columns:1fr}.dossier-grid img,.locked-face{height:94px}}
