/* 小院信箱：固定 760×366 */
#panel .pbox.mb29box { overflow: hidden; }
.mb29 { 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; }
.mb29-ls { flex: none; width: 200px; display: flex; flex-direction: column; gap: 4px; min-height: 0; }
.mb29-it { flex: none; height: 30px; 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: 13px "Noto Sans SC", sans-serif; color: var(--ink-2, #4a3f2e); cursor: pointer; text-align: left; }
.mb29-it i { flex: none; width: 7px; height: 7px; border-radius: 50%; border: 1.5px solid var(--ink-3, #7a6c52); box-sizing: border-box; }
.mb29-it i.todo { background: #a8392b; border-color: #a8392b; }
.mb29-it b { font-weight: 400; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mb29-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); }
.mb29-it.on b { font-weight: 700; }
.mb29-ft { margin: auto 0 0; font-size: 11px; line-height: 16px; color: var(--ink-3, #7a6c52); text-align: center; padding-top: 6px; border-top: 1px dashed var(--paper-edge, #c4b48a); }
.mb29-pl { position: relative; flex: 1; min-width: 0; min-height: 0; padding: 12px 18px; border: 8px solid transparent; border-image: url(../../assets/v29/ui/ui_card_raise.png) 12 fill stretch; overflow: hidden; }
.mb29-pl::after { content: ""; position: absolute; right: 8px; bottom: 6px; width: 120px; height: 80px; background: url(../../assets/ui/ink/ink_bamboo.webp) right bottom / contain no-repeat; opacity: .22; pointer-events: none; }
.mb29-sl { position: relative; z-index: 1; height: 100%; overflow: hidden; display: flex; flex-direction: column; gap: 8px; font-size: 13px; line-height: 21px; color: var(--ink-2, #4a3f2e); }
.mb29-sl .notice, .mb29-sl .w-order { margin: 0; padding: 0; background: none !important; border: 0 !important; box-shadow: none !important; font-size: 13px; line-height: 21px; color: inherit; }
.mb29-sl b, .mb29-sl .brush { font: 400 18px/1.3 "猫田楷", serif; letter-spacing: 3px; color: var(--ink-1, #2a2620); }
.mb29-sl p { margin: 0 0 6px; }
.mb29-sl .letter-sign { text-align: right; color: var(--ink-3, #7a6c52); }
.mb29-sl button { margin: 6px 8px 0 0; height: 28px; padding: 0 14px; font: 13px "Noto Sans SC", sans-serif; color: #f6ecd4; background: var(--ink-1, #3a3226); border: 0; border-radius: 4px; box-shadow: 0 1px 0 rgba(255,255,255,.3) inset, 0 1px 2px rgba(0,0,0,.3); cursor: pointer; }
.mb29-in { display: flex; flex-direction: column; gap: 6px; }
.mb29-in p { font-size: 13.5px; }
.mb29-sl button { align-self: flex-start; }
.mb29-sl .notice button { display: inline-block; }
.mb29-sl { height: calc(100% - 34px); }
.mb29-fo { position: absolute; left: 18px; right: 18px; bottom: 8px; z-index: 1; display: flex; align-items: center; justify-content: flex-end; gap: 10px; height: 26px; border-top: 1px dashed var(--paper-edge, #c4b48a); padding-top: 4px; font-size: 11.5px; color: var(--ink-3, #7a6c52); }
.mb29-fo i { font: normal 400 14px/20px "猫田楷", serif; width: 22px; height: 22px; display: grid; place-items: center; color: #f6ecd4; background: #a8392b; border-radius: 3px; transform: rotate(-4deg); }
