/* Final presentation layer; board coordinates and gameplay controls stay native. */
#menu.mode-menu{padding:24px;background-color:#102e3d52;background-blend-mode:multiply}
.mode-menu .menu-paper{box-sizing:border-box;width:min(1080px,100%);padding:30px;border:1px solid #ffffffb0;border-radius:24px;background:#fffdf4f2;box-shadow:0 18px 60px #10283555;color:#183f4a}
.mode-menu #game-title{font:600 clamp(27px,3.2vw,42px)/1.15 Georgia,serif;margin:0 auto 12px;max-width:24ch;color:#164654}
.mode-menu #subtitle{margin:0 0 20px;line-height:1.45;color:#536d70}
.mode-menu .mode-cards{gap:16px;margin:18px 0}
.mode-menu .mode-cards article{position:relative;display:flex;align-items:flex-start;padding:20px;gap:10px;border:1px solid #c8d7d6;border-radius:16px;background:#fffefa;box-shadow:0 3px 12px #193d4410}
.mode-menu .mode-cards article[data-travel-card=full]{background:#eaf5f2;border-color:#83ada7}
.travel-card-icon{width:58px;height:58px;object-fit:contain}
.mode-menu .mode-cards h2{margin:0;font:750 23px/1.2 system-ui;color:#174c55}
.travel-card-theme{display:block;font-size:16px;font-weight:650;margin-top:6px;color:#45696d}
.mode-menu .mode-cards p{margin:0 0 6px;font-size:16px;line-height:1.5}
.mode-menu .mode-cards button{margin:0;width:100%;min-height:48px;border:1px solid #24696c;background:#24696c;color:white;font-size:16px;font-weight:700;border-radius:10px}
.mode-menu .mode-cards [data-travel-card=full] button{background:#164c54;border-color:#164c54}
.mode-menu .menu-paper>#continue{width:min(440px,100%);margin:0 auto 12px;min-height:52px;background:#164c54;color:white;border:1px solid #164c54;border-radius:10px;font-weight:750;font-size:18px}
.mode-menu #chapter-continue{width:min(440px,100%);margin:0 auto 12px}
.menu-tools{display:flex;justify-content:center;gap:12px;border-top:1px solid #d5ddcf;padding-top:16px}
.mode-menu .menu-tools button{width:auto;min-width:160px;margin:0;min-height:46px;background:transparent;border:1px solid #b3c5c1;color:#28565b;font-size:16px;border-radius:10px}
.mode-menu button:focus-visible,dialog button:focus-visible{outline:3px solid #008ca0;outline-offset:3px}
@media(hover:hover){.mode-menu .mode-cards button:hover,.mode-menu .menu-paper>#continue:hover{background:#0d3b43}.mode-menu .menu-tools button:hover{background:#e7f1ed}}

dialog{border-radius:18px;border:1px solid #b5c9c8;box-shadow:0 16px 55px #102c4055}
dialog::backdrop{background:#102c405c}
.clear-quests .task-dialog{background:#fbfcf8;border:1px solid #b4cac7;border-radius:18px;color:#173f4b;padding:16px}
.clear-quests .task-header,.clear-quests .map-task-header{background:transparent;border-radius:0}
.clear-quests .task-header h2,.clear-quests .map-task-header h2,.clear-quests .simple-task>h2{font-family:system-ui,sans-serif;font-weight:750;color:#174c55;margin:0 0 10px}
.clear-quests .task-header>p,.clear-quests .map-task-header>p,.clear-quests .simple-task>p:first-of-type{padding:10px 14px;background:#eaf3ef;border-left:4px solid #37827d;border-radius:0 10px 10px 0;margin:0 0 12px;line-height:1.45;font-size:19px}
.clear-quests .task-footer,.clear-quests .map-task-footer{position:sticky;bottom:-16px;z-index:4;background:#fbfcf8;border-top:1px solid #d7e1da;padding:10px 0 0;box-shadow:0 -8px 16px #fbfcf8e6}
.clear-quests .simple-task>.quest-finish{position:sticky;bottom:-16px;z-index:4;box-shadow:0 0 0 8px #fbfcf8;margin-top:12px}
.clear-quests .quest-finish,.clear-quests .task-done,.clear-quests .reading-window>button{background:#21656b;color:#fff;border:1px solid #21656b;border-radius:10px;font-weight:700;min-height:48px}
.clear-quests .task-actions button:not(.quest-finish):not(.task-done),.clear-quests .map-task-footer button:not(.quest-finish){background:#f1f5ed;border:1px solid #b5c9c0;color:#28565b;border-radius:10px}
.clear-quests .simple-task-body button{border:1px solid #b8cbc3;border-radius:10px;background:#fffdf5;color:#173f4b;padding:12px 16px}
.clear-quests .simple-task-body button:focus-visible{outline:3px solid #008ca0;outline-offset:2px}
.clear-quests .task-feedback{margin:6px 0 10px;font-weight:600}
.dialogue.speech-window::before{display:none}
.dialogue.speech-window{border:1px solid #a9c9c4;background:#f2faf7;border-radius:24px 24px 24px 6px}
.speech-identity{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.speech-role{font:500 15px/1.35 system-ui;color:#547375}
.dialogue.report-window{border:1px solid #d6cdb6;background:#fffdf4;border-radius:8px 18px 18px 8px}
.dialogue.report-window::before{font-size:11px;letter-spacing:.1em;color:#8a7246}
.clear-quests .dialogue.report-window>h2{border-bottom:1px solid #e2dccb}
.dialogue.reading-window>button{position:sticky;bottom:-24px;z-index:2}
@media(max-width:700px){
 #menu.mode-menu{padding:12px}
 .mode-menu .menu-paper{padding:18px;border-radius:18px}
 .mode-menu #game-title{font-size:28px;margin-bottom:8px}
 .mode-menu #subtitle{font-size:15px;margin-bottom:14px}
 .mode-menu .mode-cards{gap:10px;margin:12px 0}
 .mode-menu .mode-cards article{display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:10px;row-gap:6px;padding:12px}
 .travel-card-icon{width:42px;height:48px;grid-column:1;grid-row:1}
 .mode-menu .mode-cards h2{grid-column:2;grid-row:1;align-self:center;font-size:21px}
 .travel-card-theme{font-size:14px;margin-top:3px}
 .mode-menu .mode-cards p{grid-column:1/-1;font-size:15px;margin:0;line-height:1.4}
 .mode-menu .mode-cards button{grid-column:1/-1;font-size:15px;min-height:44px;margin-top:2px}
 .menu-tools{gap:8px;padding-top:12px}
 .mode-menu .menu-tools button{flex:1;min-width:0;font-size:14px;padding:8px}
 .clear-quests .task-dialog{padding:12px;border-radius:14px}
 .clear-quests .task-header>p,.clear-quests .map-task-header>p,.clear-quests .simple-task>p:first-of-type{font-size:17px;padding:8px 10px}
 .clear-quests .task-footer,.clear-quests .map-task-footer,.clear-quests .simple-task>.quest-finish{bottom:-12px}
 .dialogue.reading-window>button{bottom:-18px}
 .speech-role{font-size:14px}
}
@media(max-height:500px){.mode-menu .menu-paper{padding:18px}.clear-quests .task-header>p,.clear-quests .map-task-header>p{padding:6px 10px;margin-bottom:6px}.dialogue.reading-window>button{bottom:-12px}}
