@font-face{font-family:'Noto Sans SC';font-weight:100 500;font-style:normal;font-display:swap;src:url('assets/story/noto-sc-400.woff?v=3.3.0') format('woff')}
@font-face{font-family:'Noto Sans SC';font-weight:600 900;font-style:normal;font-display:swap;src:url('assets/story/noto-sc-700.woff?v=3.3.0') format('woff')}
/* Original v2 style.css and touch controls are retained. These rules style story screens. */
.home-title h1{font-family:'Noto Sans SC',system-ui;font-weight:900;font-size:clamp(34px,7.5vw,55px);letter-spacing:1px;line-height:1.2}.story-edition{font:700 10px var(--body);letter-spacing:1px;color:#8f8b73;margin:0 0 16px}
.app:not(.in-game) .stage,.app[data-screen=pause] .stage{touch-action:auto}
.mark-en{font:900 23px/1 system-ui;white-space:nowrap}
#home-board,#result-next,.map-wrap{display:none!important}
.app[data-screen=story] #screen-story{display:flex}
.story-dialogue{max-width:660px;transform:none;animation:none;border-radius:16px;padding:0;overflow:hidden}
.story-dialogue-top{display:flex;align-items:center;justify-content:space-between;background:#19323f;color:#d9e5dc;padding:12px 24px;gap:12px}
.story-dialogue-top small{font-size:11px;letter-spacing:1px}.story-dialogue-top .btn{color:#b9cbbd;font-size:11px;padding:6px 0;min-height:32px}
.story-portraits{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:12px;background:radial-gradient(ellipse at center bottom,#d5bb84,#b3c59e);height:270px;padding:10px 24px 0;overflow:hidden}
.story-portraits img{width:46%;height:260px;object-fit:cover;object-position:center top;opacity:.50;filter:saturate(.5);transform:translateY(8px);transition:opacity .2s,filter .2s,transform .2s}
.story-portraits img.speaking{opacity:1;filter:none;transform:translateY(0)}
.story-bubble{padding:22px 26px 10px;background:#fff9e9;min-height:142px;border-top:4px solid #bc6b4b}
.story-bubble strong{font-size:14px;color:#a34e36}.story-bubble p{font-size:17px;line-height:1.85;margin:10px 0 0;color:#233b43}
.story-dialogue-actions{display:flex;align-items:center;justify-content:space-between;padding:16px 26px 24px;background:#fff9e9;gap:14px}.story-dialogue-actions>span{font:13px system-ui;color:#ac9563;letter-spacing:5px}.story-dialogue-actions .btn{min-width:125px}
.story-chapters{display:flex;gap:8px;overflow-x:auto;padding:12px 0 15px;scroll-snap-type:x proximity}
.chapter-card{flex:1 0 112px;border:1px solid #b96e50;border-radius:9px;text-align:left;padding:10px;background:#fff4df;color:#35494b;scroll-snap-align:start}.chapter-card small{display:block;font:800 12px system-ui;color:#b76c4e}.chapter-card b{display:block;font-size:12px;margin:6px 0;line-height:1.4}.chapter-card span{font-size:9px;color:#a27141}.chapter-card:disabled{border-color:#d7d4c5;background:#efeee5;opacity:.65;cursor:default}.chapter-card:disabled small,.chapter-card:disabled span{color:#899185}
.story-brief-art{display:flex;align-items:center;justify-content:center;gap:12px;background:#27434c;border-radius:10px;overflow:hidden;margin:0 0 18px;padding:0 12px;color:#fff2d8;min-height:116px}
.story-brief-art img{width:85px;height:116px;object-fit:cover;object-position:top}.story-brief-art div{flex:1}.story-brief-art small{display:block;color:#d8bb85;font-size:9px;margin-bottom:8px}.story-brief-art b{font-size:17px;line-height:1.5;display:block}
.story-result-message{display:flex;gap:14px;align-items:center;border-radius:9px;background:#e7ebd9;margin:8px 0 14px;padding:0 12px;height:95px;overflow:hidden}.story-result-message img{width:70px;height:110px;align-self:start;object-fit:cover;object-position:top}.story-result-message p{font-size:12px;font-weight:700;line-height:1.8;margin:10px 0;color:#2e5455}
#brief-story{font-size:11px;margin-top:8px}
@media(max-width:760px){.story-dialogue-top{padding:10px 16px}.story-dialogue-top small{font-size:9px}.story-portraits{height:210px;padding:10px 12px 0;gap:8px}.story-portraits img{height:205px;width:47%}.story-bubble{padding:18px 19px 8px;min-height:150px}.story-bubble strong{font-size:12px}.story-bubble p{font-size:14px;line-height:1.85}.story-dialogue-actions{padding:12px 19px 20px}.story-dialogue-actions .btn{font-size:13px;padding:10px 14px;min-width:112px}.chapter-card{flex:0 0 105px}.chapter-card b{font-size:11px}.story-brief-art{gap:8px;padding:0 8px;min-height:100px}.story-brief-art img{width:62px;height:100px}.story-brief-art b{font-size:13px}.story-brief-art small{font-size:8px}.story-result-message{height:86px}.story-result-message p{font-size:11px}.story-result-message img{width:60px;height:95px}.home-title .en-display{font-size:21px}}
@media(max-height:560px) and (orientation:landscape){.story-dialogue{max-width:580px}.story-portraits{height:175px}.story-portraits img{height:190px;width:40%}.story-bubble{min-height:100px;padding:15px 22px 5px}.story-bubble p{font-size:14px}.story-dialogue-actions{padding:10px 22px 18px}.app.in-game .topbar{display:flex;position:absolute;right:8px;top:8px;padding:0;height:auto;z-index:6}.app.in-game .topbar .mark,.app.in-game #btn-music,.app.in-game #btn-sound{display:none}.app.in-game #btn-pause{background:#18323cdd}}
@media(prefers-reduced-motion:reduce){.story-portraits img{transition:none;transform:none}}
@media(max-width:760px){.mark-zh{display:none}.mark-en{font-size:21px}}
@media(max-height:560px) and (orientation:landscape){.app.in-game .hud{right:52px}}
