/*! CLXPack bundle (mecha-pack v3.4): bar, instock, print, shoplist, find, progress, glance, binder, compare, share, shortcuts - concatenated by build-bundle.mjs, do not edit */
/* CLXPack bar v1.1.1 - the shared toolbar's phone fold + the Tron tools tier. .clxp-* selectors only, no global rules. The base bar/button rules stay in each module's CSS
   (so a module works alone); this file only adds the fold and the menu. ONE fixed 40px row at every width. 680px and up: More + menu are display:none unless the bar holds a tools-tier button. */
.clxp-more, .clxp-menu { display:none; }
@media (max-width:679px) {
  html .clxp-bar { position:relative; overflow:visible; gap:5px; }   /* html + .clxp-bar outranks the base .clxp-bar rule in the module CSS that loads after this file */
  .clxp-bar > .clxp-btn { padding:9px 6px; font-size:12px; }
  .clxp-bar > .clxp-btn[data-clxp] { flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }   /* v1.1: a long state label ("Checking shop stock...") shrinks with an ellipsis instead of pushing More off a 360px screen */
  .clxp-bar > .clxp-btn[data-clxp]:not([data-clxp=find]):not([data-clxp=print-missing]):not([data-clxp=instock]) { display:none; }
  .clxp-bar .clxp-ll { display:none; } .clxp-bar .clxp-ls { display:inline; }   /* "Print what I need" -> "Print needs": four buttons fit a 316px bar */
  .clxp-more[data-n] { display:inline-block; margin-left:auto; }
  .clxp-menu:not([hidden]) { display:flex; flex-direction:column; position:absolute; top:42px; right:0; z-index:30; min-width:200px; padding:4px; background:#fff; border:1px solid #c9c4b3; border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.28); }
  .clxp-mi { font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; text-align:left; padding:12px; border:0; background:none; color:#2e375b; border-radius:6px; cursor:pointer; }
  .clxp-mi:hover { background:#f3efdd; } .clxp-mi:focus-visible { outline:2px solid #bba347; outline-offset:-2px; } .clxp-mi:disabled { opacity:.6; }
}
/* v1.1 tools tier (Tron): buttons marked data-clxp-t2 live in the More menu at EVERY width. Only a bar holding one gets [data-t2], so a Mecha-only bar renders exactly as v1.0. */
.clxp-bar > .clxp-btn[data-clxp-t2] { display:none; }
html .clxp-bar[data-t2] { position:relative; overflow:visible; }
.clxp-bar[data-t2] > .clxp-more[data-n] { display:inline-block; margin-left:auto; }
.clxp-menu .clxp-sep { width:auto; margin:4px 8px; border:0; border-top:1px solid #e6e3da; }
@media (min-width:680px) {
  .clxp-bar[data-t2] > .clxp-more::after { content:"\25BE"; margin-left:5px; font-size:11px; }
  .clxp-bar[data-t2] .clxp-menu:not([hidden]) { display:flex; flex-direction:column; position:absolute; top:42px; right:0; z-index:30; min-width:200px; padding:4px; background:#fff; border:1px solid #c9c4b3; border-radius:8px; box-shadow:0 8px 24px rgba(0,0,0,.28); }
  .clxp-bar[data-t2] .clxp-mi { font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; text-align:left; padding:10px 12px; border:0; background:none; color:#2e375b; border-radius:6px; cursor:pointer; }
  .clxp-bar[data-t2] .clxp-mi:hover { background:#f3efdd; } .clxp-bar[data-t2] .clxp-mi:focus-visible { outline:2px solid #bba347; outline-offset:-2px; } .clxp-bar[data-t2] .clxp-mi:disabled { opacity:.6; }
}
/* CLXPack instock v1.0.0 - .clxp-* selectors only; no global rules. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; } .clxp-btn:disabled { opacity:.6; cursor:default; }
.clxp-stock[aria-pressed=true] { background:#1f7a47; border-color:#1f7a47; color:#fff; }
/* CLXPack print v1.0.0. Every selector is .clxp-* / #clxp-print. Exactly ONE rule touches elements outside the pack:
   `html.clxp-printing body > *:not(#clxp-print)` below. It only matches while the pack has set html.clxp-printing for the
   browser's print pass (removed on afterprint), so the live page is never affected. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; }
#clxp-print { display:none; }
@media print {
  html.clxp-printing body > *:not(#clxp-print) { display:none !important; }   /* THE one global print rule (state-gated) */
  html.clxp-printing #clxp-print { display:block !important; font:10pt/1.25 Arial, sans-serif; color:#000; background:#fff; }
  #clxp-print header { border-bottom:2pt solid #000; padding-bottom:4pt; margin-bottom:6pt; }
  #clxp-print .t1 { font-size:16pt; font-weight:700; } #clxp-print .t2 { font-size:8.5pt; color:#333; margin-top:2pt; }
  #clxp-print ol { list-style:none; margin:0; padding:0; columns:3; column-gap:14pt; column-rule:.5pt solid #bbb; }
  #clxp-print li { break-inside:avoid; display:flex; gap:4pt; padding:1.2pt 0; border-bottom:.25pt solid #ddd; font-size:8.5pt; }
  #clxp-print .bx { width:10pt; } #clxp-print .no { width:28pt; text-align:right; font-weight:700; } #clxp-print .nm { flex:1; } #clxp-print .nm i { color:#555; font-style:normal; font-size:7.5pt; } #clxp-print .fl { width:18pt; text-align:right; }
}
.clxp-ls { display:none; }   /* the short phone label of "Print what I need"; clx-bar.css swaps it in below 680px */
/* CLXPack shoplist v1.0.0 - .clxp-* selectors only; no global rules. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; }
.clxp-dlg { width:min(560px,96vw); max-width:96vw; max-height:88vh; border:0; border-radius:10px; padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35); color:#2e2226; }
.clxp-dlg::backdrop { background:rgba(26,26,46,.55); }
.clxp-dw { padding:14px 16px; } .clxp-dw header { display:flex; justify-content:space-between; align-items:center; } .clxp-dw h2 { margin:0; font-size:20px; }
.clxp-x { border:0; background:none; font-size:26px; line-height:1; cursor:pointer; padding:4px 8px; }
.clxp-tabs { display:flex; gap:6px; margin:10px 0; } .clxp-tabs button { font:inherit; font-size:13px; padding:7px 10px; border:1px solid #c9c4b3; background:#fff; border-radius:6px; cursor:pointer; }
.clxp-tabs button[aria-selected=true] { background:#2e375b; color:#fff; border-color:#2e375b; }
.clxp-list { margin:0; padding:0 0 0 0; list-style:none; max-height:48vh; overflow:auto; } .clxp-list li { padding:6px 0; border-bottom:1px solid #eee; font-size:14px; } .clxp-list small { color:#5e637a; }
.clxp-tag { background:#1f7a47; color:#fff; font-size:10px; font-weight:800; text-transform:uppercase; padding:2px 6px; border-radius:3px; }
.clxp-dw footer { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px; } .clxp-msg, .clxp-empty { font-size:13px; color:#5e637a; }
/* CLXPack find v1.0.0 - .clxp-* selectors only; no global rules. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; }
.clxp-dlg { width:min(560px,96vw); max-width:96vw; max-height:88vh; border:0; border-radius:10px; padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35); color:#2e2226; } .clxp-dlg::backdrop { background:rgba(26,26,46,.55); }
.clxp-dw { padding:14px 16px; } .clxp-dw header { display:flex; justify-content:space-between; align-items:center; } .clxp-dw h2 { margin:0; font-size:20px; }
.clxp-x { border:0; background:none; font-size:26px; line-height:1; cursor:pointer; padding:4px 8px; } .clxp-sub, .clxp-msg { font-size:13px; color:#5e637a; margin:6px 0; }
.clxp-fin { width:100%; box-sizing:border-box; font:inherit; font-size:16px; padding:10px 12px; border:1px solid #c9c4b3; border-radius:6px; }
.clxp-fl { list-style:none; margin:8px 0 0; padding:0; max-height:46vh; overflow:auto; } .clxp-fl li { display:flex; flex-wrap:wrap; gap:4px 10px; align-items:baseline; padding:9px 8px; border-bottom:1px solid #eee; cursor:pointer; font-size:14px; }
.clxp-fl li[aria-selected=true] { background:#f3efdd; outline:2px solid #bba347; outline-offset:-2px; } .clxp-fl small { color:#5e637a; }
.clxp-st { font-size:11px; font-weight:700; color:#2e375b; } .clxp-tag { background:#1f7a47; color:#fff; font-size:10px; font-weight:800; text-transform:uppercase; padding:2px 6px; border-radius:3px; }
/* CLXPack progress v1.1.0 (Tron). .clxp-* selectors only; base bar/button/dialog rules repeated so the module works alone. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; }
.clxp-dlg { width:min(560px,96vw); max-width:96vw; max-height:88vh; border:0; border-radius:10px; padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35); color:#2e2226; background:#fff; }
.clxp-dlg::backdrop { background:rgba(26,26,46,.55); }
.clxp-dw { padding:14px 16px 16px; } .clxp-dw header { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:4px; } .clxp-dw h2 { margin:0; font-size:20px; line-height:1.2; color:#2e375b; }
.clxp-sub { margin:3px 0 0; font-size:13px; color:#5e637a; }
.clxp-x { flex:none; border:0; background:none; font-size:28px; line-height:1; cursor:pointer; min-width:44px; min-height:44px; margin:-10px -12px 0 0; padding:0; color:#2e375b; border-radius:6px; }
.clxp-x:hover { background:#f3efdd; } .clxp-x:focus-visible { outline:2px solid #bba347; outline-offset:-2px; }
.clxp-dlg h3 { font-size:12px; margin:16px 0 6px; text-transform:uppercase; letter-spacing:.06em; color:#5e637a; }
.clxp-dlg .clxp-btn { min-height:40px; }
.clxp-note { font-size:12px; color:#5e637a; margin:12px 0 0; }
.clxp-pg-top { display:flex; gap:16px; align-items:center; margin-top:10px; } .clxp-pg-top p { margin:3px 0; font-size:14px; } .clxp-pg-big { font-size:22px !important; color:#2e375b; } .clxp-pg-sub { color:#5e637a; }
.clxp-ring { flex:none; } .clxp-ring .t { fill:none; stroke:#e7e3d4; stroke-width:10; } .clxp-ring .v { fill:none; stroke:#1f7a47; stroke-width:10; stroke-linecap:round; transition:stroke-dasharray .6s ease-out; } .clxp-ring text { font:700 19px sans-serif; fill:#2e375b; }
.clxp-pg-track { list-style:none; margin:14px 0 0; padding:0; display:grid; grid-template-columns:repeat(6,1fr); gap:4px; }
.clxp-pg-track li { text-align:center; font-size:11px; line-height:1.25; padding:6px 2px; border-radius:6px; background:#f5f3ea; color:#5e637a; border:1px solid transparent; } .clxp-pg-track b { display:block; font-size:13px; color:#2e375b; }
.clxp-pg-track li.done { background:#e8f4ec; border-color:#1f7a47; color:#1f7a47; } .clxp-pg-track li.done b { color:#1f7a47; } .clxp-pg-track li.next { border-color:#bba347; background:#fdfbf0; }
.clxp-pg-bars, .clxp-pg-next { list-style:none; margin:0; padding:0; font-size:14px; } .clxp-pg-bars li { display:grid; grid-template-columns:minmax(0,10.5em) 1fr 4.5em; gap:8px; align-items:center; padding:3px 0; }
.clxp-pg-bars .l { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .clxp-pg-bars .l small { color:#5e637a; font-size:12px; } .clxp-pg-bars .n { text-align:right; font-variant-numeric:tabular-nums; }
.clxp-pg-bars .b { height:8px; background:#e7e3d4; border-radius:4px; overflow:hidden; } .clxp-pg-bars .b i { display:block; height:100%; background:#1f7a47; border-radius:4px; }
.clxp-pg-next li { display:flex; justify-content:space-between; gap:8px; padding:5px 0; border-bottom:1px solid #eee; } .clxp-pg-next a { color:#2e375b; } .clxp-pg-next span { color:#5e637a; font-size:12px; text-align:right; }
@media (max-width:420px) { .clxp-pg-track { grid-template-columns:repeat(3,1fr); } .clxp-pg-bars li { grid-template-columns:1fr 4.5em; row-gap:3px; } .clxp-pg-bars .l { grid-column:1 / -1; white-space:normal; } }   /* phones: the label gets its own line, the bar + count sit under it - nothing truncates */
/* CLXPack glance v1.1.0 (Tron). .clxp-* selectors only; base bar/button/dialog rules repeated so the module works alone. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; }
.clxp-dlg { width:min(560px,96vw); max-width:96vw; max-height:88vh; border:0; border-radius:10px; padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35); color:#2e2226; background:#fff; }
.clxp-dlg::backdrop { background:rgba(26,26,46,.55); }
.clxp-dw { padding:14px 16px 16px; } .clxp-dw header { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:4px; } .clxp-dw h2 { margin:0; font-size:20px; line-height:1.2; color:#2e375b; }
.clxp-sub { margin:3px 0 0; font-size:13px; color:#5e637a; }
.clxp-x { flex:none; border:0; background:none; font-size:28px; line-height:1; cursor:pointer; min-width:44px; min-height:44px; margin:-10px -12px 0 0; padding:0; color:#2e375b; border-radius:6px; }
.clxp-x:hover { background:#f3efdd; } .clxp-x:focus-visible { outline:2px solid #bba347; outline-offset:-2px; }
.clxp-dlg h3 { font-size:12px; margin:16px 0 6px; text-transform:uppercase; letter-spacing:.06em; color:#5e637a; }
.clxp-dlg .clxp-btn { min-height:40px; }
.clxp-note { font-size:12px; color:#5e637a; margin:12px 0 0; }
.clxp-gl-tiles { list-style:none; margin:10px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.clxp-gl-tiles li { background:#f5f3ea; border-radius:8px; padding:10px 8px; text-align:center; font-size:12px; line-height:1.25; color:#5e637a; } .clxp-gl-tiles b { display:block; font-size:22px; color:#2e375b; font-variant-numeric:tabular-nums; margin-bottom:2px; }
.clxp-gl { margin:6px 0 0; padding:0 0 0 18px; font-size:14px; } .clxp-gl li { padding:2px 0; }
.clxp-gl-t { border-collapse:collapse; font-size:14px; width:100%; } .clxp-gl-t th, .clxp-gl-t td { text-align:left; padding:4px 6px; border-bottom:1px solid #eee; font-weight:normal; } .clxp-gl-t th[scope=row] { font-weight:600; } .clxp-gl-t thead th { font-size:12px; color:#5e637a; }
.clxp-gl-chips { list-style:none; margin:6px 0 0; padding:0; display:flex; flex-wrap:wrap; gap:6px; } .clxp-gl-chips li { font-size:13px; padding:4px 10px; border:1px solid #c9c4b3; border-radius:999px; background:#fff; } .clxp-gl-chips b { color:#2e375b; }
@media (max-width:420px) { .clxp-gl-tiles { grid-template-columns:repeat(2,1fr); } }
/* CLXPack binder v1.1.0 (Tron). .clxp-* selectors only; base bar/button/dialog rules repeated so the module works alone. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; }
.clxp-dlg { width:min(560px,96vw); max-width:96vw; max-height:88vh; border:0; border-radius:10px; padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35); color:#2e2226; background:#fff; }
.clxp-dlg::backdrop { background:rgba(26,26,46,.55); }
.clxp-dw { padding:14px 16px 16px; } .clxp-dw header { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:4px; } .clxp-dw h2 { margin:0; font-size:20px; line-height:1.2; color:#2e375b; }
.clxp-sub { margin:3px 0 0; font-size:13px; color:#5e637a; }
.clxp-x { flex:none; border:0; background:none; font-size:28px; line-height:1; cursor:pointer; min-width:44px; min-height:44px; margin:-10px -12px 0 0; padding:0; color:#2e375b; border-radius:6px; }
.clxp-x:hover { background:#f3efdd; } .clxp-x:focus-visible { outline:2px solid #bba347; outline-offset:-2px; }
.clxp-dlg h3 { font-size:12px; margin:16px 0 6px; text-transform:uppercase; letter-spacing:.06em; color:#5e637a; }
.clxp-dlg .clxp-btn { min-height:40px; }
.clxp-note { font-size:12px; color:#5e637a; margin:12px 0 0; }
.clxp-binder { width:min(680px,96vw); }
.clxp-bd-opt, .clxp-bd-nav { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:8px 0; font-size:14px; flex-wrap:wrap; } .clxp-bd-opt label { display:inline-flex; align-items:center; gap:4px; }
.clxp-bd-go input, .clxp-bd-nav input { font:inherit; font-size:14px; padding:6px 8px; border:1px solid #c9c4b3; border-radius:6px; width:5.5em; } .clxp-bd-nav input { width:4em; text-align:center; }
.clxp-bd-nav span { font-variant-numeric:tabular-nums; } .clxp-btn[disabled] { opacity:.4; cursor:default; }
.clxp-bd-page { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.clxp-bd-page li { aspect-ratio:5/7; border:1px solid #c9c4b3; border-radius:6px; padding:5px; display:flex; flex-direction:column; font-size:11px; line-height:1.25; overflow:hidden; background:#faf8f1; position:relative; }
.clxp-bd-page li.own { background:#e8f4ec; border-color:#1f7a47; } .clxp-bd-page li.need { border-color:#d33a2c; } .clxp-bd-page li.empty { border-style:dashed; background:none; } .clxp-bd-page li.hit { outline:2px solid #bba347; outline-offset:1px; }
.clxp-bd-img { flex:1 1 auto; min-height:0; display:flex; align-items:center; justify-content:center; background:#fff; border-radius:4px; overflow:hidden; } .clxp-bd-img img { max-width:100%; max-height:100%; object-fit:contain; display:block; } .clxp-bd-ph { font-size:18px; font-weight:700; color:#c9c4b3; }
.clxp-bd-cap { margin-top:4px; } .clxp-bd-page .n { font-weight:700; } .clxp-bd-page .nm { font-weight:600; } .clxp-bd-page .tm { display:block; color:#5e637a; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.clxp-bd-page .st { position:absolute; top:4px; right:4px; font-weight:700; font-size:10px; padding:2px 5px; border-radius:4px; background:#fff; color:#1f7a47; } .clxp-bd-page li.need .st { color:#d33a2c; } .clxp-bd-page .st:empty { display:none; }
.clxp-bd-none { font-size:14px; margin:14px 0; }
#clxp-binder-print { display:none; }
@media print {
  html.clxp-binder-printing body > *:not(#clxp-binder-print) { display:none !important; }
  html.clxp-binder-printing #clxp-binder-print { display:block; } #clxp-binder-print h1 { font-size:14pt; margin:0 0 6pt; }
  #clxp-binder-print section { break-after:page; page-break-after:always; } #clxp-binder-print section:last-child { break-after:auto; page-break-after:auto; }
  #clxp-binder-print .clxp-bd-page { gap:4pt; } #clxp-binder-print .clxp-bd-page li { background:none; font-size:10pt; aspect-ratio:5/7; justify-content:flex-start; } #clxp-binder-print .clxp-bd-page .st { position:static; margin-top:auto; padding:0; background:none; }
  #clxp-binder-print .clxp-bd-foot { font-size:9pt; color:#5e637a; margin:4pt 0 0; }
}
/* CLXPack compare v1.1.0 (Tron). .clxp-* selectors only; base bar/button/dialog rules repeated so the module works alone. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; }
.clxp-dlg { width:min(560px,96vw); max-width:96vw; max-height:88vh; border:0; border-radius:10px; padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35); color:#2e2226; background:#fff; }
.clxp-dlg::backdrop { background:rgba(26,26,46,.55); }
.clxp-dw { padding:14px 16px 16px; } .clxp-dw header { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:4px; } .clxp-dw h2 { margin:0; font-size:20px; line-height:1.2; color:#2e375b; }
.clxp-sub { margin:3px 0 0; font-size:13px; color:#5e637a; }
.clxp-x { flex:none; border:0; background:none; font-size:28px; line-height:1; cursor:pointer; min-width:44px; min-height:44px; margin:-10px -12px 0 0; padding:0; color:#2e375b; border-radius:6px; }
.clxp-x:hover { background:#f3efdd; } .clxp-x:focus-visible { outline:2px solid #bba347; outline-offset:-2px; }
.clxp-dlg h3 { font-size:12px; margin:16px 0 6px; text-transform:uppercase; letter-spacing:.06em; color:#5e637a; }
.clxp-dlg .clxp-btn { min-height:40px; }
.clxp-note { font-size:12px; color:#5e637a; margin:12px 0 0; }
.clxp-compare { width:min(760px,96vw); }
.clxp-cp-f { display:flex; gap:8px; margin:10px 0 6px; } .clxp-cp-f input { flex:1; min-width:0; font:inherit; font-size:16px; padding:8px 10px; border:1px solid #c9c4b3; border-radius:6px; }
.clxp-cp-msg { font-size:13px; color:#5e637a; margin:2px 0 4px; min-height:1.2em; } .clxp-cp-empty { font-size:14px; color:#5e637a; margin:10px 0; }
.clxp-cp-hits { list-style:none; padding:0; margin:0 0 8px; border:1px solid #c9c4b3; border-radius:8px; overflow:hidden; } .clxp-cp-hits[hidden] { display:none; }
.clxp-cp-hit { display:block; width:100%; text-align:left; font:inherit; font-size:14px; line-height:1.25; padding:10px 12px; min-height:44px; border:0; border-bottom:1px solid #eee; background:#fff; color:#2e2226; cursor:pointer; } .clxp-cp-hits li:last-child .clxp-cp-hit { border-bottom:0; }
.clxp-cp-hit b { color:#2e375b; } .clxp-cp-hit span { display:block; font-size:12px; color:#5e637a; } .clxp-cp-hit em { float:right; font-style:normal; font-size:12px; color:#1f7a47; } .clxp-cp-hit:hover, .clxp-cp-hit:focus-visible { background:#f3efdd; outline:none; } .clxp-cp-hit[disabled] { color:#8a8a8a; cursor:default; }
.clxp-cp-w { overflow-x:auto; margin-top:6px; } .clxp-cp-t { border-collapse:separate; border-spacing:0; font-size:13px; width:100%; min-width:100%; }
.clxp-cp-t th, .clxp-cp-t td { text-align:left; padding:6px 8px; border-bottom:1px solid #eee; vertical-align:top; min-width:7em; }
.clxp-cp-t th[scope=row] { position:sticky; left:0; background:#fff; font-weight:600; color:#5e637a; font-size:12px; white-space:nowrap; min-width:0; z-index:1; }
.clxp-cp-t thead th { font-size:14px; vertical-align:bottom; } .clxp-cp-t thead th:first-child { position:sticky; left:0; background:#fff; z-index:1; }
.clxp-cp-img { display:block; width:64px; height:auto; max-height:90px; object-fit:contain; border-radius:3px; margin-bottom:4px; background:#faf8f1; } .clxp-cp-img.land { width:90px; }
.clxp-cp-nm { display:block; color:#2e375b; } .clxp-cp-rm { border:0; background:none; cursor:pointer; font-size:18px; line-height:1; color:#8a2b2b; padding:2px 6px; min-width:28px; min-height:28px; border-radius:4px; } .clxp-cp-rm:hover { background:#f8ecec; }
.clxp-cp-t td.y { color:#1f7a47; font-weight:600; } .clxp-cp-t td.n { color:#8a8a8a; } .clxp-cp-t td.nd { color:#d33a2c; font-weight:600; } .clxp-cp-t td a { color:#2e375b; }
/* CLXPack share v1.1.0 (Tron). .clxp-* selectors only; base bar/button/dialog rules repeated so the module works alone. */
.clxp-bar { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin:10px 0; height:40px; min-height:40px; overflow-x:auto; scrollbar-width:none; }   /* fixed height at every width: a hub can reserve the slot, nothing below it moves */
.clxp-bar::-webkit-scrollbar { display:none; }
.clxp-btn { flex:none; white-space:nowrap; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; padding:9px 14px; border:1px solid #c9c4b3; background:#fff; color:#2e375b; border-radius:6px; cursor:pointer; }
.clxp-btn:hover { border-color:#2e375b; } .clxp-btn:focus-visible { outline:2px solid #bba347; outline-offset:2px; }
.clxp-dlg { width:min(560px,96vw); max-width:96vw; max-height:88vh; border:0; border-radius:10px; padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35); color:#2e2226; background:#fff; }
.clxp-dlg::backdrop { background:rgba(26,26,46,.55); }
.clxp-dw { padding:14px 16px 16px; } .clxp-dw header { display:flex; justify-content:space-between; align-items:flex-start; gap:8px; margin-bottom:4px; } .clxp-dw h2 { margin:0; font-size:20px; line-height:1.2; color:#2e375b; }
.clxp-sub { margin:3px 0 0; font-size:13px; color:#5e637a; }
.clxp-x { flex:none; border:0; background:none; font-size:28px; line-height:1; cursor:pointer; min-width:44px; min-height:44px; margin:-10px -12px 0 0; padding:0; color:#2e375b; border-radius:6px; }
.clxp-x:hover { background:#f3efdd; } .clxp-x:focus-visible { outline:2px solid #bba347; outline-offset:-2px; }
.clxp-dlg h3 { font-size:12px; margin:16px 0 6px; text-transform:uppercase; letter-spacing:.06em; color:#5e637a; }
.clxp-dlg .clxp-btn { min-height:40px; }
.clxp-note { font-size:12px; color:#5e637a; margin:12px 0 0; }
.clxp-sh-wrap { margin:10px auto 0; max-width:420px; } .clxp-sh-img { display:block; width:100%; height:auto; aspect-ratio:1; border-radius:6px; box-shadow:0 2px 8px rgba(0,0,0,.18); }
.clxp-sh-act { display:flex; gap:8px; justify-content:center; flex-wrap:wrap; margin-top:12px; } .clxp-sh-act a.clxp-btn { text-decoration:none; display:inline-flex; align-items:center; }
/* CLXPack shortcuts v1.0.0 - only the help dialog (.clxp-dlg, .clxp-keys). No global rules. */
.clxp-dlg { width:min(420px,96vw); max-width:96vw; border:0; border-radius:10px; padding:0; box-shadow:0 12px 40px rgba(0,0,0,.35); color:#2e2226; } .clxp-dlg::backdrop { background:rgba(26,26,46,.55); }
.clxp-dw { padding:14px 16px; } .clxp-dw header { display:flex; justify-content:space-between; align-items:center; } .clxp-dw h2 { margin:0; font-size:20px; }
.clxp-x { border:0; background:none; font-size:26px; line-height:1; cursor:pointer; padding:4px 8px; }
.clxp-keys { display:grid; grid-template-columns:auto 1fr; gap:8px 14px; margin:12px 0 4px; } .clxp-keys dt, .clxp-keys dd { margin:0; } .clxp-keys kbd { font:600 13px monospace; border:1px solid #c9c4b3; border-bottom-width:2px; border-radius:4px; padding:2px 7px; background:#fff; }
