/* Nujiz v7: clearer studio typography and direct-manipulation privacy blur. */
.tool-tab {
  min-height: 132px;
  padding: 22px;
}

.tool-tab span {
  font-size: 24px;
}

.tool-tab strong {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.45;
}

.tool-tab small {
  margin-top: 7px;
  font-size: 10px;
  line-height: 1.65;
}

.studio-title small {
  font-size: 10px;
}

.studio-title h3 {
  font-size: 36px;
  line-height: 1.25;
}

.studio-title p {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.7;
}

.free-chip {
  font-size: 10px;
}

.service-card {
  min-height: 255px;
}

.service-card h3 {
  margin-top: 44px;
  font-size: 24px;
  line-height: 1.4;
}

.service-card p {
  font-size: 11px;
}

.file-row span {
  font-size: 9px;
}

.file-row strong {
  font-size: 11px;
}

.text-btn {
  min-width: 104px;
  min-height: 44px;
  padding: 9px 16px;
  border: 2px solid #a43e2a;
  background: #fff0ec;
  color: #8f2715;
  font-size: 13px;
  font-weight: 900;
}

.text-btn:hover,
.text-btn:focus-visible {
  background: #a43e2a;
  color: #fff;
  outline: 3px solid rgba(164, 62, 42, .2);
  outline-offset: 2px;
}

.canvas-stage {
  position: relative;
}

.privacy-manual-note {
  padding: 15px;
  border: 2px solid #7251f5;
  background: #f0ecff;
  color: #302366;
}

.privacy-manual-note b {
  display: block;
  font-size: 13px;
}

.privacy-manual-note span {
  display: block;
  margin-top: 6px;
  font-size: 10px;
  line-height: 1.7;
}

.privacy-selector {
  position: absolute;
  z-index: 6;
  display: none;
  min-width: 28px;
  min-height: 28px;
  border: 3px solid #7251f5;
  background: rgba(114, 81, 245, .16);
  box-shadow: 0 0 0 2px rgba(201, 244, 91, .95), 0 8px 28px rgba(13, 31, 56, .28);
  cursor: move;
  touch-action: none;
  user-select: none;
  -webkit-backdrop-filter: blur(7px);
  backdrop-filter: blur(7px);
}

.privacy-selector.visible {
  display: block;
}

.privacy-selector.dragging {
  cursor: grabbing;
}

.privacy-selector::before {
  content: attr(data-label);
  position: absolute;
  inset-inline-start: 50%;
  top: 50%;
  padding: 5px 9px;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  background: #0d1f38;
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  pointer-events: none;
}

.privacy-selector:focus-visible {
  outline: 4px solid rgba(201, 244, 91, .9);
  outline-offset: 4px;
}

.privacy-handle {
  position: absolute;
  width: 20px;
  height: 20px;
  border: 3px solid #0d1f38;
  border-radius: 50%;
  background: #c9f45b;
  box-shadow: 0 2px 8px rgba(13, 31, 56, .3);
}

.privacy-handle.nw { left: -11px; top: -11px; cursor: nwse-resize; }
.privacy-handle.ne { right: -11px; top: -11px; cursor: nesw-resize; }
.privacy-handle.sw { left: -11px; bottom: -11px; cursor: nesw-resize; }
.privacy-handle.se { right: -11px; bottom: -11px; cursor: nwse-resize; }

@media (max-width: 680px) {
  .tool-tab,
  .tool-tab:nth-child(3n+1),
  .tool-tab:nth-child(4n+1) {
    min-height: 122px;
    padding: 17px 14px;
  }

  .tool-tab strong { font-size: 13px; }
  .tool-tab small { font-size: 9px; }
  .studio-title h3 { font-size: 30px; }
  .service-card h3 { font-size: 22px; }
  .privacy-selector::before { font-size: 8px; }

  .privacy-handle { width: 24px; height: 24px; }
  .privacy-handle.nw { left: -13px; top: -13px; }
  .privacy-handle.ne { right: -13px; top: -13px; }
  .privacy-handle.sw { left: -13px; bottom: -13px; }
  .privacy-handle.se { right: -13px; bottom: -13px; }
}
