/* Story-first diorama: intentional overrides of the first version's theme. */
.app{max-width:1660px;padding-top:25px}
.masthead{margin-bottom:22px}
.workspace{grid-template-columns:minmax(0,1fr) 340px;gap:22px}
#scene{height:620px}
.map-topline{padding:20px 25px 15px}
.map-topline h2{font-size:23px}
.place-label{font-size:13px}
.place-label .label-card{border-radius:10px;padding:7px 11px;box-shadow:0 3px 10px #29471c18}
.vehicle-bubble{font-size:12px;padding:5px 9px;border-width:2px}
.passenger-label .label-card{padding:3px 7px;background:#fff8e5;color:#7b6240;border-color:#e7d7b4;font-size:10px}
.river-label{color:#168dbb;font-size:12px;letter-spacing:3px}
.river-label .label-card{background:transparent;border:0;box-shadow:none}
.map-compass{left:auto;right:23px;top:23px}
.map-legend{position:absolute;bottom:43px;left:19px;display:flex;gap:12px;padding:8px 10px;background:#ffffffe6;border:1px solid #e4eadb;border-radius:12px;font-size:10px;color:#77876c;pointer-events:none}
.map-legend span{display:flex;gap:5px;align-items:center}
.map-legend i{display:block;width:11px;height:8px;border-radius:3px}
.legend-seoul{background:#ffd6a0}.legend-river{background:#5fbfdf}.legend-taxi{border-top:2px dashed #cc9229;height:0!important}
.chapter-banner{position:absolute;top:18px;left:18px;max-width:275px;z-index:3;border-radius:17px;background:#fffffff2;border:1px solid #dae6cd;padding:14px 16px;box-shadow:0 6px 25px #254c2610;pointer-events:none}
.chapter-eyebrow{display:block;font-size:9px;letter-spacing:1px;color:#91a080;margin-bottom:5px}
#chapter-title{display:block;font-size:19px;letter-spacing:-.5px;color:#355139}
#chapter-detail{display:block;font-size:11px;line-height:1.6;color:#809171;margin-top:6px}
#chapter-people{display:flex;gap:12px;margin-top:9px}
#chapter-people:empty{display:none}
#chapter-people .person-avatar img{width:36px;height:40px}
.transfer-scene{border-color:#e6c776;background:#fffdf3f2}
.transfer-scene #chapter-title{color:#9b711d}
.chapter-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px;font-size:10px;color:#84947c}
.chapter-toolbar>span{font-weight:750;letter-spacing:1px}
.chapter-toolbar label{display:flex;align-items:center;gap:5px;font-size:10px;cursor:pointer}
.chapter-toolbar input{accent-color:#4c754e}
.chapters{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:18px}
.chapters button{background:#f3f6ec;text-align:left;border-radius:11px;padding:10px 11px;color:#8a9a80;border:1px solid transparent;min-height:53px}
.chapters button>span{display:block;font-size:9px;letter-spacing:1px;margin-bottom:4px}
.chapters button>strong{font-size:11px;font-weight:700;white-space:nowrap}
.chapters button.active{background:#e5efda;border-color:#b4cd9f;color:#3e643c}
.chapters button:hover{background:#e9f0df}
.route-card{padding:14px 16px;border-radius:16px;margin-bottom:10px}
.route-card .route-name{font-size:14px}
.rider-strip{gap:13px;margin:11px 0 9px}
.person-avatar img{width:32px;height:36px}
.route-live{display:none;font-size:11px;margin-top:10px}
.route-card.expanded .route-live{display:block}
.route-path{font-size:11px;line-height:1.65}
.itinerary-title{margin-bottom:14px}
.personal-note{font-size:11px}
.personal-journey{border:1px solid #d9e7c9;background:#fbfff4;border-radius:17px;padding:15px;margin-bottom:14px}
.personal-journey[hidden]{display:none}
.journey-person{display:flex;gap:13px;align-items:center;padding-bottom:12px}
.journey-person .person-avatar>span{display:none}
.journey-person img{width:43px;height:48px}
.journey-person>div{display:flex;flex-direction:column;gap:6px}
.journey-person strong{font-size:15px;color:#385736}
.journey-person span{font-size:10px;color:#8b9b7c}
.personal-journey ol{list-style:none;margin:0;padding:0 0 0 8px}
.personal-journey li{position:relative;padding:0 0 16px 18px;border-left:1px solid #ceddbd}
.personal-journey li:last-child{padding-bottom:0;border-left-color:transparent}
.personal-journey li:before{position:absolute;left:-4px;top:3px;content:'';width:7px;height:7px;border-radius:50%;background:#93af75;box-shadow:0 0 0 3px #fbfff4}
.personal-journey li strong{display:block;font-size:11px;font-weight:750;color:#4c6741;line-height:1.5}
.personal-journey li span{display:block;font-size:10px;color:#8b9b7b;margin-top:4px;line-height:1.5}
@media(min-width:1500px){#scene{height:650px}.workspace{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 290px;gap:16px}#scene{height:590px}.chapter-banner{max-width:235px}.chapters button{padding:9px 6px}.chapters button strong{font-size:10px}}
@media(max-width:820px){.workspace{display:block}#scene{height:560px}.chapter-banner{max-width:220px}#route-cards{grid-template-columns:1fr 1fr}.map-topline h2{font-size:20px}}
@media(max-width:500px){.app{padding:20px 13px}.day-tabs{min-width:0;width:100%}.day-tab{padding:11px 9px;letter-spacing:.3px}.day-tab span{margin-left:6px;font-size:12px}#scene{height:470px}.chapter-banner{top:12px;left:12px;max-width:190px;padding:11px 12px;border-radius:13px}#chapter-title{font-size:16px}#chapter-detail{font-size:10px}#chapter-people .person-avatar img{width:28px;height:32px}.place-label{font-size:10px}.vehicle-bubble{font-size:9px;padding:4px 5px}.map-legend{font-size:9px;left:12px;bottom:38px;gap:9px}.chapters{gap:4px}.chapters button{padding:7px 3px;text-align:center;border-radius:8px;min-height:50px}.chapters button strong{font-size:9px;white-space:normal;line-height:1.5}.playback{padding:15px 13px}.map-topline{padding:18px 15px 12px}.map-topline>div:first-child{min-width:0;flex:1}.map-topline h2{font-size:17px}#route-cards{grid-template-columns:1fr}.route-card{height:auto}.chapter-toolbar{font-size:9px}}
