.hsk2-last-train{min-height:100%;background:#10151a;color:#f8f3e8}.lt-shell{min-height:100%;background:#111820}.lt-top{display:flex;align-items:center;gap:16px;padding:12px 18px;background:#10151aed;border-bottom:1px solid #ffffff1c;position:sticky;top:0;z-index:30}.lt-title{flex:1;min-width:150px}.lt-top h2{margin:0;font-size:1.45rem}.lt-top small,.lt-top span{display:block;color:#d7c9ac}.lt-top button,.lt-panel button,.lt-nav button,.lt-modal button{border:0;border-radius:14px;padding:10px 14px;background:#f2dfb1;color:#2c2418;font-weight:800;cursor:pointer;min-height:42px}.lt-top button:focus-visible,.lt-panel button:focus-visible,.lt-nav button:focus-visible,.lt-modal button:focus-visible{outline:3px solid #fff;outline-offset:2px}.lt-tools{display:flex;gap:8px;flex-wrap:wrap}.lt-progress{height:4px;background:#ffffff12}.lt-progress>span{display:block;height:100%;background:#d9b96b;transition:width .25s}.lt-objective-bar{display:flex;gap:10px;align-items:center;padding:8px 18px;background:#172029;border-bottom:1px solid #ffffff12;font-size:.92rem}.lt-objective-bar b{color:#d9b96b}.lt-objective-bar span{color:#e8e1d4}.lt-scene{position:relative;min-height:58vh;background-image:linear-gradient(to top,rgba(0,0,0,.31),transparent 46%),var(--bg);background-size:cover;background-position:center;overflow:hidden;border-bottom:1px solid #ffffff22;touch-action:pan-y}.lt-player{position:absolute;width:110px;transform:translate(-50%,-100%) scale(var(--player-scale,1));transform-origin:50% 100%;transition:left .48s cubic-bezier(.22,.8,.25,1),top .48s cubic-bezier(.22,.8,.25,1),transform .18s;z-index:5;pointer-events:none}.lt-player img{width:100%;max-height:180px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 7px 5px #0005)}.lt-player.facing-left img{transform:scaleX(-1)}.lt-shadow{position:absolute;left:50%;bottom:0;width:58%;height:12%;transform:translate(-50%,38%);background:#0005;border-radius:50%;filter:blur(3px);z-index:1}.lt-player.walking img{animation:ltWalk .24s ease-in-out infinite alternate}@keyframes ltWalk{to{transform:translateY(-4px) rotate(1.3deg)}}.lt-player.facing-left.walking img{animation:ltWalkLeft .24s ease-in-out infinite alternate}@keyframes ltWalkLeft{from{transform:scaleX(-1) translateY(0) rotate(0)}to{transform:scaleX(-1) translateY(-4px) rotate(1.3deg)}}.lt-nav{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px;flex-wrap:wrap;justify-content:center;width:min(94%,1000px);z-index:7}.lt-nav button{background:#121c22d9;color:white;border:1px solid #ffffff45;backdrop-filter:blur(8px)}.lt-panel{padding:16px;max-width:1100px;margin:auto}.lt-card{background:#1b242d;border:1px solid #ffffff18;border-radius:18px;padding:16px;box-shadow:0 10px 30px #0003}.lt-card h3{margin-top:0}.lt-line{display:grid;grid-template-columns:1fr auto;gap:3px 10px;border-left:3px solid #d9b96b;padding:8px 12px;margin:8px 0 12px}.lt-line b,.lt-line span,.lt-line small{grid-column:1}.lt-line b{font-size:1.2rem}.lt-line span,.lt-line small{color:#bfc9cf}.lt-line .lt-audio{grid-column:2;grid-row:1/4;align-self:center;padding:8px 10px;background:#ffffff12;color:white}.lt-puzzle-img{width:min(100%,520px);max-height:280px;object-fit:contain;border-radius:14px;display:block;margin:12px auto;background:#ffffff08}.lt-number,.lt-actions{display:flex;gap:10px;flex-wrap:wrap}.lt-ok{color:#98e0a8;font-weight:800}.lt-wrong{animation:ltShake .28s}@keyframes ltShake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}.lt-modal{position:absolute;inset:0;background:#000c;z-index:50;display:grid;place-items:center;padding:20px}.lt-modal article{position:relative;width:min(760px,96%);max-height:88%;overflow:auto;background:#172029;border:1px solid #ffffff24;border-radius:20px;padding:20px}.lt-modal article>[data-lt-modal-close]{position:absolute;right:12px;top:12px}.lt-inv,.lt-places{display:flex;gap:8px;flex-wrap:wrap}.lt-inv span,.lt-places span{padding:8px 12px;border-radius:999px;background:#f1dfb1;color:#2c2418;font-weight:700}.lt-places span{background:#ffffff12;color:#e8e1d4}.lt-journal .lt-objective{padding:10px 12px;border-radius:12px;background:#d9b96b18;border:1px solid #d9b96b55}.lt-journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lt-journal-grid section{background:#ffffff08;border:1px solid #ffffff12;border-radius:14px;padding:12px;min-width:0}.lt-journal-grid h4{margin:0 0 8px;color:#d9b96b}.lt-journal-grid p{display:grid;grid-template-columns:1fr auto;gap:4px 8px;margin:8px 0}.lt-journal-grid p small{grid-column:1;color:#bcc6cc}.lt-journal-grid p em{grid-column:2;grid-row:1/3;color:#98e0a8;font-style:normal}.lt-map-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lt-map-grid button:disabled{opacity:.45;cursor:default}.lt-hint{font-size:1.05rem;line-height:1.55;padding:12px 14px;border-radius:14px;background:#ffffff08;border-left:3px solid #d9b96b}
@media(max-width:700px){.lt-top{align-items:flex-start;flex-wrap:wrap}.lt-tools{width:100%}.lt-tools button{flex:1 1 auto;padding:8px 10px}.lt-objective-bar{padding:7px 10px;align-items:flex-start;flex-direction:column;gap:2px}.lt-scene{min-height:48vh}.lt-player{width:82px}.lt-nav{bottom:8px}.lt-panel{padding:10px}.lt-puzzle-img{max-height:220px}.lt-journal-grid,.lt-map-grid{grid-template-columns:1fr}.lt-modal{padding:10px}}
@media(prefers-reduced-motion:reduce){.lt-player,.lt-progress>span{transition:none}.lt-player.walking img,.lt-player.facing-left.walking img,.lt-wrong{animation:none}}
.lt-npc{position:absolute;z-index:4;transform:translate(-50%,-100%);background:transparent!important;border:0!important;padding:0!important;min-height:0!important;color:white;cursor:pointer;filter:drop-shadow(0 8px 8px #0006)}.lt-npc img{display:block;width:96px;max-height:150px;object-fit:contain;transition:transform .16s ease}.lt-npc span{position:absolute;left:50%;bottom:-22px;transform:translateX(-50%);white-space:nowrap;background:#111d;color:#fff;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:800;opacity:.86}.lt-npc:hover img,.lt-npc:focus-visible img{transform:translateY(-4px) scale(1.04)}.lt-dialogue-head{display:flex;align-items:center;gap:14px;margin-bottom:14px}.lt-dialogue-head img{width:96px;height:96px;object-fit:contain;background:#ffffff08;border-radius:16px}.lt-dialogue-head h3{margin:0}.lt-paper-note{display:inline-flex;flex-direction:column;gap:8px;margin:8px 0 14px;padding:16px 20px;background:#efe1bd;color:#302515;transform:rotate(-1deg);box-shadow:0 8px 18px #0005;font-family:serif;border-radius:2px}.lt-paper-note b{font-size:1.12rem;line-height:1.7}.lt-paper-note span{align-self:flex-end}.lt-entry{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.lt-entry input{flex:1 1 220px;min-width:0;border:1px solid #ffffff35;background:#0e171e;color:white;border-radius:12px;padding:11px 13px;font-size:1.05rem}.lt-entry input:focus{outline:2px solid #d9b96b}.lt-inv-item{display:flex!important;align-items:center;gap:8px;border-radius:14px!important}.lt-inv-item img{width:52px;height:42px;object-fit:contain;background:#ffffff75;border-radius:8px}.lt-inv-item b{font-size:.86rem}.lt-card>.lt-puzzle-img+ .lt-puzzle-img{margin-top:8px}@media(max-width:700px){.lt-npc img{width:70px;max-height:112px}.lt-npc span{font-size:.62rem;bottom:-18px}.lt-dialogue-head img{width:76px;height:76px}}

/* 1.6.93 — interactive manipulation, scene hotspots, contextual feedback */
.lt-manip-title{display:flex;flex-direction:column;gap:3px;margin:12px 0 9px;color:#e9dfc9}.lt-manip-title small{color:#aebbc3}.lt-bag-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0}.lt-bag{position:relative;min-height:122px!important;border:2px solid #ffffff26!important;border-radius:18px!important;color:#fff!important;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;box-shadow:inset 0 -18px 30px #0003,0 9px 18px #0003;transition:transform .15s,border-color .15s,box-shadow .15s}.lt-bag.red{background:linear-gradient(#bc3934,#6d1716)!important}.lt-bag.black{background:linear-gradient(#454b52,#171b20)!important;transform:scale(.84)}.lt-bag.blue{background:linear-gradient(#3f75a8,#1e3d5d)!important}.lt-bag.selected{border-color:#f5d477!important;box-shadow:0 0 0 4px #f5d47744,0 10px 24px #0005;transform:translateY(-7px) scale(1.02)}.lt-bag.black.selected{transform:translateY(-7px) scale(.88)}.lt-bag-handle{width:42%;height:14px;border:5px solid #d4bb86;border-bottom:0;border-radius:12px 12px 0 0}.lt-bag small{opacity:.78}.lt-crate-board{display:grid;grid-template-columns:repeat(3,minmax(90px,1fr));grid-template-rows:repeat(2,112px);gap:10px;margin:12px 0 14px;padding:12px;background:#101820;border:1px solid #ffffff18;border-radius:16px}.lt-crate-slot{padding:6px!important;min-height:0!important;background:#ffffff0b!important;border:2px dashed #ffffff25!important;color:#fff!important}.lt-crate-slot.selected{border-color:#f2d374!important;background:#f2d37418!important}.lt-crate{height:100%;width:100%;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,#bd7f41,#77451f);box-shadow:inset 0 0 0 4px #5e371d55,0 5px 8px #0004}.lt-crate.big{font-size:1rem}.lt-crate.small{width:72%;height:66%;justify-self:center;align-self:center;background:linear-gradient(145deg,#d89d58,#87532c)}.lt-crate.numbered{background:linear-gradient(145deg,#d2a453,#805b21)}.lt-empty{opacity:.28}.lt-task-callout{padding:12px 14px;border-radius:14px;background:#d9b96b12;border:1px solid #d9b96b4f}.lt-hotspot{position:absolute!important;z-index:6!important;transform:translate(-50%,-50%);display:flex!important;align-items:center;gap:6px;padding:7px 10px!important;min-height:0!important;border:1px solid #fff8!important;background:#111c!important;color:#fff!important;border-radius:999px!important;box-shadow:0 5px 16px #0007;backdrop-filter:blur(5px);animation:ltHotspotPulse 1.8s ease-in-out infinite}.lt-hotspot span{font-size:1.12rem}.lt-hotspot b{font-size:.76rem;white-space:nowrap}.lt-hotspot:hover,.lt-hotspot:focus-visible{animation:none;transform:translate(-50%,-50%) scale(1.08);background:#d9b96be8!important;color:#241d12!important}@keyframes ltHotspotPulse{50%{box-shadow:0 0 0 7px #f0d1781b,0 5px 16px #0007}}.lt-feedback{position:fixed;left:50%;bottom:24px;z-index:90;transform:translate(-50%,24px);opacity:0;pointer-events:none;min-width:min(520px,88vw);max-width:760px;padding:11px 15px;border-radius:15px;background:#172029f2;border:1px solid #ffffff2b;box-shadow:0 12px 34px #0009;display:flex;flex-direction:column;gap:2px;text-align:center;transition:opacity .18s,transform .18s}.lt-feedback.show{opacity:1;transform:translate(-50%,0)}.lt-feedback[data-type="wrong"]{border-color:#e17e7366;background:#351d1df2}.lt-feedback[data-type="ok"]{border-color:#8ed3a066;background:#173022f2}.lt-feedback span{font-size:.84rem;color:#d1d8dc}
@media(max-width:700px){.lt-bag-board{gap:6px}.lt-bag{min-height:96px!important;padding:8px!important;font-size:.83rem}.lt-crate-board{grid-template-columns:repeat(3,minmax(70px,1fr));grid-template-rows:repeat(2,88px);padding:8px;gap:7px}.lt-hotspot{padding:6px 8px!important}.lt-hotspot b{display:none}.lt-feedback{bottom:12px}}
@media(prefers-reduced-motion:reduce){.lt-hotspot{animation:none}.lt-feedback{transition:none}}

/* 1.6.94 — GDD audit: real scene layer, usable inventory and point-and-click puzzles */
.lt-scene{background:#0c1218!important;isolation:isolate;aspect-ratio:16/9;min-height:auto}.lt-scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;user-select:none;pointer-events:none}.lt-scene:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.28),transparent 42%);z-index:1;pointer-events:none}.lt-player{z-index:5}.lt-npc{z-index:5}.lt-hotspot,.lt-object-hotspot{z-index:7}.lt-nav{z-index:8}.lt-panel{position:relative;z-index:2}.lt-tools button.active{box-shadow:0 0 0 3px #f2d37488;background:#f4d77c;color:#231b10}.lt-inv{align-items:stretch}.lt-inv-item{border:1px solid #ffffff25!important;background:#f1dfb1!important;color:#2c2418!important;padding:8px 10px!important;min-height:64px!important;display:flex!important;align-items:center;gap:8px;position:relative}.lt-inv-item.selected{outline:3px solid #f5c84e;box-shadow:0 0 0 4px #f5c84e33}.lt-inv-item em{font-size:.66rem;font-style:normal;background:#2c2418;color:#fff;padding:2px 5px;border-radius:999px}.lt-object-hotspot{position:absolute!important;transform:translate(-50%,-50%);background:transparent!important;border:0!important;padding:0!important;color:white!important;cursor:pointer;min-height:0!important;filter:drop-shadow(0 8px 8px #0008)}.lt-object-hotspot img{display:block;max-width:150px;max-height:180px;object-fit:contain;transition:transform .15s}.lt-object-hotspot b{display:block;background:#111d;padding:3px 8px;border-radius:999px;font-size:.72rem}.lt-object-hotspot:hover img,.lt-object-hotspot:focus-visible img{transform:translateY(-5px) scale(1.04)}.lt-object-hotspot.machine img{max-width:185px;max-height:190px}.lt-object-hotspot.vest img{max-width:105px;max-height:145px}.lt-evidence-grid,.lt-machine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.lt-evidence-grid button{display:flex;flex-direction:column;gap:4px}.lt-evidence-grid button.seen{background:#9cdaa9!important}.lt-machine-grid button{min-width:0}.lt-machine-state{padding:10px 12px;border-radius:12px;background:#ffffff0a;border:1px solid #ffffff18}.lt-cctv-wrap{position:relative}.lt-cctv-wrap .lt-puzzle-img{width:100%;max-width:700px;max-height:none}.lt-cctv-target{position:absolute!important;left:76%;top:56%;width:20%;height:45%;background:#ffffff08!important;border:2px dashed #ffffff55!important;border-radius:12px!important;padding:0!important}.lt-cctv-target:hover{background:#f4d77c22!important;border-color:#f4d77c!important}.lt-clue-zoom{position:relative}.lt-clue-zoom .lt-overlay-text{position:absolute;left:50%;top:64%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;background:#f7ecd7e8;color:#431b14;padding:8px 16px;border-radius:10px;border:1px solid #8e4b3c}.lt-clue-zoom .lt-overlay-text b{font-size:1.5rem}.lt-final-box{position:relative;max-width:560px;margin:auto}.lt-final-box .lt-puzzle-img{width:100%;max-height:420px}.lt-final-box>button{position:absolute!important;transform:translate(-50%,-50%);background:#101922dd!important;color:#fff!important;border:1px solid #fff8!important;box-shadow:0 4px 14px #0008}.lt-final-box>button.seen{background:#99d6a5e8!important;color:#15321c!important}.lt-final-box .red{left:29%;top:68%}.lt-final-box .cord{left:68%;top:28%}.lt-final-box .mark{left:70%;top:72%}.lt-feedback[data-type="info"]{border-color:#d9b96b66}.lt-hotspot{min-width:44px}.lt-hotspot span{min-width:18px;text-align:center}
@media(max-width:700px){.lt-scene{aspect-ratio:4/3}.lt-scene-bg{object-fit:cover}.lt-object-hotspot.vest img{max-width:74px;max-height:105px}.lt-object-hotspot.machine img{max-width:128px;max-height:135px}.lt-evidence-grid,.lt-machine-grid{grid-template-columns:1fr}.lt-final-box>button{padding:7px 9px!important;font-size:.75rem}}

/* 1.6.95 — audit de continuité : vrai mode épisode, sprites/candidats et CCTV sans humains */
body.hsk2-last-train-active{overflow:hidden!important}
body.hsk2-last-train-active .app-sidebar,
body.hsk2-last-train-active .music-controls,
body.hsk2-last-train-active .teacher-buddy,
body.hsk2-last-train-active .streak-chip{display:none!important}
body.hsk2-last-train-active .shell{padding:0!important;margin:0!important;max-width:none!important;width:100%!important}
.hsk2-last-train:not([hidden]){position:fixed!important;inset:0!important;z-index:5000!important;width:100vw!important;height:100vh!important;overflow:auto!important;background:#10151a!important}
.hsk2-last-train .lt-shell{min-height:100vh}
.lt-npc img{width:var(--npc-width,96px)!important}
.lt-tariff{padding:9px 12px;border-radius:12px;background:#d9b96b18;border:1px solid #d9b96b66;color:#f4e4b8}
.lt-cctv-object-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}
.lt-cctv-object-grid>section{min-height:180px;padding:12px;border-radius:14px;background:#0b131a;border:1px solid #ffffff24;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 0 24px #0008}
.lt-cctv-object-grid small{align-self:flex-start;color:#7fe09f;font-family:monospace}
.lt-cctv-boxes{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.lt-cctv-boxes img{width:44%;max-height:110px;object-fit:contain}
.lt-cctv-swap{font-size:2.5rem;letter-spacing:.08em}
.lt-cctv-bag-button{background:transparent!important;color:#fff!important;border:2px dashed #ffffff55!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:118px!important}
.lt-cctv-bag-button span{font-size:3rem}
.lt-cctv-bag-button:hover,.lt-cctv-bag-button:focus-visible{border-color:#f4d77c!important;background:#f4d77c15!important}
.lt-final-success{text-align:center}
.lt-final-success .lt-puzzle-img{display:inline-block;width:min(46%,360px);vertical-align:middle;margin:10px 1%}
@media(max-width:700px){.lt-cctv-object-grid{grid-template-columns:1fr}.lt-final-success .lt-puzzle-img{width:94%}.hsk2-last-train:not([hidden]){height:100dvh!important}}

/* 1.6.96 — Listening Detective integration, true walk-to-interact, viewport fit, larger sprites */
.hsk2-last-train:not([hidden]){overflow:hidden!important}
.hsk2-last-train .lt-shell{height:100dvh!important;min-height:0!important;display:grid!important;grid-template-rows:auto 4px auto minmax(0,1fr)!important;overflow:hidden!important;position:relative!important}
.lt-top{position:relative!important;top:auto!important;padding:7px 12px!important;gap:10px!important;min-height:52px!important}
.lt-top h2{font-size:1.15rem!important;line-height:1.05!important}.lt-top small,.lt-top span{font-size:.72rem!important}.lt-tools{gap:5px!important}.lt-top button{padding:7px 9px!important;min-height:34px!important;border-radius:10px!important;font-size:.8rem!important}
.lt-objective-bar{padding:5px 12px!important;font-size:.8rem!important;min-height:30px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lt-objective-bar span{overflow:hidden;text-overflow:ellipsis}
.lt-scene{grid-row:4!important;height:100%!important;min-height:0!important;aspect-ratio:auto!important;border:0!important;touch-action:none!important;overflow:hidden!important}
.lt-scene-bg{object-fit:cover!important}
.lt-panel{position:absolute!important;left:14px!important;bottom:14px!important;z-index:24!important;width:min(430px,36vw)!important;max-width:430px!important;max-height:34vh!important;overflow:auto!important;padding:0!important;margin:0!important;pointer-events:none!important;scrollbar-width:thin}
.lt-panel>*{pointer-events:auto!important}.lt-card{padding:12px 14px!important;border-radius:16px!important;background:#172029e8!important;backdrop-filter:blur(9px);box-shadow:0 12px 30px #0008!important}.lt-card h3{margin:0 0 7px!important}.lt-card p{margin:7px 0!important}.lt-puzzle-img{max-height:190px!important;margin:8px auto!important}
.lt-player{width:clamp(155px,12vw,215px)!important;transition-property:left,top,transform!important;transition-timing-function:linear,linear,ease!important;transition-duration:.6s,.6s,.18s!important;z-index:8!important}.lt-player img{width:100%!important;max-height:none!important}.lt-player.walking img{animation:none!important}.lt-player.facing-left img{transform:scaleX(-1)!important}.lt-player.facing-left.walking img{animation:none!important;transform:scaleX(-1)!important}.lt-shadow{height:8%!important;width:52%!important;opacity:.7}
.lt-npc{z-index:7!important;transform:translate(-50%,-100%) scale(var(--npc-scale,1))!important;transform-origin:50% 100%!important}.lt-npc img{height:clamp(165px,27vh,245px)!important;width:auto!important;max-height:none!important;animation:ltNpcBreath 3.6s ease-in-out infinite;filter:drop-shadow(0 8px 6px #0007)!important}.lt-npc.is-wang img{height:clamp(185px,30vh,270px)!important}.lt-npc span{bottom:-20px!important;font-size:.78rem!important;padding:4px 9px!important}.lt-npc:hover img,.lt-npc:focus-visible img{transform:translateY(-3px) scale(1.02)!important}@keyframes ltNpcBreath{0%,100%{translate:0 0}50%{translate:0 -2px}}
.lt-dialogue-head img{width:128px!important;height:128px!important;object-fit:contain!important;background:#ffffff0a!important}.lt-dialogue-fr[hidden]{display:none!important}.lt-dialogue-translation{margin-top:10px!important;background:#ffffff14!important;color:#f8f3e8!important;border:1px solid #ffffff35!important}
.lt-exit{position:absolute!important;z-index:9!important;transform:translate(-50%,-50%)!important;display:flex!important;align-items:center!important;gap:7px!important;padding:8px 11px!important;min-height:0!important;border:1px solid #f5d57eaa!important;background:#121b21d9!important;color:#fff!important;border-radius:999px!important;box-shadow:0 6px 18px #0009!important;backdrop-filter:blur(6px);cursor:pointer}.lt-exit span{font-size:1rem;color:#f6d97d}.lt-exit b{font-size:.76rem;white-space:nowrap}.lt-exit:hover,.lt-exit:focus-visible{background:#f4d77ce8!important;color:#251c10!important;transform:translate(-50%,-50%) scale(1.06)!important}
.lt-modal{position:fixed!important;inset:0!important;z-index:5200!important}.lt-modal article{max-height:min(84dvh,760px)!important}.lt-feedback{z-index:5300!important}
.lt-map-grid{display:none!important}.lt-clock-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:12px 0}.lt-clock-facts p{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;margin:0;border-radius:12px;background:#ffffff0a;border:1px solid #ffffff1d;opacity:.55}.lt-clock-facts p.seen{opacity:1;background:#d9b96b16;border-color:#d9b96b66}.lt-clock-facts span{font-weight:800;color:#f2d98b}
@media(max-width:900px){.lt-panel{width:min(410px,44vw)!important}.lt-npc img{height:clamp(150px,24vh,215px)!important}.lt-player{width:clamp(145px,15vw,195px)!important}}
@media(max-width:700px){.lt-shell{grid-template-rows:auto 3px auto minmax(0,1fr)!important}.lt-title span{display:none!important}.lt-tools button{font-size:.72rem!important;padding:6px 7px!important}.lt-panel{left:2.5%!important;bottom:8px!important;width:95%!important;max-width:none!important;max-height:31vh!important}.lt-card{padding:9px 11px!important}.lt-npc img{height:clamp(125px,22vh,180px)!important}.lt-npc.is-wang img{height:clamp(145px,24vh,200px)!important}.lt-player{width:clamp(125px,18vw,175px)!important}.lt-exit b{display:none}.lt-exit{padding:8px!important}.lt-clock-facts{grid-template-columns:1fr}.lt-objective-bar{font-size:.72rem!important}}

/* 1.6.96b — scale, slower locomotion and real multi-pose NPC presence */
.lt-player{width:clamp(210px,16vw,285px)!important}
.lt-npc img{height:clamp(225px,34vh,340px)!important}
.lt-npc.is-wang img{height:clamp(250px,37vh,370px)!important}
.lt-npc-sprite{position:relative;display:block;line-height:0}
.lt-npc .lt-npc-name{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%);white-space:nowrap;background:#111e;color:#fff;padding:4px 9px;border-radius:999px;font-size:.8rem;font-weight:800;opacity:.9}
.lt-clock-reading{display:grid;gap:6px;justify-items:center;margin:10px auto;padding:12px 16px;width:min(100%,520px);background:#ffffff0c;border:1px solid #d9b96b55;border-radius:14px}.lt-clock-reading b{font-size:1.2rem}.lt-clock-reading span{color:#d7c9ac}.lt-clock-reading strong{font-size:2rem;color:#f2d98b}
@media(max-width:900px){.lt-player{width:clamp(190px,20vw,250px)!important}.lt-npc img{height:clamp(195px,31vh,290px)!important}.lt-npc.is-wang img{height:clamp(215px,34vh,315px)!important}}
@media(max-width:700px){.lt-player{width:clamp(155px,28vw,210px)!important}.lt-npc img{height:clamp(150px,27vh,220px)!important}.lt-npc.is-wang img{height:clamp(170px,30vh,240px)!important}}
.lt-npc .lt-npc-sprite{position:relative!important;display:block!important;left:auto!important;bottom:auto!important;transform:none!important;white-space:normal!important;background:transparent!important;padding:0!important;border-radius:0!important;opacity:1!important;font-size:inherit!important;font-weight:normal!important}

/* 1.6.97 — locomotion sync, perspective depth, single-sprite NPCs, viewport-safe panel */
.lt-player{
  width:clamp(165px,11vw,215px)!important;
  transition-duration:var(--move-duration,.7s),var(--move-duration,.7s),.18s!important;
}
.lt-npc img{
  height:clamp(170px,24vh,250px)!important;
  width:auto!important;
  max-height:none!important;
  animation:none!important;
  transition:opacity .18s ease,transform .16s ease!important;
}
.lt-npc.is-wang img{height:clamp(185px,26vh,270px)!important}
.lt-panel{
  width:min(390px,32vw)!important;
  max-width:390px!important;
  max-height:calc(100dvh - 145px)!important;
  overflow:auto!important;
  scrollbar-width:thin;
}
.lt-panel .lt-puzzle-img{max-height:155px!important}
.lt-clock-reading strong{display:none!important}
@media(max-width:900px){
  .lt-player{width:clamp(150px,14vw,195px)!important}
  .lt-npc img{height:clamp(155px,22vh,225px)!important}
  .lt-npc.is-wang img{height:clamp(170px,24vh,245px)!important}
  .lt-panel{width:min(370px,40vw)!important;max-height:calc(100dvh - 140px)!important}
}
@media(max-width:700px){
  .lt-player{width:clamp(125px,24vw,175px)!important}
  .lt-npc img{height:clamp(125px,20vh,180px)!important}
  .lt-npc.is-wang img{height:clamp(140px,22vh,195px)!important}
  .lt-panel{width:95%!important;max-height:calc(100dvh - 132px)!important}
  .lt-panel .lt-puzzle-img{max-height:120px!important}
}

/* 1.6.98 — one DOM image per NPC, hard guard against legacy duplicate layers */
.lt-npc-sprite{position:relative!important;display:block!important;line-height:0!important}
.lt-npc-sprite>img{display:block!important}
.lt-npc-sprite>img~img{display:none!important}


/* 1.6.99 — balanced walking speed, reliable collapsible puzzle drawer */
.lt-panel{
  width:min(460px,38vw)!important;
  max-width:460px!important;
  max-height:48dvh!important;
  overflow:auto!important;
  padding:0!important;
  border-radius:18px!important;
  pointer-events:auto!important;
}
.lt-panel.is-collapsed{display:none!important}
.lt-panel-body{position:relative;min-width:0}
.lt-panel-close{
  position:sticky!important;top:7px!important;float:right!important;z-index:40!important;
  width:34px!important;height:34px!important;min-height:34px!important;padding:0!important;margin:7px 7px -42px 0!important;
  border-radius:50%!important;background:#f4d77c!important;color:#241b0d!important;border:0!important;
  font-size:1.25rem!important;font-weight:900!important;line-height:1!important;box-shadow:0 3px 12px #0007!important;cursor:pointer!important;
}
.lt-panel-open{
  position:absolute!important;left:14px!important;bottom:14px!important;z-index:28!important;
  padding:9px 13px!important;border-radius:999px!important;border:1px solid #f4d77c99!important;
  background:#172029e8!important;color:#f8f3e8!important;box-shadow:0 8px 22px #0009!important;
  backdrop-filter:blur(8px);font-weight:850!important;cursor:pointer!important;
}
.lt-panel-open[hidden]{display:none!important}
.lt-panel .lt-card{font-size:.96rem!important;line-height:1.42!important;padding:15px 16px!important;padding-top:18px!important}
.lt-panel .lt-card h3{padding-right:38px!important;font-size:1.1rem!important}
.lt-panel .lt-card input,.lt-panel .lt-card button{font-size:.94rem!important}
.lt-panel .lt-puzzle-img{max-height:205px!important}
@media(max-width:900px){.lt-panel{width:min(430px,46vw)!important;max-height:46dvh!important}}
@media(max-width:700px){.lt-panel{left:2.5%!important;width:95%!important;max-width:none!important;max-height:43dvh!important}.lt-panel-open{left:10px!important;bottom:10px!important}.lt-panel .lt-puzzle-img{max-height:150px!important}}

/* 1.7.00 — adventure-engine pass: fixed 16:9 stage, depth layers, listening-first dialogue */
.hsk2-last-train .lt-shell{
  grid-template-rows:auto 4px auto minmax(0,1fr)!important;
  height:100dvh!important;
  overflow:hidden!important;
}
.lt-scene-frame{
  grid-row:4!important;
  position:relative!important;
  min-width:0!important;
  min-height:0!important;
  width:100%!important;
  height:100%!important;
  display:grid!important;
  place-items:center!important;
  overflow:hidden!important;
  background:#080d11!important;
}
.lt-scene{
  grid-row:auto!important;
  position:relative!important;
  flex:none!important;
  width:100%!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  background:#080d11!important;
  box-shadow:0 0 0 1px #ffffff16,0 18px 60px #0009!important;
  touch-action:none!important;
}
.lt-scene-bg,.lt-foreground{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:fill!important;
  user-select:none!important;
  pointer-events:none!important;
}
.lt-scene-bg{z-index:1!important}
.lt-foreground{z-index:1100!important;filter:none!important}
.lt-player{z-index:var(--depth-z,800)!important;width:clamp(178px,11.5vw,230px)!important;transition-timing-function:cubic-bezier(.2,.58,.28,1),cubic-bezier(.2,.58,.28,1),ease!important}
.lt-npc{z-index:var(--depth-z,760)!important;transition:left 1.25s ease,top 1.25s ease,transform .18s ease!important}
.lt-npc img{height:clamp(184px,25vh,270px)!important}
.lt-npc.is-wang img{height:clamp(200px,27vh,290px)!important}
.lt-hotspot,.lt-object-hotspot,.lt-exit{z-index:1300!important}
.lt-panel{z-index:2100!important;width:min(410px,34vw)!important;max-width:410px!important;max-height:38dvh!important;left:12px!important;bottom:12px!important}
.lt-panel-open{z-index:2110!important;left:12px!important;bottom:12px!important}
.lt-panel-close{z-index:2140!important}
.lt-selected-item{
  position:absolute;right:14px;bottom:14px;z-index:2120;
  display:flex;align-items:center;gap:8px;max-width:min(360px,34vw);
  padding:8px 10px 8px 12px;border:1px solid #f4d77c88;border-radius:999px;
  background:#111b21e8;color:#fff;box-shadow:0 8px 24px #0009;backdrop-filter:blur(8px)
}
.lt-selected-item span{font-size:.7rem;color:#d9b96b;font-weight:900}.lt-selected-item b{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lt-selected-item button{width:28px;height:28px;min-height:28px;padding:0;border-radius:50%;background:#ffffff16;color:white}
.lt-inline-fr{display:block;margin-top:6px;color:#c2cbd1;font-size:.84rem;line-height:1.35}
.lt-hint small{display:block;margin-top:8px;color:#c4ced4}
.lt-listen-first{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 8px}.lt-listen-first button{background:#ffffff14!important;color:#fff!important;border:1px solid #ffffff30!important}.lt-listening-prompt{padding:13px 14px;border-radius:14px;background:#d9b96b12;border:1px solid #d9b96b44;color:#efe2c3}.lt-dialogue-transcript.is-hidden{display:none!important}.lt-dialogue-transcript{padding-top:2px}.lt-dialogue-fr{display:block!important;margin-top:5px;color:#c2ccd2!important}.lt-dialogue-fr[hidden]{display:none!important}
.lt-clock-focus{width:min(100%,520px);height:220px;margin:10px auto;overflow:hidden;border-radius:14px;background:#0d141a}.lt-clock-focus img{width:100%;height:100%;object-fit:cover;transform:scale(1.7)}
.lt-npc-name{transition:opacity .2s}.lt-npc:not(:hover):not(:focus-visible) .lt-npc-name{opacity:.62!important}
.lt-objective-bar{z-index:2200!important}
.lt-feedback{z-index:5400!important}
@media(max-width:1000px){
  .lt-player{width:clamp(160px,14vw,210px)!important}.lt-npc img{height:clamp(165px,23vh,235px)!important}.lt-npc.is-wang img{height:clamp(180px,25vh,255px)!important}
  .lt-panel{width:min(390px,42vw)!important;max-height:36dvh!important}
}
@media(max-width:700px){
  .lt-top{min-height:48px!important}.lt-player{width:clamp(125px,24vw,175px)!important}.lt-npc img{height:clamp(130px,20vh,185px)!important}.lt-npc.is-wang img{height:clamp(145px,22vh,200px)!important}
  .lt-panel{left:8px!important;bottom:8px!important;width:min(92vw,380px)!important;max-height:34dvh!important}.lt-panel-open{left:8px!important;bottom:8px!important}.lt-selected-item{right:8px;bottom:8px;max-width:56vw}
  .lt-clock-focus{height:150px}
}
/* 1.7.00b — richer ambient sprite use and direction-aware NPC movement */
.lt-npc.facing-left .lt-npc-sprite>img{transform:scaleX(-1)!important}
.lt-npc .lt-npc-sprite>img{transform-origin:50% 100%;will-change:transform}

/* 1.7.01 — video-audit locomotion + safe occlusion */
.lt-player{
  transition:none!important;
  will-change:left,top,transform!important;
}
.lt-player:not(.walking){transition:transform .12s linear!important}
.lt-foreground{display:none!important}
.lt-npc{transition:left 1.15s linear,top 1.15s linear,transform .18s ease!important}

/* 1.7.02 — viewport use, integrated ticket machine, pinyin→hanzi entry */
.lt-top{padding:8px 12px!important;gap:10px!important}
.lt-top h2{font-size:1.25rem!important;line-height:1.05!important}
.lt-top small{font-size:.72rem!important;line-height:1.05!important}
.lt-top span{font-size:.78rem!important;line-height:1.05!important;margin-top:2px!important}
.lt-top button{min-height:36px!important;padding:7px 10px!important}
.lt-objective-bar{padding:5px 12px!important;min-height:34px!important}
.lt-scene-frame{align-items:stretch!important}
.lt-panel{width:min(860px,68vw)!important;max-width:860px!important;max-height:min(44dvh,430px)!important;bottom:8px!important;left:8px!important}
.lt-panel .lt-card-media:has(> .lt-puzzle-img){display:grid!important;grid-template-columns:minmax(210px,300px) minmax(280px,1fr)!important;gap:10px 16px!important;align-items:start!important}
.lt-panel .lt-card-media:has(> .lt-puzzle-img)>h3{grid-column:1/-1!important;margin-bottom:2px!important}
.lt-panel .lt-card-media:has(> .lt-puzzle-img)>.lt-puzzle-img{grid-column:1!important;grid-row:2/span 8!important;width:100%!important;max-width:none!important;max-height:250px!important;margin:0!important;align-self:start!important}
.lt-panel .lt-card-media:has(> .lt-puzzle-img)>:not(h3):not(.lt-puzzle-img){grid-column:2!important;margin-top:0!important}
.lt-entry{display:block!important;margin-top:10px!important}
.lt-entry-row{display:flex;gap:9px;align-items:stretch}
.lt-entry-row input{flex:1 1 auto;min-width:0}
.lt-ime-line{display:flex;align-items:center;gap:8px;min-height:32px;margin-top:6px;color:#aebbc3}
.lt-ime-line small{font-size:.72rem}
.lt-ime-candidate{min-height:28px!important;padding:4px 10px!important;border-radius:999px!important;background:#d9b96b22!important;color:#ffe59c!important;border:1px solid #d9b96b77!important}
.lt-ime-candidate[hidden]{display:none!important}
.lt-machine-layout{display:grid;grid-template-columns:minmax(260px,.95fr) minmax(300px,1.05fr);gap:18px;align-items:start}
.lt-machine-visual .lt-puzzle-img{width:100%;max-width:none;max-height:360px;margin:0;object-fit:contain}
.lt-machine-visual small{display:block;margin-top:7px;color:#9faab1;line-height:1.35}
.lt-machine-controls{min-width:0}
.lt-machine-controls .lt-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.lt-hotspot[data-lt-hotspot="machine"]{background:#10202ee8!important;border-color:#f2d374aa!important}
@media(max-width:1000px){.lt-panel{width:min(760px,78vw)!important}.lt-panel .lt-card-media:has(> .lt-puzzle-img){grid-template-columns:minmax(180px,250px) 1fr!important}.lt-machine-layout{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.lt-top{padding:6px 8px!important}.lt-objective-bar{padding:4px 8px!important}.lt-panel{width:calc(100% - 16px)!important;max-height:46dvh!important}.lt-panel .lt-card-media:has(> .lt-puzzle-img){display:block!important}.lt-panel .lt-card-media:has(> .lt-puzzle-img)>.lt-puzzle-img{max-height:150px!important;margin:6px auto!important}.lt-machine-layout{grid-template-columns:1fr}.lt-machine-visual .lt-puzzle-img{max-height:210px}}


/* 1.7.04 — immersive viewport: use the screen instead of letterboxing the 16:9 world */
body.hsk2-last-train-active{overflow:hidden!important}
body.hsk2-last-train-active #gamesPage{
  position:fixed!important;inset:0!important;z-index:4900!important;
  width:100vw!important;max-width:none!important;height:100dvh!important;
  margin:0!important;padding:0!important;border-radius:0!important;
  overflow:hidden!important;animation:none!important;transform:none!important;
}
.hsk2-last-train:not([hidden]){inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;margin:0!important}
.hsk2-last-train .lt-shell{height:100dvh!important;grid-template-rows:auto 2px auto minmax(0,1fr)!important}
.lt-top{min-height:44px!important;padding:4px 8px!important;gap:8px!important}
.lt-title{display:grid!important;grid-template-columns:auto auto!important;grid-template-rows:auto auto!important;align-items:center!important;column-gap:8px!important;min-width:0!important}
.lt-title small{grid-column:1/-1!important;font-size:.58rem!important;line-height:1!important;opacity:.8!important;margin:0!important}
.lt-title h2{grid-column:1!important;grid-row:2!important;font-size:1.02rem!important;line-height:1!important;white-space:nowrap!important}
.lt-title span{grid-column:2!important;grid-row:2!important;font-size:.69rem!important;line-height:1!important;margin:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:220px!important}
.lt-tools{gap:4px!important;flex-wrap:nowrap!important}
.lt-top button{min-height:30px!important;height:30px!important;padding:4px 8px!important;border-radius:9px!important;font-size:.72rem!important}
.lt-progress{height:2px!important}
.lt-objective-bar{min-height:27px!important;padding:3px 9px!important;font-size:.74rem!important;gap:8px!important}
.lt-scene-frame{width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;place-items:center!important;background:#080d11!important}
.lt-scene{flex:0 0 auto!important;max-width:none!important;max-height:none!important;justify-self:center!important;align-self:center!important}
.lt-panel{bottom:6px!important;left:6px!important}
.lt-panel-open{bottom:7px!important;left:7px!important}
.lt-selected-item{right:8px!important;bottom:8px!important}
@media(max-width:1000px){
  .lt-title small{display:none!important}.lt-title{display:block!important}.lt-title h2{font-size:.98rem!important}.lt-title span{display:none!important}
  .lt-top{min-height:40px!important}.lt-top button{height:29px!important;min-height:29px!important;padding:4px 7px!important}
}
@media(max-width:700px){
  .hsk2-last-train .lt-shell{grid-template-rows:auto 2px auto minmax(0,1fr)!important}
  .lt-top{min-height:38px!important;padding:3px 6px!important}.lt-tools{overflow-x:auto!important;scrollbar-width:none!important}.lt-tools::-webkit-scrollbar{display:none!important}
  .lt-objective-bar{min-height:25px!important;padding:2px 7px!important}
}

/* 1.7.06 — investigation art integration */
.lt-enhanced-img{width:100%;max-height:min(62vh,620px);object-fit:contain;border-radius:14px;display:block;background:#0b0f14}
.lt-investigate-modal{width:min(920px,94vw)!important;max-width:920px!important}
.lt-investigate-modal .lt-enhanced-img{max-height:66vh}
.lt-cctv-enhanced{width:min(1180px,96vw)!important;max-width:1180px!important}
.lt-cctv-screen-art{margin:10px 0 12px;border-radius:14px;overflow:hidden;background:#05080d}
.lt-cctv-screen-art .lt-enhanced-img{max-height:52vh;width:100%;object-fit:contain}
.lt-final-cinematic{width:min(980px,96vw)!important;max-width:980px!important;max-height:92vh!important;overflow:auto!important}
.lt-final-cinematic h4{margin:18px 0 8px;font-size:1rem}
.lt-final-cinematic .lt-enhanced-img{max-height:52vh;margin:8px 0 14px}
@media(max-width:760px){
 .lt-investigate-modal,.lt-cctv-enhanced,.lt-final-cinematic{width:96vw!important}
 .lt-cctv-screen-art .lt-enhanced-img,.lt-enhanced-img{max-height:46vh}
}
/* 1.7.07 — exhaustive visual integration */
.lt-time-deduction .lt-enhanced-img{max-height:42vh;object-fit:contain;margin:6px auto 10px;display:block}
.lt-cctv-selected-frame{position:relative;margin:8px 0;border:1px solid rgba(255,255,255,.2);border-radius:12px;overflow:hidden;background:#05080b}
.lt-cctv-selected-frame .lt-enhanced-img{width:100%;max-height:45vh;object-fit:contain;display:block}
.lt-cctv-selected-frame>span{position:absolute;left:10px;top:10px;background:rgba(0,0,0,.72);padding:4px 8px;border-radius:6px;font:700 .78rem/1 monospace;color:#fff}
.lt-cctv-frame-nav{display:flex;gap:8px;justify-content:center;margin:8px 0 10px}
.lt-cctv-frame-nav button{min-width:92px}
.lt-cctv-frame-nav button.active{outline:2px solid currentColor;transform:translateY(-1px)}
.lt-staff-door-modal .lt-enhanced-img{max-height:60vh;object-fit:contain;display:block;margin:auto}
.lt-dialogue .lt-enhanced-img{max-height:34vh;object-fit:contain;display:block;margin:6px auto;border-radius:12px}


/* 1.7.11 — faster leg cadence + safer action-button placement */
.lt-exit{
  max-width:calc(100% - 28px)!important;
  min-height:38px!important;
  padding:9px 13px!important;
}
.lt-exit[data-lt-exit="security"]{
  box-shadow:0 0 0 2px #f4d77c55,0 8px 22px #000a!important;
  border-color:#f4d77ccc!important;
  background:#16232be8!important;
}
@media(max-width:700px){
  .lt-exit{min-width:42px!important;min-height:42px!important;padding:9px!important}
}


/* 1.7.17 — P2 : observations, notebook, gradual revelations and subtle ambience */
.lt-ambient-light{position:absolute;inset:0;pointer-events:none;z-index:10;overflow:hidden}
.lt-ambient-light i{position:absolute;left:12%;top:11%;width:12%;height:7%;border-radius:50%;background:radial-gradient(ellipse,#ffe0a31b,transparent 70%);animation:lt-lights 5.8s ease-in-out infinite}
.lt-ambient-light i:nth-child(2){left:66%;top:12%;width:20%;height:9%;animation-delay:1.3s}
.lt-ambient-light i:nth-child(3){left:43%;top:48%;width:9%;height:5%;animation-delay:2.7s}
@keyframes lt-lights{0%,100%{opacity:.18;transform:scale(.94)}50%{opacity:.68;transform:scale(1.08)}}
.lt-npc:focus-visible{outline:3px solid #f4db91!important;outline-offset:5px}
.lt-npc:not(.walking):hover .lt-npc-sprite{filter:brightness(1.12) drop-shadow(0 0 6px #f3d28477)}
.lt-detail-inspect{border-color:#f0d99a90!important;background:#12252dc9!important}
.lt-detail-inspect:focus-visible,.lt-detail-inspect:hover{box-shadow:0 0 0 3px #e8d79755!important}
.lt-inspection-modal{width:min(740px,93vw)!important;max-width:740px!important}
.lt-inspection-picture{min-height:195px;max-height:39vh;width:100%;border-radius:12px;border:1px solid #e2cf9955;background-size:190% auto;background-repeat:no-repeat;background-color:#111b25;margin:14px 0}
.lt-inspection-actions,.lt-journal-tabs,.lt-time-cards,.lt-report-counts{display:flex;gap:8px;flex-wrap:wrap}
.lt-inspection-actions button,.lt-journal-tabs button,.lt-time-cards button{border-radius:9px;padding:9px 13px;min-height:42px}
.lt-inspect-transcript{display:flex;flex-direction:column;gap:7px;line-height:1.75}
.lt-inspect-transcript span{color:#ddc98f}.lt-inspect-transcript small{color:#ced8db}
.lt-inspect-instruction{color:#c0cacf}
.lt-journal-v2{width:min(900px,94vw)!important;max-width:900px!important;max-height:90vh!important;overflow-y:auto!important}
.lt-journal-tabs{border-bottom:1px solid #f4d68a44;padding:10px 0;margin-bottom:12px}
.lt-journal-tabs button[aria-pressed="true"]{background:#d1ad61!important;color:#111b20!important;font-weight:800}
.lt-journal-content{max-height:58vh;overflow-y:auto;padding-right:8px}
.lt-journal-content section>p{display:flex;gap:18px;align-items:start;justify-content:space-between;padding:8px 10px;margin:4px 0;border-bottom:1px solid #fff2}
.lt-journal-content section>p b{flex:0 1 34%;font-size:.96em}
.lt-journal-content section>p small{flex:1 1 60%;font-size:.86em;line-height:1.6}
.lt-timeline-exercise{padding:14px;margin-top:14px;border:1px solid #bda57177;border-radius:12px;background:#121c27bd}
.lt-timeline-exercise h4{margin:0 0 7px}.lt-timeline-exercise p{font-size:.88rem}
.lt-time-cards{margin:10px 0 12px}.lt-time-cards button{flex:1 1 120px;min-width:112px}
.lt-time-cards button.selected{outline:2px solid #ffeab1;background:#57451f!important}
.lt-ending-beat{overflow:hidden!important;display:flex!important;flex-direction:column;max-height:92vh!important}
.lt-ending-stage{flex:1;min-height:0;overflow:auto;animation:lt-reveal .65s ease both;padding:10px;text-align:center}
.lt-ending-stage .lt-puzzle-img,.lt-ending-stage .lt-enhanced-img{max-width:100%;max-height:57vh;width:auto;margin:auto;object-fit:contain}
.lt-ending-counter{align-self:center;color:#dbc28a;font:700 .82rem monospace}
.lt-ending-stage .lt-line{margin:auto;max-width:700px}
.lt-ending-beat .lt-actions{margin-top:12px;justify-content:center;flex:none}
@keyframes lt-reveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.lt-pedagogical-report{border:1px solid #dac2826b;background:#111e26e6;border-radius:14px;padding:14px;margin:12px 0}
.lt-report-counts span{border:1px solid #ddd3a34d;background:#203041;border-radius:8px;padding:7px 10px}
.lt-vocab-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px}
.lt-vocab-list span{display:flex;flex-direction:column;background:#21323d;padding:9px;border-radius:9px}
.lt-vocab-list b{font-size:1rem}.lt-vocab-list small{font-size:.74rem;line-height:1.5}
@media(max-width:720px){.lt-inspection-picture{min-height:160px}.lt-journal-content{max-height:50vh}.lt-vocab-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.lt-ambient-light i,.lt-ending-stage{animation:none!important}}

/* Per-word hover help; native title works without overlays or viewport clipping. */
.lt-word{border-bottom:1px dotted #d1ae6a;cursor:help;position:relative}
.lt-word:focus-visible{outline:2px solid #ffdf88;outline-offset:2px;border-radius:3px}
