/* pdf-redact 固有スタイル */

.tool-main:has(.pr-layout:not([hidden])) { max-width: 1240px; }

.pr-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 1rem; align-items: start; }
.pr-main, .pr-side { min-width: 0; }
.pr-layout .card:last-child { margin-bottom: 0; }

.pr-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.6rem 1rem; margin-bottom: 0.6rem; }
.pr-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.pr-hint { margin: 0 0 0.75rem; }

.pr-stage { overflow: auto; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 0.75rem; }
.pr-page { position: relative; margin: 0 auto; background: #fff; box-shadow: 0 0 0 1px var(--border); touch-action: none; user-select: none; -webkit-user-select: none; line-height: 0; }
.pr-page canvas { display: block; width: 100%; height: auto; }
.pr-page.busy canvas { opacity: 0.55; }
.pr-layer { position: absolute; inset: 0; cursor: crosshair; }

.pr-rect {
  position: absolute; box-sizing: border-box; cursor: move;
  background: rgba(0, 0, 0, 0.5); outline: 1px solid #111;
}
.pr-rect.found { background: rgba(91, 33, 182, 0.45); }
.pr-rect.sel { outline: 2px solid var(--pt-accent); outline-offset: 0; }
.pr-rect:focus { outline: 2px solid var(--pt-accent); }
.pr-stage { --hd: 12px; --hd-off: -7px; }
.pr-h { position: absolute; width: calc(var(--hd) / var(--pz, 1)); height: calc(var(--hd) / var(--pz, 1)); background: #fff; border: calc(2px / var(--pz, 1)) solid var(--pt-accent); box-sizing: border-box; display: none; }
.pr-rect.sel .pr-h { display: block; }
.pr-h[data-h="nw"] { left: calc(var(--hd-off) / var(--pz, 1)); top: calc(var(--hd-off) / var(--pz, 1)); cursor: nwse-resize; }
.pr-h[data-h="ne"] { right: calc(var(--hd-off) / var(--pz, 1)); top: calc(var(--hd-off) / var(--pz, 1)); cursor: nesw-resize; }
.pr-h[data-h="sw"] { left: calc(var(--hd-off) / var(--pz, 1)); bottom: calc(var(--hd-off) / var(--pz, 1)); cursor: nesw-resize; }
.pr-h[data-h="se"] { right: calc(var(--hd-off) / var(--pz, 1)); bottom: calc(var(--hd-off) / var(--pz, 1)); cursor: nwse-resize; }

.pr-chips { display: flex; flex-wrap: wrap; gap: 0.35rem; }

.pr-pages { display: flex; flex-wrap: wrap; gap: 0.35rem; line-height: 1.2; }
.pr-pages button {
  font: inherit; font-size: 0.8rem; padding: 0.25rem 0.55rem; cursor: pointer;
  background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: var(--radius);
}
.pr-pages button:hover, .pr-pages button.cur { border-color: var(--pt-accent); color: var(--pt-accent); }
.pr-pages button b { font-weight: 700; margin-left: 0.3rem; }

@media (max-width: 860px) {
  .pr-layout { grid-template-columns: 1fr; }
  .pr-stage { padding: 0.4rem; }
}
