#game #panel #panelBody .roadPanel {color:#332f29;line-height:1.5;min-width:0;}
#game #panel #panelBody .roadPanel h3,#game #panel #panelBody .roadPanel h4 {color:#334956;margin:2px 0 5px;}
#game #panel #panelBody .roadPanel p {color:#433d35;margin:8px 0;overflow-wrap:anywhere;}
#game #panel #panelBody .roadPanel small {display:block;color:#635847;line-height:1.45;}
#game #panel #panelBody .roadHeading {display:flex;gap:12px;align-items:center;padding:8px 5px;border-bottom:2px solid #ab8f60;}
#game #panel #panelBody .roadLinks {display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:5px;margin:10px 0;}
#game #panel #panelBody .roadLink {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 8px;text-align:start;width:100%;min-height:44px!important;color:#304c57!important;background:#f2ecdc!important;border:1px solid #b5a182;}
#game #panel #panelBody .roadLink span {font-size:11px;color:#6e5c40;}
#game #panel #panelBody .roadActions,#game #panel #panelBody .roadMapLinks {display:flex;flex-wrap:wrap;gap:6px;margin:8px 0;}
#game #panel #panelBody .roadPanel button {min-height:44px!important;white-space:normal;overflow-wrap:anywhere;line-height:1.3;padding:4px 9px;}
#game #panel #panelBody .roadActions>button {flex:1 1 100px;}
#game #panel #panelBody .roadPanel button[aria-pressed=true],#game #panel #panelBody .roadPanel [data-recruit-join],#game #panel #panelBody .roadPanel [data-drill=guard] {background:#37594e!important;color:#fff8e8!important;border:1px solid #233d36;}
#game #panel #panelBody .roadRow {display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #c7b89a;padding:8px 0;}
#game #panel #panelBody .roadRow>div {min-width:0;overflow-wrap:anywhere;}
#game #panel #panelBody .roadRow button {flex-shrink:0;}
#game #panel #panelBody :is(.roadEmpty,.roadLetter,.roadAnswer,.ledgerPage,.taleCard) {padding:10px;background:#faf5e8;border:1px solid #c9b99b;margin:7px 0;border-radius:4px;}
#game #panel #panelBody .roadLetter {border-left:3px solid #9d7741;}
#game #panel #panelBody .taleProgress {display:flex;align-items:center;gap:7px;font-size:12px;}
#game #panel #panelBody .taleProgress progress {width:70%;height:8px;accent-color:#497461;}
#game #panel #panelBody .roadMapLinks button {font-size:11px;}
#game #panel #panelBody .escortSheet {display:grid;grid-template-columns:minmax(68px,32%) minmax(0,1fr);gap:12px;align-items:center;padding:10px;border:1px solid #bfaa86;background:#f6efde;}
#game #panel #panelBody .escortRoadMap {display:block;width:100%;height:175px;background:#302f27;border-radius:4px;}
#game #panel #panelBody .escortSheet progress {display:block;width:100%;accent-color:#62875a;}
@media(max-width:360px){#game #panel #panelBody .roadLinks{grid-template-columns:minmax(0,1fr);}#game #panel #panelBody .escortSheet{gap:7px;}#game #panel #panelBody .roadHeading{gap:6px;}}
/* Fourth return chapter: paper card, no field animation or polling. */
#game #panel #panelBody .returnLantern{margin:12px 0 18px;padding:14px;border:1px solid #aa956c;border-radius:7px;background:#fff9e9;color:#373c43;overflow-wrap:anywhere;min-width:0}
#game #panel #panelBody .returnLantern>img{width:100%;height:auto;max-height:260px;object-fit:contain;border-radius:5px;display:block;margin:0 0 12px}
#game #panel #panelBody .returnLantern h4{font-size:18px;color:#4b4335;margin:6px 0 12px}
#game #panel #panelBody .returnLantern p{font-size:13px;line-height:1.8;color:#3f4448;word-break:keep-all;overflow-wrap:anywhere}
#game #panel #panelBody .returnLantern small{font-size:11px;line-height:1.6;color:#655943}
#game #panel #panelBody .returnLantern button{min-height:44px;padding:9px 12px;white-space:normal;line-height:1.45;text-align:center;display:inline-flex;align-items:center;justify-content:center}
#game #panel #panelBody .returnLantern .roadActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#game #panel #panelBody .returnLantern .roadActions button{background:#405a72;color:#fff;border:1px solid #344d64}
#game #panel #panelBody .returnLantern .lanternIntro{border-left:3px solid #b19762;padding-left:10px;color:#685331}
#game #panel #panelBody .returnLantern summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:#304e6b;font-weight:700}
#game #panel #panelBody .returnLantern summary::before{content:'▸';margin-right:7px}
#game #panel #panelBody .returnLantern details[open]>summary::before{content:'▾'}
#game #panel #panelBody .returnLantern .lanternEarned{padding:12px;background:#f0e3bd;border:1px solid #ad955e;border-radius:5px;margin:12px 0}
#game #panel #panelBody .returnLantern .lanternEarned>b{color:#694e1d;font-size:14px}
#game #panel #panelBody .returnLantern .lanternEarned button{background:#405a72;color:#fff;border:1px solid #344d64}
@media(max-width:400px){#game #panel #panelBody .returnLantern .roadActions{grid-template-columns:1fr}#game #panel #panelBody .returnLantern{padding:12px}#game #panel #panelBody .returnLantern h4{font-size:16px}}
/* Personal read-only story archive, using the same paper card language. */
#game #panel #panelBody .returnArchive{margin:12px 0;padding:10px;border:1px solid #b29a70;border-radius:6px;background:#f9f2df;min-width:0}
#game #panel #panelBody .returnArchive summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;font-weight:700;color:#344f66;cursor:pointer;word-break:keep-all;overflow-wrap:anywhere}
#game #panel #panelBody .returnArchive details>details{margin:6px 0;padding:8px;border:1px solid #cabb9e;border-radius:4px;background:#fffaf0}
#game #panel #panelBody .returnArchive summary small{flex-shrink:0;font-weight:400;color:#6e5940}
#game #panel #panelBody .returnArchive p{font-size:13px;line-height:1.8;word-break:keep-all}
#game #panel #panelBody .returnArchiveLocked{padding:10px 5px;border-bottom:1px solid #ded0b5;font-size:12px;color:#665e50}
#game #panel #panelBody .returnArchive summary:focus-visible{outline:2px solid #486d91;outline-offset:2px}
#game #panel #panelBody .returnLantern[hidden]{display:none}
