/* T02 visual finish: roomier portrait gallery and a genuine historical ledger. */
@media(min-width:1401px){
  #world-view-dynasty .family-command{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%!important;min-height:0}
  #world-view-dynasty .family-org{height:auto!important;min-height:0!important}
  #world-view-dynasty .vertical-org-chart{height:calc(var(--world-view-height) - 3.5rem)!important;min-height:calc(var(--world-view-height) - 3.5rem)!important;align-content:space-evenly!important;gap:.7rem!important;padding:1rem 1.5rem 1.15rem!important}
  #world-view-dynasty .gallery-generation{max-width:76rem;grid-template-columns:repeat(var(--family-count),minmax(0,24rem));gap:1rem}
  #world-view-dynasty .ancestor-card{grid-template-columns:10rem minmax(0,1fr)!important;max-width:24rem;gap:.85rem}
  #world-view-dynasty .ancestor-frame{width:10rem!important;max-width:10rem!important}
  #world-view-dynasty .ancestor-plaque{padding:.55rem .65rem}
  #world-view-dynasty .ancestor-plaque strong{font-size:1rem;line-height:1.16}
  #world-view-dynasty .ancestor-plaque small{font-size:.72rem;line-height:1.2}
  #world-view-dynasty .ancestor-plaque em{font-size:.68rem;line-height:1.2}
  #world-view-dynasty .ancestor-lifecycle,#world-view-dynasty .ancestor-substitute{font-size:.75rem}
  #world-view-dynasty .generation-label{padding:.32rem .5rem;font-size:.78rem;letter-spacing:.12em}
  #world-view-dynasty .org-chart-connector{height:.9rem}
  #world-view-dynasty .gallery-hint{font-size:.7rem}
}

@media(min-width:1101px) and (max-width:1400px){
  #world-view-dynasty .vertical-org-chart{align-content:space-evenly!important;min-height:38rem!important;padding:1rem!important;gap:.5rem!important}
  #world-view-dynasty .gallery-generation{max-width:66rem;grid-template-columns:repeat(var(--family-count),minmax(0,20rem));gap:.7rem}
  #world-view-dynasty .gallery-children{grid-template-columns:repeat(3,minmax(0,20rem))}
  #world-view-dynasty .gallery-children .ancestor-card:last-child{grid-column:auto;width:100%}
  #world-view-dynasty .ancestor-card{grid-template-columns:7.25rem minmax(0,1fr)!important;max-width:20rem}
  #world-view-dynasty .ancestor-frame{width:7.25rem!important;max-width:7.25rem!important}
  #world-view-dynasty .ancestor-plaque strong{font-size:.88rem}
  #world-view-dynasty .ancestor-plaque small{font-size:.64rem}
}

#world-view-book{padding:clamp(.55rem,1.2vw,1.15rem);background:radial-gradient(circle at 50% 18%,#362416 0,#181008 58%,#0b0704 100%)}
.t02-operations-book{position:relative;max-width:94rem;margin:auto;padding:1rem 1.2rem 1.45rem;border:1px solid #986b32;border-radius:13px;background:repeating-linear-gradient(8deg,transparent 0 8px,#ffffff08 9px 10px),linear-gradient(115deg,#241107,#553016 48%,#2a1308);box-shadow:0 1.1rem 2.6rem #000d,inset 0 0 0 3px #241006,inset 0 0 0 5px #9a6c32;color:#ead9b8}
.t02-operations-book::after{content:"";position:absolute;inset:.45rem;border:1px solid #c4954f66;border-radius:9px;pointer-events:none}
.t02-operations-book>header{position:relative;z-index:1;padding:.15rem 1rem .75rem;border:0;text-align:center;text-shadow:0 1px #000}
.t02-operations-book>header small{color:#d7b96f;font:600 .72rem/1.2 Georgia,serif;letter-spacing:.16em;text-transform:uppercase}
.t02-operations-book>header h2{margin:.15rem 0;color:#f0cf82;font:700 clamp(1.6rem,2.5vw,2.35rem)/1.05 Georgia,serif;letter-spacing:.04em}
.t02-operations-book>header p{margin:.3rem 0;color:#cdbb94;font:italic .82rem/1.35 Georgia,serif}
.book-register{position:relative;z-index:4;top:auto;display:flex;align-items:flex-end;justify-content:center;flex-wrap:wrap;gap:.18rem;margin:0 .8rem;padding:.15rem .45rem 0;border:0;background:transparent}
.book-register button{min-height:2.35rem;padding:.48rem .72rem .58rem;border:1px solid #a77737;border-bottom-color:#3c1f0d;border-radius:7px 7px 0 0;background:linear-gradient(#6e3b1c,#3c1d0d);box-shadow:inset 0 1px #e6b96a66;color:#f0d7a2;font:600 .76rem/1.1 Georgia,serif;letter-spacing:.025em}
.book-register button:hover,.book-register button:focus-visible{filter:brightness(1.16)}
.book-register button[aria-pressed="true"]{transform:translateY(.16rem);border-color:#d7af64;background:linear-gradient(#c89950,#8a5e27);color:#24150a;text-shadow:0 1px #ffe3a4}
.operations-book-spread{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);filter:drop-shadow(0 .85rem .7rem #000a)}
.operations-book-spread::before{content:"";position:absolute;z-index:4;top:0;bottom:0;left:50%;width:2.4rem;transform:translateX(-50%);background:linear-gradient(90deg,#4b32104d,#1b1006b8 43%,#0a0604d9 50%,#1f1307a8 57%,#4b32103d);box-shadow:inset 5px 0 8px #0005,inset -5px 0 8px #0005;pointer-events:none}
.book-folio{position:relative;min-width:0;min-height:34rem;padding:1.65rem 1.85rem 2.25rem;color:#2d2114;text-shadow:0 1px #fff5d266;background:linear-gradient(90deg,transparent 0 95%,#6a481216 100%),repeating-linear-gradient(0deg,transparent 0 1.68rem,#846a3d21 1.72rem),radial-gradient(circle at 30% 12%,#f1dda9 0,#ddc48c 54%,#c8a96d 100%);box-shadow:inset 0 0 2.2rem #5b3c1855}
.book-folio-left{border-radius:7px 1px 1px 7px;transform:perspective(80rem) rotateY(1.2deg);transform-origin:right center}
.book-folio-right{border-radius:1px 7px 7px 1px;transform:perspective(80rem) rotateY(-1.2deg);transform-origin:left center;background:linear-gradient(90deg,#5c3c151b 0,transparent 8% 100%),repeating-linear-gradient(0deg,transparent 0 1.68rem,#846a3d21 1.72rem),radial-gradient(circle at 68% 12%,#f1dda9 0,#ddc48c 54%,#c8a96d 100%)}
.book-page-number{position:absolute;right:1.2rem;bottom:.75rem;color:#785b2e;font:italic .72rem Georgia,serif}.book-folio-right .book-page-number{right:auto;left:1.2rem}
.book-folio h3{margin:0 0 1rem;padding-bottom:.45rem;border-bottom:3px double #6f5128;color:#342313;font:700 1.3rem/1.15 Georgia,serif;letter-spacing:.03em}
.book-folio h4{margin:1rem 0 .45rem;color:#533819;font:700 1rem/1.25 Georgia,serif}
.book-folio p{color:#3e2b18;font-family:Georgia,serif}
.book-empty-note{margin:2rem auto;max-width:22rem;text-align:center;font-style:italic;color:#725a35!important}
.book-clasp{position:absolute;z-index:5;right:-.55rem;top:50%;width:1.25rem;height:4.25rem;transform:translateY(-50%);border:1px solid #d1a75a;border-radius:3px;background:linear-gradient(90deg,#6b4218,#d4ad5c 45%,#744719);box-shadow:0 4px 8px #0009}
.book-folio .operations-table-wrap{overflow:auto;border:0;border-top:1px solid #765a30;border-bottom:1px solid #765a30;background:#fff4ce22;scrollbar-color:#8b672f #d7bd84}
.book-folio .operations-table-wrap table{width:100%;min-width:34rem;border-collapse:collapse;color:#2b1f13;font:400 .76rem/1.35 Georgia,serif}
.book-folio .operations-table-wrap th,.book-folio .operations-table-wrap td{padding:.48rem .5rem;border-bottom:1px solid #85693b55;color:#2d2114;background:transparent}
.book-folio .operations-table-wrap thead th{position:static;border-bottom:2px solid #65451f;background:#c6a86e88;color:#3a2714;font-weight:700}
.book-folio .operations-table-wrap tbody th{color:#432b13;font-weight:700}
.book-folio .operations-table-wrap small{color:#694f2d}
.book-folio .operations-table-wrap button,.book-folio .responsibility-drill button{color:#3f321f;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.18rem}
.book-folio details summary{color:#5f431e;cursor:pointer;font-weight:700}
.book-folio .book-news{display:block;margin:.2rem 0 1rem;padding:.65rem;border:1px solid #9b483c;background:#9e3d2714}
.book-folio .book-news h4{margin:0 0 .45rem;color:#7d281e}.book-folio .book-news strong{color:#7d281e}

@media(max-width:1250px){
  .t02-operations-book{max-width:58rem}
  .operations-book-spread{grid-template-columns:1fr;gap:.25rem}
  .operations-book-spread::before{display:none}
  .book-folio-left,.book-folio-right{min-height:24rem;border-radius:6px;transform:none}
  .book-folio-right{border-top:5px double #6e4a22}
  .book-clasp{display:none}
}
@media(max-width:700px){
  .t02-operations-book{padding:.65rem .45rem .85rem;border-radius:8px}
  .t02-operations-book>header{padding-inline:.4rem}
  .book-register{margin:0;padding-inline:.1rem}.book-register button{flex:1 1 8.5rem}
  .book-folio{min-height:20rem;padding:1rem .75rem 1.8rem}
  .book-folio .operations-table-wrap table{min-width:34rem;font-size:.72rem}
}
