/* Native tools share the existing theme and preserve the weapon workspace. */
.nt-workspace { display:grid; gap:20px; min-width:0; }
.nt-breadcrumb { display:flex; align-items:center; gap:16px; margin-top:-10px; font-size:12px; color:var(--muted); }
.nt-breadcrumb button { min-height:44px; }
.nt-muted { color:var(--muted); font-size:12px; line-height:1.75; }
.nt-panel-title { margin:0 0 18px; color:var(--ink); font-size:17px; line-height:1.5; }
.nt-panel-title .tag { margin-left:6px; }
.nt-notice { display:flex; align-items:center; gap:12px; padding:14px 18px; border:1px solid var(--border); border-radius:8px; background:var(--soft); }
.nt-notice p { margin:0; color:var(--muted); font-size:12px; line-height:1.8; }
.nt-status-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; background:var(--accent); }
.nt-tag-ready { color:var(--accent); border-color:var(--accent-border); background:var(--tint); }
.category-intro { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.feature-footer .text-button, .tool-row, .nt-actions button { min-height:44px; }
.nt-home-password { width:100%; cursor:pointer; }
.nt-home-password:hover { background:var(--surface-hover); border-color:var(--accent-border); }
.nt-home-password span { color:var(--ink); font-size:12px; font-weight:550; }
.nt-home-password strong { color:var(--faint); font-size:20px; letter-spacing:1px; }
.nt-home-password small { color:var(--muted); font-size:10px; }
.nt-password-grid .nt-map-name { color:var(--ink); font-size:12px; }
.nt-password-grid .daily-cell { padding:18px 8px; gap:10px; }
.nt-password-grid .text-button { align-self:center; min-height:44px; padding:8px 12px; }
.nt-split { display:grid; grid-template-columns:minmax(270px,.85fr) minmax(0,1.3fr); gap:20px; align-items:start; }
.nt-split>* { min-width:0; }
.nt-form { display:grid; gap:18px; }
.nt-form label,.nt-field { display:grid; gap:8px; min-width:0; color:var(--muted); font-size:12px; line-height:1.6; }
.nt-form input,.nt-form select,.nt-form textarea,.nt-field input,.nt-field select,.nt-result-filter input { display:block; width:100%; min-width:0; min-height:44px; padding:11px 12px; color:var(--ink); background:var(--surface-input); border:1px solid var(--border-strong); border-radius:7px; font-size:13px; line-height:1.6; }
.nt-form textarea { min-height:118px; resize:vertical; }
.nt-query-fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.nt-query-fields:empty { display:none; }
.nt-variant { max-width:460px; margin-bottom:20px; }
.nt-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.nt-actions .primary-button,.nt-actions .secondary-button { min-height:44px; padding:10px 18px; }
.nt-form>.primary-button { width:fit-content; min-height:44px; padding:10px 18px; }
.nt-feedback { margin:0; color:var(--muted); font-size:12px; line-height:1.8; min-height:22px; overflow-wrap:anywhere; }
.nt-feedback:empty { display:none; }
.nt-results>.portal-section-header { flex-wrap:wrap; }
.nt-result-filter { display:grid; grid-template-columns:auto minmax(130px,250px); align-items:center; gap:10px; color:var(--muted); font-size:12px; max-width:100%; }
.nt-result-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px 16px; padding-bottom:18px; margin-bottom:18px; border-bottom:1px solid var(--border); font-size:11px; color:var(--muted); line-height:1.8; }
.nt-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:220px; padding:32px 18px; text-align:center; }
.nt-empty-symbol { display:grid; place-items:center; width:48px; height:48px; margin-bottom:14px; border:1px solid var(--border); border-radius:12px; color:var(--accent); background:var(--surface-raised); font-size:30px; }
.nt-empty h2 { margin:0 0 8px; font-size:16px; color:var(--ink); line-height:1.6; }
.nt-empty p { max-width:470px; margin:0; color:var(--muted); font-size:12px; line-height:1.9; }
.nt-table-wrap { width:100%; max-width:100%; overflow:auto; overscroll-behavior-inline:contain; }
.nt-table { width:100%; border-collapse:collapse; min-width:480px; text-align:left; font-size:12px; }
.nt-table th { color:var(--muted); font-weight:500; }
.nt-table th,.nt-table td { padding:13px 16px; border-bottom:1px solid var(--border); line-height:1.7; max-width:360px; overflow-wrap:anywhere; }
.nt-table thead { background:var(--soft); }
.nt-table tbody th { color:var(--ink); }
.nt-table tbody tr:hover { background:var(--surface-hover); }
.nt-table td { color:var(--ink); font-variant-numeric:tabular-nums; }
.nt-data-list { display:grid; gap:12px; }
.nt-data-card { min-width:0; padding:16px; border:1px solid var(--border); border-radius:8px; background:var(--soft); }
.nt-data-title { margin:0 0 16px; color:var(--ink); font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.nt-data-fields { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px 18px; margin:0; }
.nt-data-fields>div { min-width:0; }
.nt-data-fields dt { color:var(--muted); font-size:11px; line-height:1.7; }
.nt-data-fields dd { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:4px 0 0; color:var(--ink); font-size:13px; font-variant-numeric:tabular-nums; line-height:1.8; overflow-wrap:anywhere; white-space:pre-wrap; }
.nt-data-fields dd .text-button { min-height:36px; }
.nt-data-detail { margin-top:14px; border-top:1px solid var(--border); }
.nt-data-detail>summary { min-height:44px; padding:13px 0; color:var(--muted); font-size:12px; cursor:pointer; overflow-wrap:anywhere; }
.nt-data-detail>summary:hover { color:var(--accent); }
.nt-data-line { display:flex; gap:16px; padding:10px 0; border-bottom:1px solid var(--border); font-size:13px; line-height:1.8; overflow-wrap:anywhere; }
.nt-data-text { color:var(--ink); font-size:13px; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.9; }
.nt-chart { margin:0 0 22px; padding:16px; border:1px solid var(--border); border-radius:8px; background:var(--soft); }
.nt-chart figcaption { font-size:12px; color:var(--muted); line-height:1.8; }
.nt-chart svg { width:100%; height:auto; max-height:340px; }
.nt-chart svg text { fill:var(--muted); font-size:13px; }
.nt-record-search { margin-bottom:16px; }
.nt-record-list { display:grid; gap:12px; margin-bottom:16px; }
.nt-record { padding:14px 16px; background:var(--soft); border:1px solid var(--border); border-radius:8px; }
.nt-record-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.nt-check { display:flex; align-items:center; gap:10px; min-height:44px; min-width:0; color:var(--ink); font-size:13px; }
.nt-check input { flex:0 0 18px; width:18px; height:18px; }
.nt-check strong { min-width:0; overflow-wrap:anywhere; font-weight:550; }
.nt-record.is-done .nt-check strong { text-decoration:line-through; color:var(--muted); }
.nt-record-heading .nt-actions { flex-shrink:0; gap:8px; }
.nt-record-heading .text-button { padding:9px 2px; font-size:11px; }
.nt-record-value { margin:4px 0 8px 28px; color:var(--accent); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.nt-record-note { margin:4px 0 0 28px; color:var(--muted); font-size:12px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.nt-file-button { position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:44px; max-width:100%; padding:11px 16px; margin:14px 0 0; color:var(--accent); background:var(--tint); border:1px solid var(--accent-border); border-radius:7px; font-size:12px; line-height:1.6; cursor:pointer; }
.nt-file-button input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.nt-file-button:focus-within { outline:2px solid var(--focus); outline-offset:3px; }
.nt-player { display:grid; gap:16px; margin:26px 0 20px; }
.nt-player p { color:var(--ink); font-size:14px; overflow-wrap:anywhere; }
.nt-player audio { width:100%; max-width:700px; }
.nt-track { display:flex; gap:15px; align-items:center; min-height:54px; padding:12px 16px; border:1px solid var(--border); border-radius:7px; font-size:12px; text-align:left; }
.nt-track span { color:var(--muted); }
.nt-track strong { flex:1; min-width:0; overflow-wrap:anywhere; color:var(--ink); font-weight:500; }
.nt-track[aria-pressed='true'] { background:var(--tint); border-color:var(--accent-border); }
.nt-ach-card { position:relative; display:flex; flex-direction:column; justify-content:center; gap:24px; min-height:360px; padding:36px; background:linear-gradient(120deg,#263c34,#171c21); border:1px solid #436450; border-radius:12px; color:#e8f0ec; overflow:hidden; }
.nt-ach-card:before { content:''; position:absolute; right:10%; top:-50%; width:60px; height:200%; transform:rotate(27deg); background:#69cba512; pointer-events:none; }
.nt-ach-card>span { color:#8ac9ad; font-size:12px; }
.nt-ach-card>strong { position:relative; color:#f1f5f3; font-size:clamp(22px,3vw,40px); line-height:1.4; font-weight:700; overflow-wrap:anywhere; }
.nt-ach-card>p { position:relative; color:#b5c1bc; font-size:14px; line-height:1.9; white-space:pre-wrap; overflow-wrap:anywhere; }
.nt-ach-card footer { position:relative; display:flex; justify-content:space-between; gap:12px; margin-top:24px; color:#69cba5; font-size:12px; overflow-wrap:anywhere; }
.nt-ach-card footer small { color:#879b91; font-size:10px; white-space:nowrap; }
@media(max-width:1150px) { .nt-query-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .nt-split { grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr); } }
@media(max-width:760px) {
  .nt-split { grid-template-columns:minmax(0,1fr); }
  .nt-query-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 10px; }
  .nt-workspace { gap:16px; }
  .nt-notice { align-items:flex-start; padding:12px 14px; }
  .nt-status-dot { margin-top:7px; }
  .nt-form input,.nt-form select,.nt-form textarea,.nt-field input,.nt-field select,.nt-result-filter input { font-size:16px; }
  .nt-empty { min-height:200px; padding:24px 10px; }
  .nt-data-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nt-result-filter { width:100%; grid-template-columns:minmax(0,1fr); gap:6px; }
  .nt-data-card { padding:13px; }
  .nt-ach-card { min-height:300px; padding:26px; }
  .nt-breadcrumb { margin-top:-14px; }
  .nt-password-grid .daily-cell { padding:12px 6px; }
  .nt-home-password strong { font-size:17px; }
}
@media(max-width:380px) {
  .nt-query-fields { grid-template-columns:minmax(0,1fr); }
  .nt-record { padding:10px; }
  .nt-record-heading { align-items:flex-start; gap:7px; }
  .nt-record-heading .nt-actions { flex-direction:column; gap:0; }
  .nt-data-fields { gap:12px; }
  .nt-ach-card { padding:22px; }
}
