.wb-page { padding: 12px 0 40px; min-height: 50vh; }
.wb [hidden] { display: none !important; }
.wb .wb-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:12px 0 28px; }
.wb .page-title { margin:0; font:400 clamp(34px,4.2vw,53px)/1.1 var(--serif); letter-spacing:-.025em; overflow-wrap:anywhere; }
.wb a:hover { color:var(--gold); }
.wb a.primary:hover { color:#191911; }
.wb-back,.wb-by,.wb-small { font-size:13px; color:var(--muted); }
.wb-back { display:inline-flex; padding:5px 0 10px; }
.wb-tools { display:flex; gap:12px; margin:0 0 20px; }
.wb-search { width:min(100%,380px); }
.wb-directory { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(245px,100%),1fr)); gap:18px; }
.wb-dirCard { display:flex; flex-direction:column; overflow:hidden; color:var(--fg); background:var(--pane); border:1px solid var(--line); border-radius:10px; }
.wb-dirCard:hover { border-color:var(--gold2); }
.wb-dirArt { height:166px; background:#282824; border-bottom:1px solid var(--line); }
.wb-dirArt img { width:100%; height:100%; object-fit:cover; }
.wb-dirArt.blank { display:grid; place-items:center; background:radial-gradient(ellipse at 25% 65%,#423c2e 0%,#292921 49%,#252529 88%); }
.wb-dirArt.blank span { font:60px var(--serif); color:var(--gold2); }
.wb-dirCopy { padding:17px 19px; }
.wb-dirCopy small,.wb-profile small { color:var(--gold); font-weight:600; }
.wb-dirCopy h2 { font-size:24px; margin:5px 0 8px; color:var(--fg); overflow-wrap:anywhere; }
.wb-dirCopy p { color:var(--muted); overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; }
.wb-dirCopy>span,.wb-notice time,.wb-log time,.wb-admin-row small { display:block; color:var(--dim); font-size:12px; margin-top:10px; }
.wb-empty { padding:40px 22px; text-align:center; border:1px dashed var(--line); border-radius:9px; background:var(--pane); }
.wb-empty h2 { margin:8px 0 12px; font-size:23px; }
.wb-diamond,.wb-seal { color:var(--gold); font-size:32px; }
.wb-form,.wb-login-card,.wb-record { background:var(--pane); border:1px solid var(--line); border-radius:12px; padding:clamp(18px,3vw,34px); }
.wb-form { width:min(100%,850px); }
.wb-form.wide { width:min(100%,980px); }
.wb-form h2 { font-size:25px; margin:14px 0; }
.wb-form h2:first-child { margin-top:0; }
.wb-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.wb-field { display:flex; flex-direction:column; align-items:stretch; gap:7px; min-width:0; font-weight:550; }
.wb-field input,.wb-field textarea,.wb-field select,.wb-admin-row select { width:100%; min-width:0; font-weight:400; background:#18191b; }
.wb-field textarea { resize:vertical; line-height:1.5; }
.wb .full { grid-column:1/-1; }
.wb-actions,.wb-inline-board { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.wb-form>.wb-actions,.wb-dialog .wb-actions { padding-top:20px; margin-top:20px; border-top:1px solid var(--line); }
.wb-check { display:flex; align-items:flex-start; gap:10px; margin:14px 0; color:var(--muted); line-height:1.5; }
.wb-check input { flex-shrink:0; margin:4px 0 0; width:16px; height:16px; }
.wb-check a,.wb-rules a { color:var(--gold); text-decoration:underline; }
.wb-error { color:#ffe6df; background:#452c28; border-radius:6px; padding:10px 12px; margin:12px 0; }
.wb-picks,.wb-tags,.wb-links { display:flex; flex-wrap:wrap; gap:6px; }
.wb-picks:empty { display:none; }
.wb-pill,.wb-tags a,.wb-links a { color:var(--gold); background:#26251f; border:1px solid #4b4435; border-radius:5px; padding:4px 9px; font-size:13px; }
.wb-links a small { color:var(--muted); margin-left:6px; }
.wb-cover-results:empty,.wb-selected-cover:empty { display:none; }
.wb-cover-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); padding:8px 0; gap:8px; max-height:260px; overflow:auto; }
.wb-cover-option { text-align:left; display:flex; flex-direction:column; gap:3px; align-items:flex-start; padding:5px; font-size:12px; }
.wb-cover-option img { width:100%; height:70px; object-fit:cover; border-radius:4px; }
.wb-selected-cover { display:flex; gap:10px; align-items:center; }
.wb-selected-cover img,.wb-edit-image img { height:90px; max-width:180px; object-fit:contain; border-radius:5px; }
.wb-edit-image { margin:0 0 18px; }
.wb-inline-board { align-items:flex-end; }
.wb-inline-board>.wb-picker { flex:1; min-width:min(200px,100%); }
.wb-relRows { display:grid; gap:8px; }
.wb-relation { display:grid; grid-template-columns:1fr 1fr auto; gap:7px; }
.wb-field>[data-add-rel] { align-self:flex-start; }
.wb-drop { display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; position:relative; padding:22px 12px; margin-bottom:20px; border:1px dashed #77684c; border-radius:9px; background:#22221e; color:var(--muted); cursor:pointer; }
.wb-drop:focus-within,.wb-drop.over,.wb-drop:hover { background:#302d25; border-color:var(--gold); }
.wb-drop input { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.wb-drop strong { color:var(--fg); font-size:18px; margin:4px 0; }
.wb-dropmark { border:1px solid #5d5545; border-radius:50%; color:var(--gold); width:38px; height:38px; font-size:23px; }
.wb-drop small { margin-top:12px; color:var(--dim); }
.wb-file { display:grid; grid-template-columns:76px minmax(0,1fr) auto; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.wb-file img { width:76px; height:68px; object-fit:contain; background:#171719; }
.wb-files:not(:empty) { margin:0 0 20px; }
.wb-record { display:flex; gap:clamp(18px,3vw,38px); align-items:center; }
.wb-record-art { object-fit:cover; width:33%; height:clamp(150px,18vw,260px); border-radius:8px; }
.wb-record-text { min-width:0; }
.wb-meta,.wb-data,.wb-links,.wb-tags { margin:12px 0 0; }
.wb-meta { display:flex; gap:8px; color:var(--muted); }
.wb-meta span:not(:last-child)::after { content:' ·'; }
.wb-prose { white-space:pre-line; overflow-wrap:anywhere; }
.wb-data { display:flex; flex-wrap:wrap; gap:18px; }
.wb-data dt { color:var(--dim); font-size:12px; }
.wb-data dd { margin:0; }
.wb-section-title { margin:26px 0 16px; font-size:27px; }
.wb-arrange { margin:0 0 15px; }
.wb-tabs { display:flex; gap:20px; overflow:auto; margin:18px 0 22px; border-bottom:1px solid var(--line); }
.wb-tabs a { flex:none; padding:9px 1px; border-bottom:2px solid transparent; color:var(--muted); }
.wb-tabs a[aria-current] { border-color:var(--gold); color:var(--fg); }
.wb-profile,.wb-config-profile { display:flex; gap:16px; align-items:center; }
.wb-profile { border-bottom:1px solid var(--line); padding:10px 0 24px; }
.wb-profile h2,.wb-config-profile h2 { font-size:30px; margin:5px 0; }
.wb-avatar,.wb-initial { width:60px; height:60px; border:1px solid var(--line); border-radius:50%; flex-shrink:0; object-fit:cover; }
.wb-initial { display:grid; place-items:center; font:28px var(--serif); color:var(--gold); background:#29271f; }
.wb-config-profile { margin-bottom:18px; }
.wb-login { width:min(100%,550px); margin:12px auto; }
.wb-login-card { text-align:center; }
.wb-login-card h1 { font:400 clamp(33px,4vw,43px) var(--serif); margin:4px 0 13px; }
.wb-login-card>p,.wb-rules p { color:var(--muted); }
.wb-loginBtn,.wb-config { margin-top:18px; }
.wb-config { padding:12px; border:1px solid var(--line); border-radius:6px; }
.wb-demo { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.wb-demo h2 { font-size:22px; margin-bottom:10px; }
.wb-demo .wb-field { margin-bottom:12px; }
.wb-notices,.wb-boardlist,.wb-log { display:grid; gap:8px; }
.wb-notice,.wb-admin-row,.wb-log li,.wb-boardbtn { display:flex; justify-content:space-between; align-items:center; gap:10px; background:var(--pane); border:1px solid var(--line); border-radius:7px; padding:14px; }
.wb-notice.unseen { border-left:3px solid var(--gold); }
.wb-admin-row { margin-bottom:8px; flex-wrap:wrap; }
.wb-admin-row>div:first-child { min-width:0; overflow-wrap:anywhere; }
.wb-admin-row h3 { font-size:20px; margin:4px 0 8px; }
.wb-admin-row form { display:flex; align-items:center; flex-wrap:wrap; gap:7px; }
.wb-admin-row select { width:auto; }
.wb-admin-row .wb-check { margin:0; }
.wb-compact { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; margin-bottom:18px; }
.wb-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr)); gap:12px; }
.wb-stats>div { background:var(--pane); border:1px solid var(--line); border-radius:8px; padding:16px; }
.wb-stats span { display:block; color:var(--muted); }
.wb-stats strong { font:30px var(--serif); color:var(--gold); }
.wb-log { padding:0; list-style:none; }
.wb-log time,.wb-notice time { margin:0; white-space:nowrap; }
.wb-dialog { color:var(--fg); background:var(--pane); border:1px solid #554e40; border-radius:12px; padding:22px; box-shadow:0 24px 96px #0009; max-height:min(90dvh,820px); width:min(520px,calc(100% - 24px)); overflow:auto; }
.wb-dialog::backdrop { background:rgba(10,10,12,.75); }
.wb-dialog-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; }
.wb-dialog-heading h2 { font-size:26px; }
.wb-dialog-heading [data-close] { min-width:38px; font-size:19px; padding:6px; }
.wb-boardbtn { width:100%; color:var(--fg); text-align:left; }
.wb-boardbtn[aria-pressed=true] { border-color:#8e7955; }
.wb-boardbtn small { color:var(--gold); }
.wb .danger { background:#4d2825; border-color:#905d52; }
@media(max-width:640px){
  .wb-page { padding:3px 0 26px; }
  .wb .wb-heading { align-items:flex-start; flex-direction:column; margin-bottom:18px; }
  .wb-fields { grid-template-columns:minmax(0,1fr); gap:13px; }
  .wb-relation { grid-template-columns:minmax(0,1fr) auto; }
  .wb-relation select { grid-column:1/-1; }
  .wb-record { display:block; }
  .wb-record-art { width:100%; max-height:180px; margin-bottom:12px; }
  .wb-form,.wb-login-card { padding:16px; }
  .wb-directory { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .wb-dirArt { height:104px; }
  .wb-dirCopy { padding:9px; }
  .wb-dirCopy h2 { font-size:19px; }
  .wb-file { grid-template-columns:54px minmax(0,1fr) auto; gap:6px; }
  .wb-file img { width:54px; height:54px; }
  .wb-tabs { gap:14px; }
  .wb-stats { grid-template-columns:1fr 1fr; }
}
.wb-picker-error:empty { display:none; }
.wb-picker-error { color:#e2bcac; }
.wb-more { margin-top:16px; }
