.book-workbench { width:min(84rem,calc(100% - 3rem)); margin-inline:auto; padding:calc(var(--shell-header-height) + 1.75rem) 0 4rem; }
.book-workbench [hidden] { display:none!important; }
.book-controls { display:grid; grid-template-columns:16rem minmax(0,1fr); gap:1rem; align-items:end; }
.book-controls label:not(.search-field):not(.wb-sr-only) { display:block; margin:0 0 .375rem; font-size:var(--type-ui-size); color:var(--text-secondary); }
.book-controls .search-field { min-width:0; }
.book-results-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.25rem 1rem; margin:1rem 0 .625rem; font-size:var(--type-ui-size); }
.book-status { margin:0; font-size:var(--type-ui-size); color:var(--text-muted); }
.book-mobile-sort { display:none; }
.book-table-scroll { overflow-x:auto; overscroll-behavior-x:contain; }
.book-table-scroll:focus-visible { outline:2px solid var(--focus); outline-offset:3px; }
.book-table { width:100%; min-width:64rem; table-layout:fixed; border-collapse:collapse; font-size:var(--type-ui-size); color:var(--text); }
.book-col-eligibility { width:17%; }
.book-col-skill { width:16%; }
.book-col-item { width:22%; }
.book-col-npc { width:16%; }
.book-col-chance { width:12%; }
.book-col-place { width:17%; }
.book-table--single .book-col-item { width:24%; }
.book-table--single .book-col-eligibility { width:10%; }
.book-table--single:lang(en) .book-col-item { width:22%; }
.book-table--single:lang(en) .book-col-eligibility { width:12%; }
.book-table--single .book-col-skill { width:18%; }
.book-table--single .book-col-npc { width:17%; }
.book-table--single .book-col-place { width:19%; }
.book-table th { padding:.75rem .625rem; text-align:left; white-space:nowrap; color:var(--text-secondary); background:var(--elevated); font-weight:600; border-block:1px solid var(--border); }
.book-table th[data-book-level-header] { padding-block:.25rem; }
.book-table td { padding:.875rem .625rem; vertical-align:top; border-bottom:1px solid var(--border); overflow-wrap:anywhere; }
.book-group:nth-of-type(even) { background:var(--surface); }
.book-record:hover,.book-record:focus-within { background:var(--elevated); }
.book-field-label { display:none; }
.book-table .wb-entity-link { --wb-entity-qualifier-size:var(--lu4-type-ui-size); color:var(--text); }
.book-table .wb-entity-link:hover { color:var(--link-hover); }
.book-eligibility-row { display:flex; align-items:baseline; justify-content:space-between; gap:.5rem; line-height:1.6; }
.book-eligibility-row + .book-eligibility-row { margin-top:.375rem; }
.book-class-names { min-width:0; }
.book-class-names a { display:inline-block; max-width:100%; color:var(--text-secondary); text-decoration:none; }
.book-class-names a:hover { color:var(--link-hover); text-decoration:underline; }
.book-learn-level { flex-shrink:0; color:var(--text-secondary); font-size:inherit; white-space:nowrap; font-variant-numeric:tabular-nums; }
.book-class-summary { display:grid; grid-template-columns:minmax(0,1fr) 1rem; align-items:start; column-gap:.5rem; box-sizing:border-box; width:100%; }
.book-class-summary__text { display:flex; align-items:baseline; flex-wrap:wrap; gap:.25rem .5rem; }
.book-class-summary .book-learn-level { white-space:normal; }
.book-class-chevron { margin-top:.25rem; }
.book-class-fold[open] > .book-class-summary .book-learn-level { display:none; }
.book-class-list { padding-top:.625rem; }
.book-chance { color:var(--lu4-accent); font-variant-numeric:tabular-nums; }
.book-chance strong { font-weight:600; }
.book-drop-stats { display:flex; align-items:baseline; gap:.625rem; white-space:nowrap; }
.book-chance small { color:var(--text-secondary); font-size:inherit; }
.book-place__main { display:flex; align-items:center; gap:.25rem; }
.book-place__main > .book-drop-toggle { margin-left:auto; }
.book-map { flex:0 0 2rem; width:2rem; height:2rem; padding:0; color:var(--link); }
.book-more { margin-top:1rem; }
.book-empty { margin:1.5rem 0; color:var(--text-secondary); }
@media(max-width:959px) { .book-workbench { width:calc(100% - 2rem); } }
@media(max-width:639px) {
 .book-workbench { padding-top:calc(var(--shell-header-height) + 1.25rem); }
 .book-controls { grid-template-columns:minmax(0,1fr); gap:.75rem; }
 .book-controls > div { min-width:0; }
 .book-mobile-sort { display:block; }
 .book-desktop-sort { display:none; }
 .book-table-scroll { overflow:visible; }
 .book-table { --book-field-label-width:4rem; display:block; min-width:0; }
 .book-table:lang(en) { --book-field-label-width:5rem; }
 .book-table colgroup { display:none; }
 .book-table thead { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .book-group { display:block; }
 .book-group:first-of-type { border-top:1px solid var(--border); }
 .book-record { display:grid; grid-template-columns:minmax(0,1fr); grid-template-areas:"npc" "chance" "place"; gap:.625rem; padding:1rem .5rem; border-bottom:1px solid var(--border); }
 .book-record[data-book-head] { grid-template-areas:"item" "skill" "eligibility" "npc" "chance" "place"; }
 .book-record:hover,.book-record:focus-within { background:transparent; }
 .book-record td { display:grid; grid-template-columns:var(--book-field-label-width) minmax(0,1fr); column-gap:.5rem; row-gap:.25rem; align-items:start; min-width:0; padding:0; border:0; }
 .book-field-label { display:block; grid-column:1; grid-row:1; color:var(--text-muted); font-size:var(--type-caption-size); font-weight:400; line-height:1.5; }
 .book-record td > :not(.book-field-label) { grid-column:2; min-width:0; }
 .book-item { grid-area:item; }
 .book-eligibility { grid-area:eligibility; }
 .book-skill { grid-area:skill; }
 .book-npc { grid-area:npc; }
 .book-chance { grid-area:chance; align-self:start; }
 .book-place { grid-area:place; }
 .book-class-fold { max-width:100%; }
 .book-table .book-skill .wb-entity-link { --wb-entity-icon-size:1.5rem; --wb-entity-gap:1rem; }
}
