/* 0.19.0 载具按钮、车铺 */
#btn-ride, #btn-box190 { right: 172px; bottom: 58px; width: 56px; height: 56px; font-size: 14px; letter-spacing: 1px; border-color: #8a5a2b; }
#btn-box190 { bottom: 120px; }
body.lefty #btn-ride, body.lefty #btn-box190 { right: auto; left: 172px; }
@media (max-height: 480px) { #btn-ride, #btn-box190 { right: 156px; bottom: 50px; } #btn-box190 { bottom: 110px; } body.lefty #btn-ride, body.lefty #btn-box190 { left: 156px; right: auto; } }
.veh-row { display: grid; grid-template-columns: 72px 1fr auto; gap: 10px; align-items: center; padding: 8px 2px; border-bottom: 1px dashed rgba(40,34,22,.2); }
.veh-row img { width: 72px; height: 48px; object-fit: contain; image-rendering: pixelated; justify-self: center; }
.veh-row p { margin: 2px 0 0; font-size: 12px; line-height: 1.5; }
.veh-row button { min-width: 84px; min-height: 42px; font: inherit; background: #f4ecd6; border: 1.5px solid #6b5a42; color: #2a2620; }
.veh-row button:disabled { opacity: .5; }
/* 车厢、车斗的格子和行囊同尺寸（--cell 见 v182.css） */
#panel .cab-grid { grid-template-columns: repeat(auto-fill, var(--cell)); justify-content: start; }
#panel .cab-grid .islot { width: var(--cell); height: var(--cell); aspect-ratio: auto; box-sizing: border-box; }

/* 车厢格子：空格子画成虚线浅凹，装了东西的格子和行囊一样 */
.cab-head { display: flex; align-items: center; gap: 8px; margin: 2px 0 6px; font-size: 13px; color: #4a3f2e; }
.cab-head img { width: 36px; height: 36px; image-rendering: pixelated; }
#panel .cab-grid.boxg { padding: 8px; gap: 5px; border: 1.5px solid #8b7a5a; background: rgba(139,122,90,.12); border-radius: 4px; }
#panel .cab-grid .islot.empty { border: 1.5px dashed #a89878; background: rgba(139,122,90,.14); opacity: 1; box-shadow: inset 0 0 0 2px rgba(255,255,255,.25); }
#panel .cab-grid.cartg { gap: 3px; }
.cab-meter { display: grid; grid-template-columns: repeat(24, 1fr); gap: 2px; margin: 6px 2px 0; }
.cab-meter i { height: 6px; background: rgba(139,122,90,.25); border: 1px solid rgba(139,122,90,.5); box-sizing: border-box; }
.cab-meter i.on { background: #5b7a54; border-color: #3f5a3a; }

/* ---- 郊外首入长卷 */
#panel.u07p .pbox { max-width: min(92vw, 860px); padding: 6px; background: #efe5cc; }
.u07 { text-align: center; }
.u07 img { display: block; width: 100%; max-height: 74vh; object-fit: contain; image-rendering: auto; }
.u07 p { margin: 6px 0 2px; font-size: 14px; letter-spacing: 3px; color: #5a4a30; }
.ico { background-image: url(../assets/ui/items_hd.webp?v=1190); }

/* ---- 云溪图志 */
.tz190 { padding: 2px 4px; }
.tz-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 12px; margin: 2px 0 8px; }
.tz-head b { font-size: 20px; letter-spacing: 3px; color: #4a3626; }
.tz-head small { font-size: 12px; color: #6a5a40; flex: 1 1 100%; }
.tz-head .m2b { min-height: 30px; padding: 0 10px; font: inherit; font-size: 13px; background: #f4ecd6; border: 1.5px solid #6b5a42; color: #2a2620; }
.tz-shelf { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 10px; }
.tz-book { position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 6px 4px 8px; background: rgba(239,226,197,.55); border: 1.5px solid rgba(90,70,40,.45); border-radius: 3px; font: inherit; color: #3a2e22; cursor: pointer; }
.tz-book i { display: block; width: 96px; height: 128px; background-size: 100% 100%; background-repeat: no-repeat; filter: drop-shadow(0 2px 2px rgba(60,40,20,.35)); }
.tz-book b { font-size: 16px; letter-spacing: 4px; }
.tz-book small { font-size: 12px; color: #6a5a40; }
.tz-stamp { position: absolute; right: 2px; top: 6px; font-style: normal; font-size: 12px; font-weight: bold; letter-spacing: 1px; color: #fbe9d5; background: #a62a1e; padding: 3px 5px; border: 1.5px solid #7c1e15; transform: rotate(7deg); box-shadow: 0 1px 2px rgba(0,0,0,.35); }
.tz-stamp.t4 { background: #8f1d14; outline: 2px solid #e0b35a; }
.tz-note { margin: 10px 2px 0; font-size: 12px; }
.tz-list { display: flex; flex-direction: column; gap: 6px; }
.tz-row { display: grid; grid-template-columns: 7em 1fr; gap: 2px 10px; padding: 6px 8px; border-bottom: 1px dashed rgba(60,44,24,.28); opacity: .55; }
.tz-row.got { opacity: 1; }
.tz-row b { font-size: 15px; color: #4a3626; letter-spacing: 1px; }
.tz-row p { margin: 0; font-size: 13px; line-height: 1.55; color: #3a2e22; }
.tz-pic { grid-column: 1 / -1; width: min(100%, 288px); justify-self: start; margin-top: 4px; border: 1px solid rgba(60,44,24,.3); }
#stamp190 { position: fixed; left: 50%; top: 22%; transform: translateX(-50%); z-index: 60; display: flex; flex-direction: column; align-items: center; pointer-events: none; animation: stamp190in .4s ease-out; }
#stamp190 i { display: block; width: 96px; height: 96px; background-size: 400% 100%; background-position: 0 0; image-rendering: auto; }
#stamp190 span { position: absolute; top: 24px; font-size: 26px; font-weight: bold; letter-spacing: 3px; color: #fbe9d5; writing-mode: vertical-rl; text-orientation: upright; opacity: 0; transition: opacity .2s; }
#stamp190.done span { opacity: 1; }
#stamp190 small { margin-top: 4px; padding: 2px 8px; font-size: 13px; color: #3a2e22; background: rgba(239,226,197,.92); border: 1px solid #6b5a42; }
@keyframes stamp190in { from { opacity: 0; transform: translate(-50%, -14px); } to { opacity: 1; transform: translate(-50%, 0); } }
#btn-tuzhi { margin-left: 4px; }
#btn-tuzhi[hidden] { display: none; }
/* 0.19 隐藏区域进度条 */
#jw-hud { display: none; position: fixed; left: 50%; top: calc(env(safe-area-inset-top, 0px) + 58px); transform: translateX(-50%); z-index: 12; pointer-events: none;
  background: rgba(248, 240, 222, .92); color: #3a3234; border: 2px solid #8a6a4a; border-radius: 4px; padding: 4px 12px; font-size: 13px; letter-spacing: .5px; white-space: nowrap; box-shadow: 0 2px 0 rgba(0,0,0,.18); }
#jw-hud b { color: #a8392b; }
body:not(.playing) #jw-hud { display: none !important; }
