/* Nerke · tokens do DS1 (21/10/2026) com a decisão do Yuri: IBM Plex Sans + Plex Mono.
   As fontes vão embutidas em base64 logo acima deste bloco (gerado pelo build). */
:root {
  color-scheme: dark;
  --nk-font-ui: "IBM Plex Sans", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;
  --nk-font-display: "IBM Plex Sans", "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, sans-serif;
  --nk-font-mono: "IBM Plex Mono", "Cascadia Mono", Consolas, ui-monospace, monospace;

  --nk-bg-0: #050505; --nk-bg-1: #0a0a09; --nk-bg-2: #0f0f0e; --nk-bg-3: #161614; --nk-bg-4: #1e1d1a;
  --nk-field: #0a0a0a;
  --nk-line-1: rgba(255, 255, 255, .06); --nk-line-2: rgba(255, 255, 255, .09); --nk-line-3: #2b2b2b;

  --nk-text-1: #f2efe8; --nk-text-2: #b4b1a8; --nk-text-3: #8f8c83; --nk-text-4: #85827a; --nk-text-off: #5f5c55;

  --nk-gold-50: #fdf8e7; --nk-gold-100: #faefc6; --nk-gold-200: #f6d673; --nk-gold-300: #f0cb5c;
  --nk-gold-400: #e2bf4c; --nk-gold-500: #d4af37; --nk-gold-600: #b8901f; --nk-gold-700: #8a6d1f;
  --nk-gold-800: #4a3b12; --nk-gold-900: #17130a;
  --nk-gold-fill: rgba(212, 175, 55, .12); --nk-gold-edge: rgba(212, 175, 55, .45);

  --nk-success: #7cc894; --nk-success-fill: rgba(124, 200, 148, .10); --nk-success-line: rgba(124, 200, 148, .32);
  --nk-warn: #e0a458; --nk-warn-fill: rgba(224, 164, 88, .10); --nk-warn-line: rgba(224, 164, 88, .40);
  --nk-danger: #fb2c36; --nk-danger-text: #ff6b6b; --nk-danger-solid: #d01f2b;
  --nk-danger-fill: rgba(251, 44, 54, .12); --nk-danger-line: rgba(251, 44, 54, .40);
  --nk-info: #4f9cff; --nk-info-text: #7db5ff; --nk-info-fill: rgba(79, 156, 255, .10); --nk-info-line: rgba(79, 156, 255, .38);

  --nk-state-working: #a3e635; --nk-state-working-text: #b9dc7c;
  --nk-state-working-fill: rgba(163, 230, 53, .07); --nk-state-working-line: rgba(163, 230, 53, .22);
  --nk-state-needs: #e0a458; --nk-state-needs-fill: rgba(224, 164, 88, .10); --nk-state-needs-line: rgba(224, 164, 88, .45);
  --nk-state-ready: #7cc894; --nk-state-ready-fill: rgba(124, 200, 148, .09); --nk-state-ready-line: rgba(124, 200, 148, .30);
  --nk-state-failed: #fb2c36; --nk-state-failed-text: #ff6b6b;
  --nk-state-paused: #8a9bb3; --nk-state-paused-fill: rgba(138, 155, 179, .10); --nk-state-paused-line: rgba(138, 155, 179, .40);
  --nk-state-idle: #6e6b63; --nk-state-idle-text: #8f8c83;

  --nk-radius-xs: 4px; --nk-radius-sm: 7px; --nk-radius-md: 9px; --nk-radius-lg: 12px;
  --nk-radius-xl: 14px; --nk-radius-2xl: 16px; --nk-radius-3xl: 20px; --nk-radius-pill: 999px;
  --nk-control-sm: 28px; --nk-control-md: 32px; --nk-control-lg: 40px; --nk-icon-stroke: 1.8;

  --nk-shadow-card: 0 16px 40px rgba(0, 0, 0, .5);
  --nk-shadow-island: 0 14px 40px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .03);
  --nk-shadow-pop: 0 26px 70px rgba(0, 0, 0, .75);
  --nk-shadow-modal: 0 30px 90px rgba(0, 0, 0, .8);
  --nk-glow-gold: 0 0 22px rgba(212, 175, 55, .25);
  --nk-glow-focus: 0 0 0 1px rgba(212, 175, 55, .18), 0 0 48px rgba(212, 175, 55, .08);
  --nk-glow-needs: 0 0 0 1px rgba(224, 164, 88, .18), 0 0 40px rgba(224, 164, 88, .12);
  --nk-ring: 0 0 0 2px var(--nk-bg-0), 0 0 0 4px var(--nk-gold-300);

  --nk-dur-instant: 80ms; --nk-dur-fast: 120ms; --nk-dur-base: 180ms; --nk-dur-slow: 260ms; --nk-dur-slower: 420ms;
  --nk-ease-standard: cubic-bezier(.2, 0, 0, 1); --nk-ease-enter: cubic-bezier(0, 0, .2, 1);
  --nk-ease-exit: cubic-bezier(.4, 0, 1, 1); --nk-ease-spring: cubic-bezier(.34, 1.4, .64, 1);
  --nk-loop-working: 1.8s; --nk-loop-needs: 1.6s; --nk-loop-bead: 2.4s;

  --lockup-ar: 143.03 / 38; --word-ar: 99.57 / 30.2;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html, body { margin: 0; }
body { min-height: 100vh; background: var(--nk-bg-0); color: var(--nk-text-1); font: 400 14px/1.55 var(--nk-font-ui); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
button, input, select, textarea { font: inherit; color: inherit; }
svg { display: block; }
img { max-width: 100%; }
a { color: var(--nk-gold-300); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: 3px; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid var(--nk-gold-300); outline-offset: 2px; }
.mono { font-family: var(--nk-font-mono); }
.sk { fill: none; stroke: currentColor; stroke-width: var(--nk-icon-stroke); stroke-linecap: round; stroke-linejoin: round; }
.ico { width: 16px; height: 16px; flex: 0 0 auto; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; scroll-behavior: auto !important; }
}

/* ---------- notas do designer (liga/desliga) ---------- */
.dn { position: relative; margin: 14px 0 0; padding: 9px 13px 9px 32px; border-radius: 10px; border: 1px dashed rgba(212, 175, 55, .38); background: rgba(212, 175, 55, .045); color: #cfc6a6; font: 400 12.5px/1.5 var(--nk-font-ui); text-align: left; }
.dn::before { content: "✎"; position: absolute; left: 12px; top: 9px; color: var(--nk-gold-500); }
.dn b { color: var(--nk-gold-300); font-weight: 600; }
.dn-chip { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; min-height: 20px; padding: 3px 7px; border-radius: 6px; border: 1px dashed rgba(212, 175, 55, .5); background: rgba(212, 175, 55, .06); color: var(--nk-gold-300); font: 600 10px/1.35 var(--nk-font-mono); letter-spacing: .08em; text-transform: uppercase; vertical-align: middle; }
.no-notes .dn, .no-notes .dn-chip { display: none !important; }
.dn-toggle { position: fixed; z-index: 95; left: 14px; bottom: 14px; display: inline-flex; align-items: center; gap: 9px; height: 34px; padding: 0 10px 0 12px; border: 0; border-radius: 99px; background: rgba(14, 14, 13, .94); box-shadow: inset 0 0 0 1px var(--nk-gold-edge), var(--nk-shadow-pop); color: var(--nk-text-2); font: 500 12px/1 var(--nk-font-ui); cursor: pointer; backdrop-filter: blur(10px); }
.dn-toggle:hover { color: var(--nk-text-1); }

/* ---------- botões ---------- */
.nk-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: var(--nk-control-md); padding: 0 12px; border: 0; border-radius: var(--nk-radius-md); background: #121212; box-shadow: inset 0 0 0 1px #2a2a2a; color: var(--nk-text-2); font: 500 12.5px/1 var(--nk-font-ui); white-space: nowrap; cursor: pointer; user-select: none; text-decoration: none !important; transition: color var(--nk-dur-fast) var(--nk-ease-standard), box-shadow var(--nk-dur-fast) var(--nk-ease-standard), background var(--nk-dur-fast) var(--nk-ease-standard), transform var(--nk-dur-instant) var(--nk-ease-standard); }
.nk-btn .ico { width: 15px; height: 15px; }
.nk-btn:hover { color: var(--nk-text-1); box-shadow: inset 0 0 0 1px #3a3a3a; background: #161615; }
.nk-btn:active { transform: scale(.97); background: #0e0e0e; }
.nk-btn:focus-visible { outline: none; box-shadow: inset 0 0 0 1px #3a3a3a, var(--nk-ring); }
.nk-btn[disabled] { opacity: .45; cursor: default; transform: none; }
.nk-btn--primary { background: linear-gradient(var(--nk-gold-400), var(--nk-gold-500)); box-shadow: 0 0 18px rgba(212, 175, 55, .2), inset 0 1px 0 rgba(255, 255, 255, .25); color: var(--nk-gold-900); font-weight: 600; }
.nk-btn--primary:hover { background: linear-gradient(var(--nk-gold-300), var(--nk-gold-400)); color: var(--nk-gold-900); box-shadow: var(--nk-glow-gold), inset 0 1px 0 rgba(255, 255, 255, .3); }
.nk-btn--primary:active { background: linear-gradient(var(--nk-gold-500), var(--nk-gold-600)); }
.nk-btn--primary:focus-visible { box-shadow: var(--nk-ring), 0 0 18px rgba(212, 175, 55, .2); }
.nk-btn--ghost { background: transparent; box-shadow: none; color: var(--nk-text-2); }
.nk-btn--ghost:hover { background: var(--nk-bg-3); box-shadow: none; color: var(--nk-text-1); }
.nk-btn--ghost:focus-visible { box-shadow: var(--nk-ring); }
.nk-btn--danger { background: var(--nk-danger-fill); box-shadow: inset 0 0 0 1px var(--nk-danger-line); color: var(--nk-danger-text); }
.nk-btn--danger:hover { background: var(--nk-danger-solid); box-shadow: none; color: #fff; }
.nk-btn--danger-solid { background: var(--nk-danger-solid); box-shadow: none; color: #fff; font-weight: 600; }
.nk-btn--danger-solid:hover { background: #e0242f; color: #fff; box-shadow: none; }
.nk-btn--brake { background: var(--nk-state-paused-fill); box-shadow: inset 0 0 0 1px var(--nk-state-paused-line); color: var(--nk-state-paused); }
.nk-btn--brake:hover { background: rgba(138, 155, 179, .2); color: #b9c6d8; box-shadow: inset 0 0 0 1px rgba(138, 155, 179, .6); }
.nk-btn--needs { background: var(--nk-state-needs-fill); box-shadow: inset 0 0 0 1px var(--nk-state-needs-line); color: var(--nk-state-needs); font-weight: 600; }
.nk-btn--needs:hover { background: var(--nk-state-needs); color: #1a1205; box-shadow: none; }
.nk-btn--resume { background: var(--nk-gold-fill); box-shadow: inset 0 0 0 1px var(--nk-gold-edge); color: var(--nk-gold-300); font-weight: 600; }
.nk-btn--resume:hover { background: var(--nk-gold-400); color: var(--nk-gold-900); box-shadow: none; }
.nk-btn--warn { background: var(--nk-warn); color: #1a1205; box-shadow: none; font-weight: 600; }
.nk-btn--warn:hover { background: #ecb571; color: #1a1205; box-shadow: none; }
.nk-btn--sm { height: var(--nk-control-sm); padding: 0 10px; border-radius: 8px; font-size: 12px; }
.nk-btn--sm .ico { width: 14px; height: 14px; }
.nk-btn--lg { height: var(--nk-control-lg); padding: 0 16px; border-radius: 11px; font-size: 14px; gap: 9px; }
.nk-btn--lg .ico { width: 17px; height: 17px; }
.nk-btn--xl { height: 50px; padding: 0 24px; border-radius: 13px; font-size: 15.5px; gap: 10px; }
.nk-btn--xl .ico { width: 18px; height: 18px; }
.nk-btn--icon { width: var(--nk-control-md); padding: 0; }
.nk-btn--block { display: flex; width: 100%; }
.nk-btn kbd { margin-left: 2px; padding: 2px 5px; border-radius: 4px; background: rgba(0, 0, 0, .14); font: 600 10px/1 var(--nk-font-mono); }

.nk-kbd { display: inline-flex; align-items: center; height: 18px; padding: 0 5px; border-radius: var(--nk-radius-xs); background: #141413; box-shadow: inset 0 0 0 1px var(--nk-line-3), inset 0 -1px 0 #2f2f2f; color: var(--nk-text-3); font: 600 10px/1 var(--nk-font-mono); white-space: nowrap; }

/* ---------- campos ---------- */
.nk-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.nk-field > label, .nk-field__label { color: var(--nk-text-2); font: 500 12.5px/1.2 var(--nk-font-ui); }
.nk-field__hint { color: var(--nk-text-4); font-size: 12px; line-height: 1.45; }
.nk-input { display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 11px; border-radius: var(--nk-radius-md); background: var(--nk-field); box-shadow: inset 0 0 0 1px #262626; color: var(--nk-text-1); transition: box-shadow var(--nk-dur-fast) var(--nk-ease-standard); }
.nk-input .ico { color: var(--nk-text-4); }
.nk-input input, .nk-input select { flex: 1 1 auto; min-width: 0; height: 100%; padding: 0; border: 0; outline: 0; background: transparent; color: var(--nk-text-1); font: 400 13px/1 var(--nk-font-ui); }
.nk-input select { cursor: pointer; }
.nk-input select option { background: #111; }
.nk-input input::placeholder { color: var(--nk-text-4); }
.nk-input:hover { box-shadow: inset 0 0 0 1px #333; }
.nk-input:focus-within { box-shadow: inset 0 0 0 1px var(--nk-gold-edge), 0 0 0 3px rgba(212, 175, 55, .14); }
.nk-input.is-error { box-shadow: inset 0 0 0 1px var(--nk-danger-line), 0 0 0 3px rgba(251, 44, 54, .1); }
.nk-textarea { display: block; width: 100%; min-height: 84px; padding: 10px 11px; border: 0; border-radius: var(--nk-radius-md); background: var(--nk-field); box-shadow: inset 0 0 0 1px #262626; color: var(--nk-text-1); font: 400 13px/1.5 var(--nk-font-ui); resize: vertical; outline: 0; }
.nk-textarea:focus { box-shadow: inset 0 0 0 1px var(--nk-gold-edge), 0 0 0 3px rgba(212, 175, 55, .14); }
.nk-textarea::placeholder { color: var(--nk-text-4); }

/* ---------- toggle ---------- */
.nk-toggle { position: relative; display: inline-block; width: 34px; height: 20px; flex: 0 0 auto; padding: 0; border: 0; border-radius: var(--nk-radius-pill); background: #262626; box-shadow: inset 0 0 0 1px #333; cursor: pointer; transition: background var(--nk-dur-fast) var(--nk-ease-standard); }
.nk-toggle::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #8f8c83; transition: left var(--nk-dur-fast) var(--nk-ease-spring), background var(--nk-dur-fast); }
.nk-toggle[aria-checked="true"] { background: rgba(212, 175, 55, .88); box-shadow: none; }
.nk-toggle[aria-checked="true"]::after { left: 17px; background: var(--nk-gold-900); }
.nk-toggle:focus-visible { outline: none; box-shadow: var(--nk-ring); }
.nk-toggle--sm { width: 28px; height: 16px; }
.nk-toggle--sm::after { top: 2px; left: 2px; width: 12px; height: 12px; }
.nk-toggle--sm[aria-checked="true"]::after { left: 14px; }

/* ---------- pílulas de estado ---------- */
.nk-pill { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 6px; height: 22px; padding: 0 9px 0 8px; border-radius: var(--nk-radius-pill); background: #121211; box-shadow: inset 0 0 0 1px #262626; color: var(--nk-text-3); font: 500 11px/1 var(--nk-font-ui); white-space: nowrap; }
.nk-pill .ico { width: 12px; height: 12px; }
.nk-pill time { font: 10.5px/1 var(--nk-font-mono); opacity: .8; }
.nk-pill__dot { position: relative; width: 7px; height: 7px; flex: 0 0 auto; border-radius: 50%; background: currentColor; }
.nk-pill--working { background: var(--nk-state-working-fill); box-shadow: inset 0 0 0 1px var(--nk-state-working-line); color: var(--nk-state-working-text); }
.nk-pill--working .nk-pill__dot { background: var(--nk-state-working); }
.nk-pill--working .nk-pill__dot::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; border: 1.5px solid var(--nk-state-working); opacity: 0; animation: nk-ping 1.4s var(--nk-ease-exit) infinite; }
.nk-pill--needs { background: var(--nk-state-needs-fill); box-shadow: inset 0 0 0 1px var(--nk-state-needs-line); color: var(--nk-state-needs); font-weight: 600; }
.nk-pill--ready { background: var(--nk-state-ready-fill); box-shadow: inset 0 0 0 1px var(--nk-state-ready-line); color: var(--nk-state-ready); }
.nk-pill--failed { background: var(--nk-danger-fill); box-shadow: inset 0 0 0 1px var(--nk-danger-line); color: var(--nk-state-failed-text); }
.nk-pill--paused { background: var(--nk-state-paused-fill); box-shadow: inset 0 0 0 1px var(--nk-state-paused-line); color: var(--nk-state-paused); }
.nk-pill--idle { color: var(--nk-state-idle-text); }
.nk-pill--idle .nk-pill__dot { background: transparent; box-shadow: inset 0 0 0 1.5px var(--nk-state-idle); }
.nk-pill--starting { background: var(--nk-gold-fill); box-shadow: inset 0 0 0 1px var(--nk-gold-edge); color: var(--nk-gold-300); }
.nk-pill--starting .nk-pill__dot { animation: nk-blink 1s ease-in-out infinite; }
.nk-pill--info { background: var(--nk-info-fill); box-shadow: inset 0 0 0 1px var(--nk-info-line); color: var(--nk-info-text); }
.nk-pill--warn { background: var(--nk-warn-fill); box-shadow: inset 0 0 0 1px var(--nk-warn-line); color: var(--nk-warn); font-weight: 600; }
.nk-pill--lg { height: 26px; padding: 0 11px 0 9px; font-size: 12px; }
@keyframes nk-ping { 0% { opacity: .7; transform: scale(.6); } 100% { opacity: 0; transform: scale(1.5); } }
@keyframes nk-blink { 50% { opacity: .25; } }

/* ---------- selos ---------- */
.nk-tag { display: inline-flex; align-items: center; gap: 4px; height: 19px; padding: 0 6px; border-radius: 5px; box-shadow: inset 0 0 0 1px #2b2b2b; color: var(--nk-text-2); font: 600 10px/1 var(--nk-font-ui); letter-spacing: .02em; white-space: nowrap; }
.nk-tag--gold { background: var(--nk-gold-fill); box-shadow: inset 0 0 0 1px var(--nk-gold-edge); color: var(--nk-gold-300); }
.nk-tag--dev { background: transparent; box-shadow: inset 0 0 0 1px var(--nk-gold-edge); color: var(--nk-gold-500); font: 600 9.5px/1 var(--nk-font-mono); letter-spacing: .12em; }
.nk-tag--new { background: var(--nk-gold-500); box-shadow: none; color: var(--nk-gold-900); font: 600 9.5px/1 var(--nk-font-ui); letter-spacing: .08em; }
.nk-tag--info { background: var(--nk-info-fill); box-shadow: inset 0 0 0 1px var(--nk-info-line); color: var(--nk-info-text); }
.nk-tag--ok { background: var(--nk-success-fill); box-shadow: inset 0 0 0 1px var(--nk-success-line); color: var(--nk-success); }
.nk-tag--warn { background: var(--nk-warn-fill); box-shadow: inset 0 0 0 1px var(--nk-warn-line); color: var(--nk-warn); }
.nk-tag--mono { font: 600 9.5px/1 var(--nk-font-mono); letter-spacing: .1em; text-transform: uppercase; }
.nk-count { display: inline-grid; min-width: 18px; height: 18px; padding: 0 5px; place-items: center; border-radius: 99px; background: var(--nk-gold-500); color: var(--nk-gold-900); font: 600 10px/1 var(--nk-font-mono); }
.nk-count--needs { background: var(--nk-state-needs); color: #1a1205; }

/* ---------- abas ---------- */
.nk-seg { position: relative; display: inline-flex; gap: 2px; padding: 3px; border-radius: 10px; background: var(--nk-field); box-shadow: inset 0 0 0 1px #242424; }
.nk-seg button { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 7px; height: 28px; padding: 0 12px; border: 0; border-radius: 7px; background: none; color: var(--nk-text-3); font: 500 12px/1 var(--nk-font-ui); white-space: nowrap; cursor: pointer; transition: color var(--nk-dur-fast); }
.nk-seg button .ico { width: 14px; height: 14px; }
.nk-seg button:hover { color: var(--nk-text-1); }
.nk-seg button[aria-selected="true"], .nk-seg button[aria-pressed="true"] { background: #1d1b14; box-shadow: inset 0 0 0 1px rgba(212, 175, 55, .5); color: var(--nk-text-1); }
.nk-seg button[aria-selected="true"] .ico, .nk-seg button[aria-pressed="true"] .ico { color: var(--nk-gold-300); }

/* ---------- avatar de CLI ---------- */
.nk-avatar { position: relative; display: grid; width: 22px; height: 22px; flex: 0 0 auto; place-items: center; border-radius: var(--nk-radius-sm); background: rgba(255, 255, 255, .06); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16); color: var(--nk-text-1); font: 600 9.5px/1 var(--nk-font-mono); }
.nk-avatar[data-cli="claude"] { background: rgba(217, 119, 87, .12); box-shadow: inset 0 0 0 1px rgba(217, 119, 87, .3); color: #e9a58c; }
.nk-avatar[data-cli="codex"] { background: rgba(16, 163, 127, .12); box-shadow: inset 0 0 0 1px rgba(16, 163, 127, .3); color: #6fd3b8; }
.nk-avatar[data-cli="agy"] { background: rgba(66, 133, 244, .12); box-shadow: inset 0 0 0 1px rgba(66, 133, 244, .32); color: #8fb5f8; }
.nk-avatar[data-cli="grok"] { color: #e8e6e1; }
.nk-avatar__dot { position: absolute; right: -3px; bottom: -3px; width: 10px; height: 10px; border-radius: 50%; background: var(--nk-state-idle); box-shadow: 0 0 0 2px #0a0a0a; }
.nk-avatar--lg { width: 30px; height: 30px; border-radius: 9px; font-size: 11px; }
.nk-mono { display: inline-grid; width: 24px; height: 24px; place-items: center; border-radius: 7px; background: #101010; box-shadow: inset 0 0 0 1px #2a2a2a; color: var(--nk-text-3); font: 600 9.5px/1 var(--nk-font-ui); }
.nk-mono--gold { background: linear-gradient(160deg, var(--nk-gold-200), var(--nk-gold-600)); box-shadow: none; color: var(--nk-gold-900); }

/* ---------- pane ---------- */
.nk-pane { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; border-radius: var(--nk-radius-xl); background: #080808; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06), var(--nk-shadow-card); }
.nk-pane__head { display: flex; align-items: center; gap: 8px; min-height: 36px; padding: 5px 8px 5px 10px; border-bottom: 1px solid rgba(255, 255, 255, .05); background: linear-gradient(#0d0d0c, #080808); }
.nk-pane__title { display: flex; flex: 1 1 auto; align-items: center; gap: 8px; min-width: 0; }
.nk-pane__title b { overflow: hidden; color: var(--nk-text-1); font: 600 12.5px/1.2 var(--nk-font-ui); white-space: nowrap; text-overflow: ellipsis; }
.nk-pane__meta { overflow: hidden; color: var(--nk-text-4); font: 10.5px/1.2 var(--nk-font-mono); white-space: nowrap; text-overflow: ellipsis; }
.nk-pane__body { position: relative; flex: 1 1 auto; min-height: 0; padding: 10px 12px 12px; overflow: hidden; color: #cfcbc0; font: 400 11.5px/1.6 var(--nk-font-mono); }
.nk-pane__body p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.nk-pane__foot { display: flex; align-items: center; gap: 10px; padding: 7px 10px; border-top: 1px solid rgba(255, 255, 255, .05); color: var(--nk-text-3); font-size: 11.5px; }
.nk-pane__foot .sp { flex: 1 1 auto; }
.t-dim { color: #6f6c64; } .t-gold { color: var(--nk-gold-300); } .t-ok { color: var(--nk-success); }
.t-live { color: var(--nk-state-working-text); } .t-warn { color: var(--nk-state-needs); } .t-err { color: var(--nk-danger-text); }
.t-path { color: #e7e2d3; } .t-info { color: var(--nk-info-text); }
.t-cursor { display: inline-block; width: 7px; height: 13px; margin-left: 2px; vertical-align: -2px; background: var(--nk-gold-300); animation: nk-caret 1.1s steps(1) infinite; }
@keyframes nk-caret { 50% { opacity: 0; } }
.nk-pane[data-state="working"]::before { content: ""; position: absolute; z-index: 3; top: 0; left: 14px; right: 14px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--nk-state-working), transparent) no-repeat; background-size: 40% 100%; animation: nk-wire var(--nk-loop-working) linear infinite; }
.nk-pane[data-state="working"] .nk-avatar__dot { background: var(--nk-state-working); }
.nk-pane[data-state="needs"] { box-shadow: inset 0 0 0 1px rgba(224, 164, 88, .6), var(--nk-glow-needs), var(--nk-shadow-card); animation: nk-needs var(--nk-loop-needs) ease-in-out infinite; }
.nk-pane[data-state="needs"] .nk-avatar__dot { background: var(--nk-state-needs); }
.nk-pane[data-state="ready"] .nk-avatar__dot { background: var(--nk-state-ready); }
.nk-pane[data-state="paused"] { box-shadow: inset 0 0 0 1px rgba(138, 155, 179, .45), var(--nk-shadow-card); }
.nk-pane[data-state="paused"] .nk-pane__body::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(135deg, rgba(138, 155, 179, .06) 0 6px, transparent 6px 14px); pointer-events: none; }
.nk-pane[data-state="paused"] .nk-avatar__dot { background: var(--nk-state-paused); }
.nk-pane[data-state="idle"] .nk-avatar__dot { background: #0a0a0a; box-shadow: 0 0 0 2px #0a0a0a, inset 0 0 0 1.5px var(--nk-state-idle); }
.nk-pane[data-state="starting"] .nk-avatar__dot { background: var(--nk-gold-500); animation: nk-blink 1s ease-in-out infinite; }
.nk-pane.is-focus { box-shadow: inset 0 0 0 1px rgba(212, 175, 55, .55), var(--nk-glow-focus), var(--nk-shadow-card); }
.nk-pane.is-focus .nk-pane__title b { color: var(--nk-gold-300); }
@keyframes nk-wire { from { background-position: -40% 0; } to { background-position: 140% 0; } }
@keyframes nk-needs { 50% { box-shadow: inset 0 0 0 1px rgba(224, 164, 88, .85), 0 0 0 1px rgba(224, 164, 88, .3), 0 0 56px rgba(224, 164, 88, .2), var(--nk-shadow-card); } }

/* ---------- faixa de aviso ---------- */
.nk-band { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 6px 8px 6px 14px; border-radius: 12px; font-size: 13px; line-height: 1.4; }
.nk-band > .ico { width: 16px; height: 16px; }
.nk-band__t { flex: 1 1 auto; min-width: 0; color: var(--nk-text-2); }
.nk-band__t strong { font-weight: 600; }
.nk-band__t span { color: var(--nk-text-3); }
.nk-band--paused { background: var(--nk-state-paused-fill); box-shadow: inset 0 0 0 1px var(--nk-state-paused-line); }
.nk-band--paused > .ico, .nk-band--paused strong { color: var(--nk-state-paused); }
.nk-band--warn { background: var(--nk-warn-fill); box-shadow: inset 0 0 0 1px var(--nk-warn-line); }
.nk-band--warn > .ico, .nk-band--warn strong { color: var(--nk-warn); }
.nk-band--err { background: var(--nk-danger-fill); box-shadow: inset 0 0 0 1px var(--nk-danger-line); }
.nk-band--err > .ico, .nk-band--err strong { color: var(--nk-danger-text); }
.nk-band--info { background: var(--nk-info-fill); box-shadow: inset 0 0 0 1px var(--nk-info-line); }
.nk-band--info > .ico, .nk-band--info strong { color: var(--nk-info-text); }
.nk-band--ok { background: var(--nk-success-fill); box-shadow: inset 0 0 0 1px var(--nk-success-line); }
.nk-band--ok > .ico, .nk-band--ok strong { color: var(--nk-success); }
.nk-band .nk-btn { flex: 0 0 auto; }

/* ---------- barra de comando ---------- */
.nk-cmd { position: relative; border-radius: 18px; background: rgba(13, 13, 12, .92); box-shadow: inset 0 0 0 1px var(--nk-gold-edge), var(--nk-shadow-island); backdrop-filter: blur(16px); color: var(--nk-text-1); }
.nk-cmd.is-paused { box-shadow: inset 0 0 0 1px rgba(138, 155, 179, .45), var(--nk-shadow-island); }
.nk-cmd__chips { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding: 10px 10px 4px; }
.nk-cmd__chip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border: 0; border-radius: 9px; background: #18170f; box-shadow: inset 0 0 0 1px rgba(212, 175, 55, .3); color: var(--nk-text-2); font: 12px/1 var(--nk-font-ui); white-space: nowrap; cursor: default; }
.nk-cmd__chip .ico { width: 14px; height: 14px; color: var(--nk-gold-300); }
.nk-cmd__chip--brake { margin-left: auto; background: var(--nk-state-paused-fill); box-shadow: inset 0 0 0 1px var(--nk-state-paused-line); color: var(--nk-state-paused); }
.nk-cmd__chip--brake .ico { color: var(--nk-state-paused); }
.nk-cmd__row { display: flex; align-items: center; gap: 8px; padding: 6px 8px 8px 12px; }
.nk-cmd__to { display: flex; flex: 0 0 auto; align-items: center; gap: 5px; color: var(--nk-text-3); font-size: 11.5px; }
.nk-cmd__tok { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 8px 0 4px; border-radius: 7px; background: #1d1b14; box-shadow: inset 0 0 0 1px rgba(212, 175, 55, .4); color: var(--nk-text-1); font: 500 12px/1 var(--nk-font-ui); white-space: nowrap; }
.nk-cmd__tok .nk-avatar { width: 18px; height: 18px; border-radius: 5px; font-size: 8px; }
.nk-cmd__tok .nk-avatar__dot { width: 8px; height: 8px; right: -2px; bottom: -2px; }
.nk-cmd__input { flex: 1 1 auto; min-width: 0; height: 34px; padding: 0 4px; display: flex; align-items: center; overflow: hidden; color: var(--nk-text-1); font: 13.5px/1 var(--nk-font-ui); white-space: nowrap; }
.nk-cmd__input .ph { color: var(--nk-text-4); }
.nk-cmd__input .at { color: var(--nk-gold-300); font-weight: 600; }
.nk-cmd__mic { display: grid; width: 32px; height: 32px; flex: 0 0 auto; place-items: center; border-radius: 9px; background: #141413; box-shadow: inset 0 0 0 1px #2a2a2a; color: var(--nk-text-2); }
.nk-cmd__mic .ico { width: 15px; height: 15px; }
.nk-cmd__foot { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 0 12px 10px; color: var(--nk-text-4); font-size: 11px; }
.nk-cmd__foot span { display: inline-flex; align-items: center; gap: 5px; }

/* ---------- ilha e doca ---------- */
.nk-island { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 10px 0 14px; border-radius: var(--nk-radius-2xl); background: rgba(13, 13, 12, .9); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07), var(--nk-shadow-island); backdrop-filter: blur(14px); white-space: nowrap; }
.nk-island__sep { width: 1px; height: 22px; flex: 0 0 auto; background: #262626; }
.nk-island__brand { display: flex; flex: 0 0 auto; align-items: center; gap: 8px; }
.nk-island__brand .s { width: 22px; height: 22px; }
.nk-island__brand .w { width: 50px; height: auto; aspect-ratio: var(--word-ar); }
.nk-island__sel { display: inline-flex; min-width: 0; align-items: center; gap: 8px; height: 32px; padding: 0 10px; border-radius: 10px; color: var(--nk-text-2); font: 500 12.5px/1 var(--nk-font-ui); }
.nk-island__sel b { color: var(--nk-text-1); font-weight: 600; }
.nk-island__sel .ico { color: var(--nk-text-4); }
.nk-mode { padding: 3px 5px; border-radius: 4px; box-shadow: inset 0 0 0 1px #2b2b2b; color: var(--nk-text-4); font: 600 9.5px/1 var(--nk-font-ui); letter-spacing: .12em; }
.nk-counts { display: inline-flex; align-items: center; gap: 12px; color: var(--nk-text-3); font-size: 12px; }
.nk-counts span { display: inline-flex; align-items: center; gap: 6px; }
.nk-counts i { width: 7px; height: 7px; border-radius: 50%; }
.nk-counts b { color: var(--nk-text-1); font-weight: 600; }
.nk-dock { display: flex; align-items: center; gap: 8px; height: 56px; padding: 0 10px; border-radius: var(--nk-radius-3xl); background: rgba(13, 13, 12, .9); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .07), 0 18px 44px rgba(0, 0, 0, .6); }
.nk-dock__m { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px 0 8px; border-radius: 12px; color: var(--nk-text-2); font: 500 12.5px/1 var(--nk-font-ui); white-space: nowrap; }
.nk-dock__m.on { background: #17160f; box-shadow: inset 0 0 0 1px rgba(212, 175, 55, .4); color: var(--nk-text-1); }
.nk-dock__m small { display: block; margin-top: 3px; color: var(--nk-text-4); font-size: 10.5px; }
.nk-ring { position: relative; width: 26px; height: 26px; flex: 0 0 auto; }
.nk-ring svg { width: 26px; height: 26px; transform: rotate(-90deg); }
.nk-ring circle { fill: none; stroke-width: 3; }
.nk-ring .tr { stroke: #1f1f1f; }
.nk-ring .vl { stroke: var(--nk-gold-500); stroke-linecap: round; }

/* ---------- barra de uso ---------- */
.nk-bars { display: grid; grid-template-columns: max-content minmax(0, 1fr) 36px; align-items: center; gap: 6px 9px; min-width: 0; }
.nk-bars > span { color: var(--nk-text-4); font: 10.5px/1 var(--nk-font-mono); }
.nk-bars > em { color: var(--nk-text-2); font: 10.5px/1 var(--nk-font-mono); font-style: normal; text-align: right; }
.nk-bar { display: block; height: 6px; overflow: hidden; border-radius: 99px; background: #1f1f1d; }
.nk-bar > i { display: block; height: 100%; border-radius: inherit; background: var(--nk-gold-500); }
.nk-bar.warn > i { background: var(--nk-state-needs); }
.nk-bar.hot > i { background: var(--nk-danger); }
.nk-bars > em.warn { color: var(--nk-state-needs); }
.nk-bars > em.hot { color: var(--nk-danger-text); }

/* ---------- cartão ---------- */
.nk-card { position: relative; display: flex; flex-direction: column; border-radius: var(--nk-radius-xl); background: var(--nk-bg-2); box-shadow: inset 0 0 0 1px var(--nk-line-2); }
.nk-card--gold { box-shadow: inset 0 0 0 1px var(--nk-gold-edge), var(--nk-glow-focus); }

/* ---------- toast ---------- */
.nk-toasts { position: fixed; z-index: 120; right: 20px; bottom: 20px; display: flex; flex-direction: column; gap: 10px; width: min(380px, calc(100vw - 32px)); pointer-events: none; }
.nk-toast { position: relative; display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px 12px 14px; overflow: hidden; border-radius: var(--nk-radius-lg); background: #121211; box-shadow: inset 0 0 0 1px var(--nk-line-2), var(--nk-shadow-pop); color: var(--nk-text-1); pointer-events: auto; animation: nk-toast-in var(--nk-dur-slow) var(--nk-ease-enter); }
.nk-toast.out { animation: nk-toast-out var(--nk-dur-base) var(--nk-ease-exit) forwards; }
.nk-toast > .ico { width: 18px; height: 18px; margin-top: 1px; }
.nk-toast b { display: block; font: 600 13px/1.3 var(--nk-font-ui); }
.nk-toast p { margin: 3px 0 0; color: var(--nk-text-2); font-size: 12.5px; line-height: 1.45; }
.nk-toast__x { display: grid; width: 22px; height: 22px; padding: 0; place-items: center; border: 0; border-radius: 6px; background: none; color: var(--nk-text-4); cursor: pointer; }
.nk-toast__x:hover { background: var(--nk-bg-3); color: var(--nk-text-1); }
.nk-toast__x .ico { width: 13px; height: 13px; }
.nk-toast::after { content: ""; position: absolute; left: 0; bottom: 0; height: 2px; width: 100%; background: currentColor; opacity: .6; transform-origin: left; animation: nk-life 5s linear forwards; }
.nk-toast--ok { color: var(--nk-success); } .nk-toast--err { color: var(--nk-danger-text); }
.nk-toast--info { color: var(--nk-info-text); } .nk-toast--gold { color: var(--nk-gold-300); }
.nk-toast > div { color: var(--nk-text-1); }
@keyframes nk-toast-in { from { opacity: 0; transform: translateY(10px) scale(.98); } }
@keyframes nk-toast-out { to { opacity: 0; transform: translateX(16px); } }
@keyframes nk-life { from { transform: scaleX(1); } to { transform: scaleX(0); } }

/* ---------- modal ---------- */
.nk-backdrop { position: fixed; z-index: 110; inset: 0; display: grid; place-items: center; padding: 16px; background: rgba(0, 0, 0, .6); backdrop-filter: blur(3px); animation: nk-fade var(--nk-dur-slow) var(--nk-ease-enter); }
.nk-modal { width: min(500px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 22px; border-radius: var(--nk-radius-3xl); background: #0e0e0d; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), var(--nk-shadow-modal); animation: nk-modal-in var(--nk-dur-slow) var(--nk-ease-enter); }
.nk-modal__h { display: flex; align-items: flex-start; gap: 12px; }
.nk-modal__icon { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; border-radius: 11px; background: var(--nk-bg-3); color: var(--nk-text-2); }
.nk-modal__icon .ico { width: 18px; height: 18px; }
.nk-modal__icon--danger { background: var(--nk-danger-fill); box-shadow: inset 0 0 0 1px var(--nk-danger-line); color: var(--nk-danger-text); }
.nk-modal__icon--warn { background: var(--nk-warn-fill); box-shadow: inset 0 0 0 1px var(--nk-warn-line); color: var(--nk-warn); }
.nk-modal__icon--gold { background: var(--nk-gold-fill); box-shadow: inset 0 0 0 1px var(--nk-gold-edge); color: var(--nk-gold-300); }
.nk-modal h4 { margin: 0; font: 600 17px/1.3 var(--nk-font-ui); }
.nk-modal__h p { margin: 4px 0 0; color: var(--nk-text-3); font-size: 13px; line-height: 1.5; }
.nk-modal__body { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; }
.nk-effects { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.nk-effects li { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 10px; align-items: start; padding: 9px 11px; border-radius: 9px; background: #0a0a09; box-shadow: inset 0 0 0 1px var(--nk-line-1); color: var(--nk-text-2); font-size: 12.5px; line-height: 1.45; }
.nk-effects li .ico { width: 15px; height: 15px; margin-top: 1px; color: var(--nk-text-3); }
.nk-modal__f { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 20px; }
@keyframes nk-fade { from { opacity: 0; } }
@keyframes nk-modal-in { from { opacity: 0; transform: translateY(8px) scale(.97); } }

/* ---------- marca: cores do sprite e animação da Rota ---------- */
.nk-b { fill: var(--logo-body, #d4af37); }
.nk-d { fill: var(--logo-bead, #f0cb5c); }
.nk-w { fill: var(--logo-ink, #f2efe8); }
.nk-anim line { stroke: var(--logo-body, #d4af37); }
.nk-anim circle { fill: var(--logo-body, #d4af37); }
.nk-anim .bead { fill: var(--logo-bead, #f0cb5c); }
.nk-anim .n0, .nk-anim .n1, .nk-anim .n2, .nk-anim .n3, .nk-anim .bead { transform-box: fill-box; transform-origin: center; }
.nk-anim.play .n0 { animation: nk-node 240ms var(--nk-ease-spring) 0ms both; }
.nk-anim.play .l1 { animation: nk-draw 240ms var(--nk-ease-standard) 190ms both; }
.nk-anim.play .n1 { animation: nk-node 180ms var(--nk-ease-spring) 400ms both; }
.nk-anim.play .l2 { animation: nk-draw 360ms var(--nk-ease-standard) 420ms both; }
.nk-anim.play .bead { animation: nk-node 200ms var(--nk-ease-spring) 590ms both; }
.nk-anim.play .n2 { animation: nk-node 200ms var(--nk-ease-spring) 740ms both; }
.nk-anim.play .l3 { animation: nk-draw 220ms var(--nk-ease-standard) 760ms both; }
.nk-anim.play .n3 { animation: nk-node 180ms var(--nk-ease-spring) 940ms both; }
.word-anim.play { animation: nk-word 420ms var(--nk-ease-enter) 950ms both; }
.nk-anim.loop .bead { animation: nk-bead var(--nk-loop-bead) var(--nk-ease-standard) infinite; }
.nk-anim.play.loop .bead { animation: nk-node 200ms var(--nk-ease-spring) 590ms both, nk-bead var(--nk-loop-bead) var(--nk-ease-standard) 1400ms infinite; }
@keyframes nk-node { from { transform: scale(0); opacity: 0; } }
@keyframes nk-draw { 0% { stroke-dasharray: 1 1; stroke-dashoffset: 1; opacity: 0; } 12% { opacity: 1; } 100% { stroke-dasharray: 1 1; stroke-dashoffset: 0; opacity: 1; } }
@keyframes nk-word { from { opacity: 0; transform: translateX(-10px); } }
@keyframes nk-bead { 0% { transform: translate(var(--x0), var(--y0)); opacity: 0; } 14% { opacity: 1; } 86% { opacity: 1; } 100% { transform: translate(var(--x1), var(--y1)); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .nk-anim .bead { animation: none !important; } }
