/* 委托册：固定 760×366 */
#panel .pbox.qt29box { overflow: hidden; }
.qt29 { height: 100%; box-sizing: border-box; display: flex; gap: 10px; padding: 6px 8px; border: 8px solid transparent; border-image: url(../../assets/v29/ui/ui_well.png) 12 fill stretch; overflow: hidden; }
.qt29-l { flex: none; width: 300px; display: flex; flex-direction: column; gap: 5px; min-height: 0; }
.qt29-ls { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 4px; }
.qt29-ls.none { align-items: center; justify-content: center; border: 1px dashed var(--paper-edge, #c4b48a); border-radius: 4px; }
.qt29-ls.none p, .qt29-r.none p { margin: 0; font-size: 12.5px; color: var(--ink-3, #7a6c52); text-align: center; padding: 0 16px; line-height: 20px; }
.qt29-it { position: relative; flex: 1; max-height: 40px; display: flex; align-items: center; gap: 8px; padding: 0 8px; min-width: 0; background: none; border: 1px solid transparent; border-bottom-color: var(--paper-edge, #c4b48a); font-family: "Noto Sans SC", sans-serif; color: var(--ink-2, #4a3f2e); cursor: pointer; text-align: left; }
.qt29-it.on { background: rgba(255,249,228,.85); border: 1px solid var(--paper-edge, #c4b48a); box-shadow: 0 1px 2px rgba(60,44,24,.25); color: var(--ink-1, #2a2620); }
.qt29-sl, .qt29-big { flex: none; font-style: normal; display: grid; place-items: center; width: 28px; height: 28px; font: 400 15px/1 "猫田楷", serif; color: #f6ecd4; background: #a8392b; border-radius: 3px; transform: rotate(-3deg); box-shadow: 0 1px 2px rgba(0,0,0,.3); }
.qt29-it.dn .qt29-sl { background: var(--ink-3, #7a6c52); }
.qt29-it > span { min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.qt29-it b { font-size: 13px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qt29-it small { font-size: 11px; color: var(--ink-3, #7a6c52); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qt29-it > em { margin-left: auto; flex: none; font-style: normal; font: 400 11px/14px "猫田楷", serif; letter-spacing: 1px; color: #a8392b; border: 1px solid #a8392b; padding: 0 4px; border-radius: 2px; }
.qt29-pg { flex: none; display: flex; align-items: center; justify-content: center; gap: 10px; height: 24px; font-size: 12px; color: var(--ink-3); }
.qt29-pg span { min-width: 46px; text-align: center; background: var(--paper-hi); border: 1px solid var(--paper-edge); border-radius: 10px; padding: 0 8px; line-height: 18px; }
.qt29-pg span b { color: var(--ink); font-size: 13px; }
.qt29-pg .gd29-arr { width: 30px; height: 22px; }
.qt29-r { position: relative; flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; padding: 10px 14px; border: 8px solid transparent; border-image: url(../../assets/v29/ui/ui_card_raise.png) 12 fill stretch; overflow: hidden; }
.qt29-r.none { align-items: center; justify-content: center; }
.qt29-r::after { content: ""; position: absolute; right: 8px; bottom: 6px; width: 140px; height: 90px; background: url(../../assets/ui/ink/ink_hills.webp) right bottom / contain no-repeat; opacity: .3; pointer-events: none; }
.qt29-top { flex: none; display: flex; align-items: center; gap: 10px; height: 44px; border-bottom: 1px solid var(--paper-edge, #c4b48a); padding-bottom: 6px; }
.qt29-big { width: 38px; height: 38px; font-size: 21px; }
.qt29-top > div { min-width: 0; flex: 1; display: flex; flex-direction: column; gap: 2px; }
.qt29-top b { font: 400 20px/1.1 "猫田楷", serif; letter-spacing: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qt29-top small { font-size: 11px; color: var(--ink-3, #7a6c52); letter-spacing: 2px; }
.qt29-top > em { flex: none; font-style: normal; font: 400 13px/18px "猫田楷", serif; letter-spacing: 1px; color: var(--ink-2); border: 1px solid var(--ink-3); padding: 0 8px; border-radius: 2px; }
.qt29-top > em.rd { color: #a8392b; border-color: #a8392b; }
.qt29-r p { position: relative; z-index: 1; margin: 0; font-size: 13.5px; line-height: 23px; color: var(--ink-2, #4a3f2e); max-height: 138px; overflow: hidden; }
.qt29-it.empty { border: 1px dashed var(--paper-edge, #c4b48a); border-radius: 3px; opacity: .45; }
.qt29-fc { position: relative; z-index: 1; }
.qt29-ft { position: relative; z-index: 1; margin-top: auto; display: flex; align-items: center; gap: 8px; height: 26px; border-top: 1px dashed var(--paper-edge, #c4b48a); padding-top: 4px; font-size: 12px; color: var(--ink-3, #7a6c52); }
.qt29-ft small { font-size: 11px; letter-spacing: 2px; color: #a8392b; border: 1px solid #a8392b; padding: 0 4px; border-radius: 2px; }
.qt29-r p { max-height: 92px; }

.qt29-it-ic { flex: none; width: 34px; height: 34px; display: grid; place-items: center; box-sizing: border-box; border: 6px solid transparent; border-image: url(../../assets/v29/ui/ui_cell_idle.png) 12 fill stretch; }
.qt29-it-ic .gd29-ic { display: block; width: 22px; height: 22px; } .qt29-it-ic .gd29-ic > * { width: 100%; height: 100%; }
.qt29-it-ic.lg { width: 52px; height: 52px; border-width: 8px; } .qt29-it-ic.lg .gd29-ic { width: 34px; height: 34px; }
.qt29-face { flex: none; position: relative; display: block; width: 34px; height: 34px; box-sizing: border-box; overflow: hidden; border: 1.5px solid var(--paper-edge, #b9a780); border-radius: 4px; background: #e9dcb6; margin-left: auto; }
.qt29-face img { position: absolute; left: 50%; top: 0; width: 150%; max-width: none; height: auto; transform: translate(-50%, 2%); image-rendering: pixelated; }
.qt29-face.lg { width: 52px; height: 52px; margin-left: 0; border-width: 2px; border-radius: 6px; box-shadow: 0 1px 2px rgba(60,44,24,.3); }
.qt29-face.nb { display: grid; place-items: center; } .qt29-face b { font: 400 16px/1 "猫田楷", serif; color: var(--ink-3); }
.qt29-it > span { flex: 1; }
.qt29-top .qt29-face.lg { margin-left: auto; }
.qt29-ls { overflow: hidden; gap: 3px; } .qt29-it { max-height: 38px; min-height: 0; } .qt29-it-ic:not(.lg), .qt29-face.sm { width: 32px; height: 32px; }
