/* Pal Ledger Final Brand: #071A24 background, #102C3A surfaces, #22D3EE accent, #F8FAFC text. */
/* Pal Ledger — My Palbox / Breeding Tree. Scoped to avoid WordPress theme collisions. */
.pal-ledger-palbox-widget {
  --plb-bg: #071A24;
  --plb-surface: #102C3A;
  --plb-elevated: #102C3A;
  --plb-primary: #22D3EE;
  --plb-secondary: #22D3EE;
  --plb-text: #F8FAFC;
  --plb-muted: rgba(248,250,252,.72);
  --plb-border: rgba(248,250,252,.11);
  --plb-border-strong: rgba(248,250,252,.18);
  --plb-primary-soft: rgba(34,211,238,.11);
  --plb-secondary-soft: rgba(34,211,238,.13);
  color: var(--plb-text);
  font-family: Roboto, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  width: 100%;
}
.pal-ledger-palbox-widget * { box-sizing: border-box; }
.pal-ledger-palbox-widget button,
.pal-ledger-palbox-widget input { font: inherit; }
.plb-shell { background: var(--plb-bg); border: 1px solid var(--plb-border); border-radius: 20px; overflow: visible; box-shadow: none; }
.plb-header { padding: 28px; border-bottom: 1px solid var(--plb-border); display: flex; gap: 24px; justify-content: space-between; align-items: flex-start; }
.plb-eyebrow { margin: 0 0 8px; color: var(--plb-primary); font-size: 12px; font-weight: 800; letter-spacing: .11em; }
.plb-header h2, .plb-section-head h3, .plb-route-success h3, .plb-route-unreachable h3 { font-family: Poppins, Roboto, system-ui, sans-serif; color: var(--plb-text); }
.plb-header h2 { margin: 0; font-size: clamp(28px,4vw,42px); line-height: 1.08; }
.plb-lede { margin: 10px 0 0; max-width: 760px; color: var(--plb-muted); line-height: 1.65; }
.plb-header-status { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 12px; border: 1px solid rgba(34,211,238,.25); border-radius: 999px; background: var(--plb-primary-soft); color: var(--plb-text); font-size: 13px; font-weight: 800; white-space: nowrap; }
.plb-header-status::before { content:""; width: 8px; height: 8px; border-radius: 50%; background: var(--plb-primary); box-shadow: none; }
.plb-body { padding: 24px; display: grid; gap: 18px; }
.plb-panel { background: var(--plb-surface); border: 1px solid var(--plb-border); border-radius: 16px; padding: 20px; }
.plb-section-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.plb-section-head h3 { margin: 0; font-size: 20px; }
.plb-section-head p { margin: 6px 0 0; color: var(--plb-muted); line-height: 1.55; }
.plb-section-meta { color: var(--plb-muted); font-size: 13px; white-space: nowrap; }
.plb-palbox-toolbar { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: start; }
.plb-clear { min-height: 46px; padding: 0 15px; border-radius: 10px; border: 1px solid var(--plb-border-strong); color: var(--plb-muted); background: transparent; cursor: pointer; font-weight: 700; }
.plb-clear:hover:not(:disabled) { color: var(--plb-text); border-color: var(--plb-primary); }
.plb-clear.is-armed { border-color: var(--plb-primary); color: var(--plb-primary); background: var(--plb-primary-soft); }
.plb-clear:disabled { opacity: .45; cursor: not-allowed; }
.plb-palbox-chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 14px; min-height: 42px; align-items: center; }
.plb-owned-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 5px 7px 5px 5px; background: var(--plb-elevated); border: 1px solid var(--plb-border); border-radius: 999px; font-weight: 700; }
.plb-owned-chip button { border: 0; width: 28px; height: 28px; border-radius: 50%; background: rgba(248,250,252,.07); color: var(--plb-muted); cursor: pointer; font-size: 19px; line-height: 1; }
.plb-owned-chip button:hover { color: var(--plb-text); background: rgba(248,250,252,.12); }
.plb-palbox-empty { width: 100%; padding: 16px; border: 1px dashed var(--plb-border-strong); border-radius: 12px; display: flex; flex-direction: column; gap: 4px; color: var(--plb-muted); }
.plb-palbox-empty strong { color: var(--plb-text); }
.plb-workspace { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 18px; align-items: start; }
.plb-target-panel { position: sticky; top: 16px; }
.plb-route-result { margin-top: 16px; }
.plb-combobox { position: relative; width: 100%; }
.plb-combobox-control { min-height: 48px; background: var(--plb-elevated); border: 1px solid var(--plb-border-strong); border-radius: 11px; display: flex; align-items: center; transition: border-color .18s ease; }
.plb-combobox-control:focus-within { border-color: var(--plb-primary); box-shadow: none; }
.plb-search-icon { color: var(--plb-muted); padding-left: 14px; font-size: 20px; }
.plb-combobox input { min-width: 0; flex: 1; min-height: 46px; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent !important; color: var(--plb-text) !important; padding: 0 10px !important; }
.plb-combobox input::placeholder { color: rgba(248,250,252,.45); }
.plb-combobox-toggle { width: 44px; min-height: 46px; border: 0; background: transparent; color: var(--plb-muted); cursor: pointer; }
.plb-combobox-menu { position: absolute; z-index: 10050; left: 0; right: 0; top: calc(100% + 6px); max-height: 360px; overflow: auto; background: #102C3A; border: 1px solid var(--plb-border-strong); border-radius: 12px; box-shadow: none; padding: 6px; }
.plb-combobox-options { display: grid; gap: 3px; }
.plb-option { width: 100%; min-height: 56px; border: 0; border-radius: 9px; background: transparent; color: var(--plb-text); text-align: left; padding: 7px 8px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 10px; align-items: center; cursor: pointer; }
.plb-option:hover, .plb-option.is-active { background: rgba(248,250,252,.065); }
.plb-option-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.plb-option-copy strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plb-option-copy small { color: var(--plb-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.plb-option-rarity { font-size: 12px; font-weight: 800; color: var(--plb-secondary); border: 1px solid rgba(34,211,238,.24); background: var(--plb-secondary-soft); border-radius: 999px; padding: 4px 7px; }
.plb-combobox-foot { position: sticky; bottom: -6px; margin: 5px -1px -1px; padding: 8px; border-top: 1px solid var(--plb-border); background: #102C3A; color: var(--plb-muted); font-size: 11px; text-align: center; }
.plb-combobox-empty { padding: 16px 10px; color: var(--plb-muted); text-align: center; }
.plb-avatar { position: relative; flex: none; display: inline-grid; place-items: center; overflow: hidden; border-radius: 10px; background: var(--plb-elevated); border: 1px solid var(--plb-border); color: var(--plb-text); font-weight: 900; }
.plb-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; background: var(--plb-elevated); }
.plb-avatar-fallback { font-size: .72em; opacity: .85; }
.plb-avatar.is-chip { width: 30px; height: 30px; border-radius: 50%; }
.plb-avatar.is-option { width: 42px; height: 42px; }
.plb-avatar.is-node { width: 48px; height: 48px; }
.plb-avatar.is-mini { width: 34px; height: 34px; border-radius: 8px; }
.plb-avatar.is-route { width: 74px; height: 74px; border-radius: 14px; }
.plb-route-empty, .plb-tree-empty { border: 1px dashed var(--plb-border-strong); border-radius: 12px; padding: 18px; display: flex; gap: 12px; align-items: center; color: var(--plb-muted); }
.plb-route-empty > span, .plb-tree-empty > span { width: 38px; height: 38px; flex: none; display: grid; place-items: center; border-radius: 10px; background: var(--plb-elevated); color: var(--plb-secondary); }
.plb-route-empty div, .plb-tree-empty div { display: grid; gap: 4px; }
.plb-route-empty strong, .plb-tree-empty strong { color: var(--plb-text); }
.plb-route-empty small, .plb-tree-empty small { line-height: 1.45; }
.plb-route-success { border: 1px solid rgba(34,211,238,.25); border-radius: 13px; padding: 16px; background: rgba(34,211,238,.055); }
.plb-route-success.is-owned-target { display: flex; gap: 14px; align-items: center; }
.plb-route-hero { display: flex; gap: 14px; align-items: center; }
.plb-route-kicker { display: block; color: var(--plb-primary); font-size: 11px; font-weight: 900; letter-spacing: .08em; margin-bottom: 3px; }
.plb-route-success h3, .plb-route-unreachable h3 { margin: 0; font-size: 20px; }
.plb-route-success p, .plb-route-unreachable p { color: var(--plb-muted); margin: 5px 0 0; line-height: 1.5; }
.plb-route-steps { margin-top: 16px; display: grid; gap: 8px; }
.plb-route-step { position: relative; padding: 10px 10px 10px 36px; background: var(--plb-elevated); border: 1px solid rgba(34,211,238,.2); border-radius: 11px; }
.plb-route-step::before { content:""; position:absolute; left: 18px; top: 0; bottom: -9px; width: 2px; background: var(--plb-primary); opacity: .65; }
.plb-route-step:last-child::before { bottom: 50%; }
.plb-step-number { position: absolute; left: 9px; top: 50%; transform: translateY(-50%); z-index:1; width: 20px; height: 20px; display:grid; place-items:center; border-radius:50%; background: var(--plb-primary); color:#071A24; font-size: 11px; font-weight:900; }
.plb-step-pals { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.plb-step-pal { display:inline-flex; align-items:center; gap:6px; min-width:0; }
.plb-step-pal > span:last-child { font-weight:700; }
.plb-step-pal small { display:block; color:var(--plb-secondary); font-size:10px; }
.plb-step-plus, .plb-step-arrow { color: var(--plb-muted); font-weight:900; }
.plb-route-promote { min-height: 44px; flex:1 1 180px; border-radius:10px; border:1px solid var(--plb-primary); background:transparent; color:var(--plb-primary); font-weight:900; cursor:pointer; }
.plb-route-promote:hover { color:var(--plb-text); border-color:var(--plb-text); }
.plb-route-unreachable { display:flex; gap:12px; border:1px solid var(--plb-border-strong); border-radius:13px; padding:16px; background:rgba(248,250,252,.025); }
.plb-route-icon { width:40px; height:40px; flex:none; display:grid; place-items:center; border-radius:10px; background:var(--plb-secondary-soft); color:var(--plb-secondary); font-size:20px; }
.plb-suggestions { margin-top:12px; padding-top:12px; border-top:1px solid var(--plb-border); display:grid; gap:7px; color:var(--plb-muted); }
.plb-suggestions > strong { color:var(--plb-text); }
.plb-suggestion b { color:var(--plb-secondary); }
.plb-tree { display:grid; gap:8px; }
.plb-tree-roots { display:grid; gap:8px; }
.plb-promoted-label { margin: 15px 0 3px; color: var(--plb-secondary); font-size: 11px; font-weight: 900; letter-spacing:.08em; text-transform:uppercase; }
.plb-tree-node { border:1px solid var(--plb-border); border-radius:12px; background:var(--plb-elevated); overflow:hidden; }
.plb-tree-node.is-reachable { border-color:rgba(34,211,238,.22); }
.plb-node-head { width:100%; min-height:64px; padding:8px 10px; border:0; background:transparent; color:var(--plb-text); display:grid; grid-template-columns:auto auto minmax(0,1fr) auto; gap:10px; align-items:center; text-align:left; cursor:pointer; }
.plb-node-head:hover { background:rgba(248,250,252,.025); }
.plb-chevron { width:24px; height:24px; display:grid; place-items:center; color:var(--plb-muted); font-size:24px; transition:transform .18s ease; }
.plb-node-head[aria-expanded="true"] .plb-chevron { transform:rotate(90deg); }
.plb-node-copy { min-width:0; display:grid; gap:3px; }
.plb-node-copy strong { font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.plb-node-copy small { color:var(--plb-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.plb-owned-badge, .plb-gen-badge { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:5px 8px; font-size:11px; font-weight:900; white-space:nowrap; }
.plb-owned-badge { color:var(--plb-primary); background:var(--plb-primary-soft); border:1px solid rgba(34,211,238,.24); }
.plb-gen-badge { color:var(--plb-secondary); background:var(--plb-secondary-soft); border:1px solid rgba(34,211,238,.24); }
.plb-branches { display:grid; grid-template-rows:0fr; transition:grid-template-rows .18s ease; }
.plb-branches.is-open { grid-template-rows:1fr; }
.plb-branches-inner { min-height:0; overflow:hidden; padding:0 10px 0 54px; display:grid; gap:6px; }
.plb-branches.is-open .plb-branches-inner { padding-bottom:11px; padding-top:3px; }
.plb-branch { position:relative; min-height:52px; display:grid; grid-template-columns:minmax(0,.65fr) auto minmax(0,1fr); gap:8px; align-items:center; padding:7px; border:1px solid var(--plb-border); border-radius:10px; background:#102C3A; }
.plb-edge-line { position:absolute; left:-26px; top:-10px; bottom:50%; width:26px; border-left:2px solid rgba(248,250,252,.14); border-bottom:2px solid rgba(248,250,252,.14); border-radius:0 0 0 9px; }
.plb-branch.is-path { border-color:rgba(34,211,238,.3); background:rgba(34,211,238,.04); }
.plb-branch.is-path .plb-edge-line { border-color:var(--plb-primary); }
.plb-branch-pair { display:flex; align-items:center; gap:6px; min-width:0; color:var(--plb-text); font-size:13px; font-weight:700; }
.plb-branch-pair > span:last-child { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.plb-branch-source { color:var(--plb-muted); font-size:11px; font-weight:500; }
.plb-branch-arrow { color:var(--plb-muted); }
.plb-child-node { min-width:0; min-height:42px; border:0; background:transparent; color:var(--plb-text); display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:7px; align-items:center; text-align:left; cursor:pointer; border-radius:8px; padding:3px; }
.plb-child-node:hover { background:rgba(34,211,238,.07); }
.plb-child-node > span:nth-child(2) { min-width:0; display:grid; gap:2px; }
.plb-child-node strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.plb-child-node small { color:var(--plb-muted); }
.plb-show-more { min-height:40px; border:1px dashed var(--plb-border-strong); border-radius:9px; background:transparent; color:var(--plb-muted); font-weight:700; cursor:pointer; }
.plb-show-more:hover { color:var(--plb-primary); border-color:var(--plb-primary); }
.plb-no-branches { color:var(--plb-muted); padding:10px 0; font-size:13px; }
.plb-note { color:var(--plb-muted); font-size:12px; line-height:1.55; padding:0 2px; }
.plb-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.plb-noscript { padding:16px; background:var(--plb-surface); color:var(--plb-text); }
@media (max-width: 900px) {
  .plb-workspace { grid-template-columns:1fr; }
  .plb-target-panel { position:static; }
}
@media (max-width: 640px) {
  .plb-shell { border-radius:14px; }
  .plb-header, .plb-body { padding:16px; }
  .plb-header { flex-direction:column; }
  .plb-header-status { align-self:flex-start; }
  .plb-panel { padding:14px; }
  .plb-palbox-toolbar { grid-template-columns:1fr; }
  .plb-clear { width:100%; }
  .plb-section-head { flex-direction:column; gap:6px; }
  .plb-branches-inner { padding-left:28px; }
  .plb-branch { grid-template-columns:1fr; gap:5px; }
  .plb-branch-arrow { display:none; }
  .plb-edge-line { left:-17px; width:17px; }
  .plb-step-pals { align-items:flex-start; }
  .plb-step-arrow { width:100%; padding-left:18px; }
  .plb-route-hero { align-items:flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .pal-ledger-palbox-widget *, .pal-ledger-palbox-widget *::before, .pal-ledger-palbox-widget *::after { scroll-behavior:auto!important; transition:none!important; }
}

/* Palworld Breeding Path v3.4 controls. */
.plb-target-selected { margin-top:10px; min-height:48px; padding:7px 9px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:9px; align-items:center; border:1px solid var(--plb-primary); border-radius:11px; background:var(--plb-elevated); }
.plb-target-selected[hidden] { display:none!important; }
.plb-target-selected > span:nth-child(2) { min-width:0; display:grid; gap:1px; }
.plb-target-selected small { color:var(--plb-muted); font-size:11px; }
.plb-target-selected strong { color:var(--plb-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.plb-target-selected > button { width:34px; height:34px; border:1px solid var(--plb-border-strong); border-radius:9px; background:transparent; color:var(--plb-muted); cursor:pointer; font-size:20px; line-height:1; }
.plb-target-selected > button:hover { border-color:var(--plb-primary); color:var(--plb-text); }
.plb-find-path { width:100%; min-height:48px; margin-top:10px; padding:0 18px; border:1px solid var(--plb-primary); border-radius:10px; background:var(--plb-primary); color:var(--plb-bg); font-weight:900; cursor:pointer; }
.plb-find-path:hover:not(:disabled) { background:transparent; color:var(--plb-primary); }
.plb-find-path:disabled { opacity:.45; cursor:not-allowed; }
.plb-find-path:focus-visible,
.plb-clear:focus-visible,
.plb-route-promote:focus-visible,
.plb-save-path:focus-visible,
.plb-alternate-buttons button:focus-visible,
.plb-saved-actions button:focus-visible,
.plb-target-selected > button:focus-visible,
.plb-option:focus-visible,
.plb-node-head:focus-visible,
.plb-child-node:focus-visible { outline:2px solid var(--plb-primary); outline-offset:2px; }
.plb-route-actions { margin-top:12px; display:flex; flex-wrap:wrap; gap:9px; }
.plb-save-path { min-height:44px; flex:1 1 180px; padding:0 16px; border:1px solid var(--plb-primary); border-radius:10px; background:var(--plb-primary); color:var(--plb-bg); font-weight:900; cursor:pointer; }
.plb-save-path:hover:not(:disabled) { background:transparent; color:var(--plb-primary); }
.plb-save-path:disabled { opacity:.7; cursor:default; }
.plb-alternates { margin-top:12px; padding-top:12px; border-top:1px solid var(--plb-border); display:grid; gap:8px; }
.plb-alternates > strong { color:var(--plb-text); font-size:12px; }
.plb-alternate-buttons { display:flex; flex-wrap:wrap; gap:7px; }
.plb-alternate-buttons button { min-height:36px; padding:0 11px; border:1px solid var(--plb-border-strong); border-radius:9px; background:transparent; color:var(--plb-muted); font-weight:700; cursor:pointer; }
.plb-alternate-buttons button:hover,
.plb-alternate-buttons button.is-active { border-color:var(--plb-primary); color:var(--plb-primary); }
.plb-palbox-empty.is-full-dataset { border-style:solid; border-color:rgba(34,211,238,.24); }
.plb-palbox-empty.is-full-dataset strong { color:var(--plb-primary); }
.plb-saved-panel { display:grid; gap:2px; }
.plb-saved-paths { display:grid; gap:8px; }
.plb-saved-card { min-height:58px; padding:8px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:9px; align-items:center; border:1px solid var(--plb-border); border-radius:11px; background:var(--plb-elevated); }
.plb-saved-copy { min-width:0; display:grid; gap:2px; }
.plb-saved-copy strong { color:var(--plb-text); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.plb-saved-copy small { color:var(--plb-muted); }
.plb-saved-actions { display:flex; gap:6px; }
.plb-saved-actions button { min-height:34px; padding:0 9px; border:1px solid var(--plb-border-strong); border-radius:8px; background:transparent; color:var(--plb-muted); font-weight:700; cursor:pointer; }
.plb-saved-actions button:hover { border-color:var(--plb-primary); color:var(--plb-primary); }
.plb-save-feedback { min-height:0; margin:-6px 0 8px; font-size:12px; color:var(--plb-muted); }
.plb-save-feedback:empty { display:none; }
.plb-save-feedback.is-success { color:#22C55E; }
.plb-save-feedback.is-error { color:#EF4444; }
.plb-route-unreachable.is-error { border-color:#EF4444; }
.plb-route-unreachable.is-error .plb-route-icon { color:#EF4444; background:transparent; border:1px solid #EF4444; }

@media (max-width:640px) {
  .plb-find-path { min-height:50px; }
  .plb-route-actions { flex-direction:column; }
  .plb-route-promote, .plb-save-path { width:100%; flex-basis:auto; }
  .plb-saved-card { grid-template-columns:auto minmax(0,1fr); }
  .plb-saved-actions { grid-column:1 / -1; }
  .plb-saved-actions button { flex:1; }
}

