/* 宗正府与掖庭共用宫籍，其他宗亲分开呈现。 */
.v29-register{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-height:0;height:calc(100% - 65px)}
.v29-register-section{min-height:0;display:flex;flex-direction:column;padding:12px;border:1px solid #b99356;background:#fff6e2}
.v29-register-section h3{margin:0 0 12px;font-size:24px;color:#65410e}.v29-register-section h3 small{font-size:16px;color:#805f2c}
.v29-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(95px,auto);align-content:start;gap:10px;min-height:0;overflow:auto}
.v29-register-grid article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:10px;border:1px solid #d1ad6d;background:#fffbf1}
.v29-register-grid article b{font-size:22px;color:#573a14}.v29-register-grid article span{grid-column:1/-1;font-size:15px;color:#6a5537}.v29-register-grid article button{grid-column:2;grid-row:1;min-width:95px;min-height:38px}
.v29-family-tree{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.v29-family-tree article{display:grid;gap:15px;align-content:start;min-height:160px;padding:22px;border:1px solid #b99356;background:#fff6e2;font-size:19px}.v29-family-tree article b{font-size:25px;color:#573a14}
.v29-yeting-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(180px,220px);gap:14px;flex:0 0 auto;min-height:0}
.v29-yeting-actions .system-card{width:100%;height:100%;min-height:180px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:20px;text-align:center;border:2px solid #b48a47;background:linear-gradient(145deg,#fffaf0,#ead7aa);box-shadow:inset 0 0 0 3px #fff7df,0 4px 12px #49321324;cursor:pointer}.v29-yeting-actions .system-card b{font-size:27px}.v29-yeting-actions .system-card span{font-size:16px;line-height:1.5}.v29-yeting-actions .system-card:disabled{opacity:.5;cursor:default}
.v29-yeting-roster{flex:1 1 auto;min-height:0;padding:18px;border:1px solid #b99356;background:#fff6e2}.v29-yeting-roster h3{margin:0 0 14px;font-size:24px}.v29-yeting-roster>div{display:flex;flex-wrap:wrap;align-content:start;gap:10px}.v29-yeting-roster button{min-height:46px;min-width:125px;font-size:16px}.v29-pending{flex:0 0 auto;min-height:42px}
.v29-yeting-modal{display:grid;gap:14px;min-width:min(560px,calc(100vw - 30px))}.v29-yeting-modal p{line-height:1.6}.v29-yeting-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v29-yeting-choices button{min-height:45px}
@media(max-width:1000px){.v29-register{grid-template-columns:1fr;height:auto;gap:8px}.v29-register-section{padding:7px}.v29-register-section h3{font-size:17px}.v29-register-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.v29-register-grid article{padding:5px}.v29-register-grid article b{font-size:14px}.v29-register-grid article span{font-size:10px}.v29-register-grid article button{min-width:62px;min-height:28px;font-size:10px}.v29-family-tree{grid-template-columns:1fr}.v29-yeting-actions{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(105px,125px));gap:6px}.v29-yeting-actions .system-card{min-height:105px;gap:6px;padding:8px}.v29-yeting-actions .system-card b{font-size:17px}.v29-yeting-actions .system-card span{font-size:11px}.v29-yeting-roster{padding:8px}.v29-yeting-roster h3{font-size:16px}.v29-yeting-roster button{min-width:75px;min-height:32px;font-size:12px}}
@media(max-width:700px){.v29-yeting-actions{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(78px,90px));gap:4px}.v29-yeting-actions .system-card{min-height:78px;gap:2px;padding:5px 8px}.v29-yeting-actions .system-card b{font-size:15px}.v29-yeting-actions .system-card span{font-size:10px;line-height:1.2}.v29-yeting-roster{min-height:78px;padding:5px}.v29-yeting-roster h3{font-size:13px;margin-bottom:3px}.v29-yeting-roster button{min-width:60px;min-height:26px;font-size:10px}.v29-yeting-modal{min-width:0}.v29-yeting-choices{grid-template-columns:1fr}}
.v29-yeting-layout{display:grid;grid-template-columns:minmax(0,41%) minmax(0,59%);gap:14px;flex:1 1 auto;min-height:0}
.v29-yeting-layout .v29-yeting-actions{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(0,1fr));height:100%;gap:9px}
.v29-yeting-layout .v29-yeting-actions .system-card{min-height:0;gap:8px;padding:10px}
.v29-yeting-layout .v29-yeting-roster{height:100%;overflow:hidden}
.v29-yeting-roster>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));grid-auto-rows:minmax(0,1fr);gap:10px;height:calc(100% - 42px);overflow:auto}
.v29-yeting-roster article{display:grid;grid-template-columns:minmax(0,55%) minmax(0,45%);min-height:180px;border:1px solid #cba463;background:#fff9ec;overflow:hidden}
.v29-yeting-image{position:relative;min-height:0;background:#e9d6b4;overflow:hidden}.v29-yeting-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.v29-yeting-person{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:10px;text-align:center}.v29-yeting-person b{font-size:26px;color:#67410f}.v29-yeting-person span{font-size:16px}.v29-yeting-person button{min-width:130px}
@media(max-width:1000px){.v29-yeting-layout{gap:6px}.v29-yeting-layout .v29-yeting-actions{gap:5px}.v29-yeting-layout .v29-yeting-actions .system-card{padding:4px;gap:4px}.v29-yeting-roster>div{grid-template-columns:1fr}.v29-yeting-roster article{min-height:110px}.v29-yeting-person{gap:4px;padding:4px}.v29-yeting-person b{font-size:18px}.v29-yeting-person span{font-size:12px}.v29-yeting-person button{min-width:70px}}
@media(max-width:700px){.v29-yeting-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(94px,auto);gap:5px}.v29-yeting-layout .v29-yeting-actions{grid-template-rows:repeat(4,minmax(0,1fr));gap:4px}.v29-yeting-layout .v29-yeting-actions .system-card{min-height:0;padding:3px;gap:1px}.v29-yeting-layout .v29-yeting-roster{min-height:94px}.v29-yeting-roster>div{height:auto;max-height:92px;grid-template-columns:1fr}.v29-yeting-roster article{grid-template-columns:1fr;min-height:46px}.v29-yeting-image{display:none}.v29-yeting-person{display:grid;grid-template-columns:1fr auto;justify-items:start;text-align:left;gap:1px 5px}.v29-yeting-person b{font-size:13px}.v29-yeting-person span{font-size:9px}.v29-yeting-person button{grid-column:2;grid-row:1/3;min-width:56px;min-height:26px;font-size:10px}}
