/* 猫田小日子 0.19.1 */
/* 世界里的“互动”提示：缩小、半透明，不挡视线 */
#hint { font-size: calc(12px * var(--tip, 1)) !important; padding: 0 6px 0 3px !important; min-height: 0 !important; opacity: .0; border-width: 1px !important; box-shadow: 0 1px 3px rgba(15,22,20,.28) !important; transform: translate(-50%, -100%) scale(.88) !important; transform-origin: 50% 100%; }
#hint.on { opacity: .82 !important; }
#hint b { min-width: 14px !important; height: 14px !important; line-height: 13px !important; font-size: calc(10.5px * var(--tip, 1)) !important; }
#hint.release-interact:before { width: 13px !important; height: 13px !important; vertical-align: -2px; }
body.touch #hint { padding: 0 6px !important; }

/* 图鉴 */
#btn-codex191 { margin-left: 4px; }
.cx191 { display: flex; flex-direction: column; gap: 8px; }
.cx-tabs { display: flex; gap: 6px; }
.cx-tabs button { flex: 1; padding: 6px 0; border: 1px solid #8a7a5c; background: #efe4c8; color: #392e26; border-radius: 4px; font-family: inherit; }
.cx-tabs button.on { background: #392e26; color: #f4ecd6; }
.cx-n { color: #7a6a4c; text-align: right; }
.cx-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 6px; }
.cx-c, .cx-tabs button { background-image: none !important; box-shadow: none !important; }
.cx-c { display: flex; min-height: 64px; flex-direction: column; align-items: center; gap: 2px; padding: 6px 2px; border: 1px solid #b8a67e; background: #f6efd9; border-radius: 4px; color: #392e26; font-size: 11px; font-family: inherit; }
.cx-c.on { border-color: #b4492b; background: #fbf2d6; }
.cx-c.no .ico { filter: brightness(0) opacity(.28); }
.cx-c.no span { color: #9a8c6c; }
.cx-detail { min-height: 96px; border-top: 1px dashed #b8a67e; padding-top: 8px; }
.cx-info { display: grid; grid-template-columns: 56px 1fr; grid-template-rows: auto 1fr; column-gap: 10px; align-items: start; }
.cx-big { grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; }
.cx-info p { margin: 2px 0 4px; font-size: 12px; }
.cx-info dl { grid-column: 1 / -1; display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; margin: 6px 0 0; font-size: 12px; }
.cx-info dt { color: #7a6a4c; } .cx-info dd { margin: 0; }
.cx-c .ico { --s: 36px; }
.cx-big .ico { --s: 52px; }
.cx-c.no { opacity: .8; }

/* 提示文字大小（设置里可调，默认比上一版大 10%） */
:root { --tip: 1; }
.toast { font-size: calc(14.3px * var(--tip, 1)) !important; }
.float { font-size: calc(16.5px * var(--tip, 1)) !important; }
#guide-say { font-size: calc(15px * var(--tip, 1)) !important; }

/* 设置页重排 */
.s191-pane { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; align-items: start; }
.s191-pane[hidden] { display: none !important; }
.s191-card { margin: 0; }
.s191-card .row { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0; }
.s191-card .row button, .s191-card > button { flex: 1 1 auto; }
.s191-card .setgrp > b { display: none; }
.s191-card .opt-row { display: flex; align-items: center; gap: 10px; padding: 4px 0; border-bottom: 1px dotted rgba(120,104,72,.32); }
.s191-card .opt-row:last-child { border-bottom: 0; }
.s191-card .opt-row > div { flex: 1; min-width: 0; }
.s191-card .opt-row b { font-weight: 400; font-size: 15px; color: #2f2a20; }
.s191-card .opt-row p { margin: 1px 0 0; font-size: 12px; line-height: 1.4; }
.s191-card .opt-sw { flex: none; min-width: 52px; }
.s191-sample { position: static !important; display: inline-block; margin: 6px 0 2px; opacity: 1 !important; transform: none !important; }
.s191-pane .kcard { font-size: 12.5px; line-height: 1.55; }
@media (max-width: 640px) { .s191-pane { grid-template-columns: 1fr; } }
.s191-card { min-width: 0; overflow: hidden; } .s191-card .srow { min-width: 0; } .s191-card .srow input[type=range] { min-width: 0; }
.s191-card .opt-sw { min-height: 40px; font: inherit; letter-spacing: 2px; background: #e9dfc6; border: 1.5px solid #6b5a42; color: #6b5a42; }
.s191-card .opt-sw.on { background: #5b7a54; color: #f6f0dc; border-color: #3d5a38; }

/* 屋顶酷跑 */
#run191 { position: fixed; top:0;right:0;bottom:0;left:0; z-index: 90; background: #14100e; display: flex; align-items: center; justify-content: center; touch-action: none; user-select: none; -webkit-user-select: none; }
#run191 canvas { width: min(100vw, calc(100vh * 16 / 9)); height: min(100vh, calc(100vw * 9 / 16)); image-rendering: pixelated; touch-action: none; }
#run191 .r-jump { position: absolute; right: max(22px, env(safe-area-inset-right)); bottom: max(26px, env(safe-area-inset-bottom)); width: 92px; height: 92px; border-radius: 50%; border: 3px solid #f4ead0; background: rgba(160,52,36,.82); color: #fff6e0; font: 400 34px/1 "猫田楷", serif; letter-spacing: 0; box-shadow: 0 3px 10px rgba(0,0,0,.5); touch-action: none; }
#run191 .r-jump:active { transform: scale(.94); background: rgba(190,70,48,.9); }
#run191 .r-quit { position: absolute; left: max(14px, env(safe-area-inset-left)); bottom: max(14px, env(safe-area-inset-bottom)); padding: 4px 14px; border: 1px solid rgba(244,234,208,.5); background: rgba(30,22,18,.6); color: #f4ead0; font: 14px "猫田楷", serif; border-radius: 3px; }

/* ===== 服务台（铁匠 / 周婶）：一屏列表，页签分类 ===== */
.hubbox .pbody{padding:0}
.hub191{display:flex;flex-direction:column;gap:6px;min-height:0}
.hub-hd{display:flex;justify-content:space-between;align-items:center;font-size:calc(13px*var(--tip,1));padding:0 4px}
.hub-purse{font-weight:700;color:#8a5a1c}
.hub-sub{opacity:.7}
.hub-tabs{display:flex;gap:4px;flex-wrap:wrap}
.hub-tabs button{flex:1 1 0;min-width:0;padding:6px 2px;font-size:calc(14px*var(--tip,1));position:relative}
.hub-tabs button i{position:absolute;top:-4px;right:2px;background:#c9482b;color:#fff;border-radius:8px;font-size:10px;font-style:normal;padding:0 5px}
.hub-note{margin:0;font-size:calc(12px*var(--tip,1));opacity:.75;padding:0 4px}
.hub-list{display:flex;flex-direction:column;gap:5px;height:44vh;overflow-y:auto;padding:2px}
.hub-sec{font-size:12px;opacity:.6;letter-spacing:.2em;padding:4px 4px 0}
.hub-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:rgba(255,248,230,.7);border:1px solid rgba(90,60,30,.25);border-radius:8px}
.hub-row.dim{opacity:.6}
.hub-ico{width:32px;height:32px;flex:none}
.hub-row .icon,.hub-row canvas,.hub-row img{flex:none}
.hub-t{flex:1;min-width:0;display:flex;flex-direction:column}
.hub-t b{font-size:calc(14px*var(--tip,1))}
.hub-t small{font-size:calc(11.5px*var(--tip,1));opacity:.8}
.hub-t .ok{color:#3d7a3a}.hub-t .lack{color:#b5452a}
.hub-p{font-size:calc(12.5px*var(--tip,1));white-space:nowrap;color:#8a5a1c}
.hub-b{display:flex;gap:4px;flex:none}
.hub-b button{padding:6px 10px;min-width:48px;font-size:calc(13px*var(--tip,1))}
.hub-b button.pri{background:#c9482b;color:#fff}
.hub-b button:disabled{opacity:.45}
.hub-empty{text-align:center;padding:18px 6px}

/* 多轮对话里弹出的选项：和服务台同一副样子（一条一条的卡片，整行可点，选项多时能滑动） */
#choice{min-width:min(86vw,340px);max-width:92vw}
#choice .ctitle{font-size:calc(17px*var(--tip,1))}
#choice button{display:block;width:100%;font-size:calc(15.5px*var(--tip,1));padding:10px 12px;background:rgba(255,248,230,.85);border:1px solid rgba(90,60,30,.3);border-radius:8px}

/* 屋顶追逐：右上角一个小小的「不跑了」 */
#roof191-quit{display:none;position:fixed;z-index:30;top:calc(env(safe-area-inset-top,0px) + 96px);left:50%;transform:translateX(-50%);padding:6px 16px;font-size:14px;color:#f4ead2;background:rgba(40,28,22,.72);border:1px solid rgba(244,234,210,.5);border-radius:14px}
body.roofrun191 #hud-tl,body.roofrun191 #hud-tr,body.roofrun191 #hotbar-wrap,body.roofrun191 #datecard,body.roofrun191 #hint{visibility:hidden!important}
body.roofrun191 #jw-hud{top:calc(env(safe-area-inset-top,0px) + 8px)!important}
body.roofrun191 #roof191-quit{top:calc(env(safe-area-inset-top,0px) + 8px);left:calc(env(safe-area-inset-left,0px) + 12px);transform:none}
body.roofrun191 #btn-act{visibility:hidden!important}
