/*! NoblePDF V5.9.2 Phase A2a RC4 - Noble Ink one-off tool migration
    Shared visual layer only. No tool behaviour, script, endpoint, or copy changes. */

/* Common shell */
body.np-a2-tool,body.np-a2-hub{color:var(--np-ink);background:var(--np-white);font-family:var(--np-font-sans)}
.np-a2-tool .site-header,.np-a2-hub .site-header{background:var(--np-white);border-bottom-color:var(--np-border)}
.np-a2-tool .nav a,.np-a2-hub .nav a{color:var(--np-ink-2)}
.np-a2-tool .nav a:hover,.np-a2-hub .nav a:hover{color:var(--np-brand)}
.np-a2-tool .btn,.np-a2-hub .btn{border-color:var(--np-border);border-radius:var(--np-radius-sm);background:var(--np-white);color:var(--np-ink)}
.np-a2-tool .btn.primary,.np-a2-hub .btn.primary{background:var(--np-brand);border-color:var(--np-brand);color:var(--np-white)}
.np-a2-tool .btn.primary:hover,.np-a2-hub .btn.primary:hover{background:var(--np-brand-hover);border-color:var(--np-brand-hover)}
.np-a2-tool .btn.primary:active,.np-a2-hub .btn.primary:active{background:var(--np-brand-press);border-color:var(--np-brand-press)}
.np-a2-tool .hero p,.np-a2-hub .hero p{color:var(--np-muted)}
.np-a2-tool footer,.np-a2-hub footer{border-top-color:var(--np-border);color:var(--np-muted)}
.np-a2-tool a:focus-visible,.np-a2-tool button:focus-visible,.np-a2-tool input:focus-visible,.np-a2-tool select:focus-visible,.np-a2-tool textarea:focus-visible,
.np-a2-hub a:focus-visible,.np-a2-hub button:focus-visible,.np-a2-hub input:focus-visible{outline:var(--np-focus-width) solid var(--np-brand);outline-offset:var(--np-focus-offset)}
.np-a2-tool .skip-link,.np-a2-hub .skip-link{background:var(--np-ink);color:var(--np-white);border-radius:var(--np-radius-sm)}

/* Functional tools: make actions NoblePDF violet and surfaces document-first. */
.np-a2-tool .eyebrow{color:var(--np-brand);background:var(--np-brand-soft);border-color:var(--np-border);border-radius:var(--np-radius-pill)}
.np-a2-tool .tool-card,.np-a2-tool .compress-card,.np-a2-tool .converter-card{background:var(--np-white);border-color:var(--np-border);border-radius:var(--np-radius-lg);box-shadow:var(--np-shadow-2)}
.np-a2-tool .dropzone{background:var(--np-surface);color:var(--np-ink);border:2px dashed var(--np-border-strong);border-radius:var(--np-radius-lg)}
.np-a2-tool .dropzone::before,.np-a2-tool .dropzone::after{display:none!important}
.np-a2-tool .dropzone:hover,.np-a2-tool .dropzone.drag{background:var(--np-brand-soft);border-color:var(--np-brand);outline:none}
.np-a2-tool .dropzone p{color:var(--np-muted)}
.np-a2-tool .choose-btn,.np-a2-tool .action-btn,.np-a2-tool .compress-btn,.np-a2-tool .convert-btn,.np-a2-tool .download-btn{background:var(--np-brand);color:var(--np-white);border:0;border-radius:var(--np-radius-sm);box-shadow:none}
.np-a2-tool .choose-btn:hover,.np-a2-tool .action-btn:hover,.np-a2-tool .compress-btn:hover,.np-a2-tool .convert-btn:hover,.np-a2-tool .download-btn:hover{background:var(--np-brand-hover);transform:none}
.np-a2-tool .choose-btn:active,.np-a2-tool .action-btn:active,.np-a2-tool .compress-btn:active,.np-a2-tool .convert-btn:active,.np-a2-tool .download-btn:active{background:var(--np-brand-press)}
.np-a2-tool .choose-btn:disabled,.np-a2-tool .action-btn:disabled,.np-a2-tool .compress-btn:disabled,.np-a2-tool .convert-btn:disabled{opacity:.45;cursor:not-allowed}
.np-a2-tool .feature,.np-a2-tool .steps,.np-a2-tool .faq details,.np-a2-tool .related a,.np-a2-tool .radio-option,.np-a2-tool .check{border-color:var(--np-border)}
.np-a2-tool .feature{border-radius:var(--np-radius-md)}
.np-a2-tool .feature-icon{background:var(--np-brand-soft);color:var(--np-brand);border-radius:var(--np-radius-sm)}
.np-a2-tool .section-intro p,.np-a2-tool .feature p,.np-a2-tool .step p,.np-a2-tool .faq p,.np-a2-tool .related a span,.np-a2-tool .file-detail{color:var(--np-muted)}
.np-a2-tool .steps{background:var(--np-surface);border-radius:var(--np-radius-lg)}
.np-a2-tool .step-num{background:var(--np-brand);color:var(--np-white)}
.np-a2-tool .notice{background:var(--np-brand-soft);border-color:var(--np-border);color:var(--np-ink-2);border-radius:var(--np-radius-sm)}
.np-a2-tool .error{background:var(--np-danger-soft);border-color:var(--np-danger-soft);color:var(--np-danger);border-radius:var(--np-radius-sm)}
.np-a2-tool .result{background:var(--np-success-soft);border-color:var(--np-success-soft);border-radius:var(--np-radius-md)}
.np-a2-tool .progress{background:var(--np-border)}
.np-a2-tool .progress>span,.np-a2-tool .progress span{background:var(--np-brand)}
.np-a2-tool .setting,.np-a2-tool .file-row{border-color:var(--np-border)}
.np-a2-tool .setting select{border-color:var(--np-border-strong);border-radius:var(--np-radius-sm);background:var(--np-white);color:var(--np-ink)}
.np-a2-tool .text-btn{color:var(--np-brand)}
.np-a2-tool .secondary-btn{border-color:var(--np-border);background:var(--np-white);color:var(--np-ink);border-radius:var(--np-radius-sm)}
.np-a2-tool .preview-card,.np-a2-tool .preview-pane,.np-a2-tool .preview-stage,.np-a2-tool .mini-panel{background:var(--np-surface);border-color:var(--np-border)}
.np-a2-tool .radio-option:has(input:checked),.np-a2-tool .level.selected,.np-a2-tool .format-option.selected{border-color:var(--np-brand);background:var(--np-brand-soft)}
.np-a2-tool input[type=radio],.np-a2-tool input[type=checkbox],.np-a2-tool input[type=range]{accent-color:var(--np-brand)}

/* File-format identity stays on file/format icons only; generic actions remain violet. */
.np-a2-tool .file-icon{background:var(--np-brand-soft);color:var(--np-brand)}
.np-a2-tool .file-icon.image{background:var(--np-surface);color:var(--np-ink-2)}
.np-a2-tool .fmt-icon.pdf,.np-a2-tool .fmt-icon.pdfa{background:var(--np-format-pdfa);color:var(--np-white)}
.np-a2-tool .fmt-icon.word{background:var(--np-format-word);color:var(--np-white)}
.np-a2-tool .fmt-icon.excel{background:var(--np-format-excel);color:var(--np-white)}
.np-a2-tool .fmt-icon.ppt{background:#C44A20;color:var(--np-white)}
.np-a2-tool .fmt-icon.jpg,.np-a2-tool .fmt-icon.png,.np-a2-tool .fmt-icon.html,.np-a2-tool .fmt-icon.rtf,.np-a2-tool .fmt-icon.txt{background:var(--np-ink-2);color:var(--np-white)}

/* Tools hub */
.np-a2-hub .search{border-color:var(--np-border);border-radius:var(--np-radius-md);color:var(--np-ink);font-family:var(--np-font-sans)}
.np-a2-hub .search:focus{border-color:var(--np-brand);box-shadow:var(--np-focus-ring)}
.np-a2-hub .filter{border-color:var(--np-border);background:var(--np-white);color:var(--np-ink-2);font-family:var(--np-font-sans)}
.np-a2-hub .filter:hover{border-color:var(--np-brand);color:var(--np-brand)}
.np-a2-hub .filter.active{background:var(--np-brand);border-color:var(--np-brand);color:var(--np-white)}
.np-a2-hub .tool-card{border-color:var(--np-border);border-radius:var(--np-radius-sm);background:var(--np-white);box-shadow:none}
.np-a2-hub .tool-card:hover{border-color:var(--np-border-strong);box-shadow:var(--np-shadow-1);transform:translateY(-1px)}
.np-a2-hub .tool-copy small,.np-a2-hub .empty,.np-a2-hub .legend,.np-a2-hub .hub-guide p{color:var(--np-muted)}
.np-a2-hub .status-dot,.np-a2-hub .legend i{background:var(--np-success);box-shadow:none}
.np-a2-hub .toast{background:var(--np-ink);color:var(--np-white);box-shadow:var(--np-shadow-2)}
.np-a2-hub .hub-guide{border-color:var(--np-border);border-radius:var(--np-radius-lg);background:var(--np-white)}
.np-a2-hub .hub-guide a{color:var(--np-brand)}
.np-a2-hub .editor-feature-badge{background:var(--np-brand-soft);color:var(--np-brand)}

@media (pointer:coarse){
  .np-a2-tool .choose-btn,.np-a2-tool .action-btn,.np-a2-tool .compress-btn,.np-a2-tool .convert-btn,.np-a2-tool .download-btn,.np-a2-tool .secondary-btn,
  .np-a2-hub .filter,.np-a2-hub .btn{min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  .np-a2-tool *, .np-a2-tool *::before,.np-a2-tool *::after,.np-a2-hub *, .np-a2-hub *::before,.np-a2-hub *::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
/* A2a hardening: dynamic workspaces, keyboard focus, and flat illustration. */
.np-a2-tool .workspace-grid>*{min-width:0}
.np-a2-tool .level:focus-within{outline:var(--np-focus-width) solid var(--np-brand);outline-offset:var(--np-focus-offset)}
.np-a2-tool .illustration{background:var(--np-brand-soft)}

/* A2a hardening: contrast, long-token wrapping, and focus preservation. */
.np-a2-tool{--np-format-ppt:#C44A20}
.np-a2-tool .level small,
.np-a2-tool .radio-option small,
.np-a2-tool .fmt-copy small{color:var(--np-muted)}
.np-a2-tool .error,
.np-a2-tool .result,
.np-a2-tool .result p,
.np-a2-tool .notice{overflow-wrap:anywhere;word-break:break-word;min-width:0}
/* A2a success-state hardening: readable stat labels and safe long-value wrapping. */
.np-a2-tool .stats{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}
.np-a2-tool .stat{min-width:0}
.np-a2-tool .stat span{color:var(--np-muted);overflow-wrap:normal;word-break:normal}
.np-a2-tool .stat strong{overflow-wrap:anywhere;word-break:break-word;min-width:0}
.np-a2-tool .fmt-icon.ppt{background:var(--np-format-ppt)}
.np-a2-tool .dropzone:hover:not(:focus-visible),
.np-a2-tool .dropzone.drag:not(:focus-visible){outline:none}
.np-a2-tool .dropzone:focus-visible{outline:var(--np-focus-width) solid var(--np-brand);outline-offset:var(--np-focus-offset)}

.np-a2-tool .progress-head>*{min-width:0}
.np-a2-tool .progress-head #progressText{overflow-wrap:anywhere;word-break:break-word}
.np-a2-tool .progress-head #progressPct{flex:0 0 auto}

/* A2a content-grid polish: long editorial sections nested in Related tools span the full grid. */
.np-a2-tool .related-grid > .steps{grid-column:1/-1;margin-top:0;width:100%}
