/* ═══════════════════════════════════════════════════════════════
   TOOLBAR SYSTEM (shared pattern)
   ═══════════════════════════════════════════════════════════════ */
body.toolbar-active {
  padding-top: 56px;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100dvh;
}

.app-toolbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 56px;
  background: var(--glass);
  border-bottom: 1px solid var(--gb);
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  z-index: 1000;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.app-toolbar.active {
  display: flex;
}

.toolbar-left,
.toolbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.toolbar-btn {
  padding: 0.5rem 1rem;
  border: 1px solid var(--c300);
  background: white;
  color: var(--dark);
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

.toolbar-btn svg {
  width: 20px;
  height: 20px;
  display: block;
}

.toolbar-btn:hover {
  border-color: var(--c500);
}

.toolbar-btn:active {
  transform: scale(0.95);
}

.toolbar-logo {
  display: flex;
  align-items: center;
  gap: 10px;
}

.toolbar-logo .logo-icon-img {
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.toolbar-logo .logo-text {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 600;
  font-size: 1.25rem;
  color: var(--dark);
}

@media (max-width: 600px) {
  .toolbar-logo .logo-text {
    display: none;
  }
  .toolbar-btn span {
    display: none;
  }
}

.toolbar-profile {
  position: relative;
}

/* No "U / User" flash: hide label until real identity (see data-identity-ready on #toolbarProfile). */
.toolbar-profile:not([data-identity-ready="true"]) .profile-avatar,
.toolbar-profile:not([data-identity-ready="true"]) .profile-name {
  visibility: hidden;
}
.toolbar-profile:not([data-identity-ready="true"]) .profile-avatar {
  background: var(--c300);
  color: transparent;
}

.profile-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px 6px 6px;
  background: transparent;
  border: 1px solid var(--c300);
  border-radius: 24px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.profile-btn:hover {
  background: white;
  border-color: var(--slate);
}

.profile-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--c500), var(--dark));
  color: #fff;
  font-weight: 700;
  font-size: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-name {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--dark);
  max-width: 120px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.profile-chevron {
  color: var(--slate);
  transition: transform 0.2s ease;
}

@media (max-width: 600px) {
  .profile-name {
    display: none;
  }
  .profile-btn {
    padding: 6px;
    border-radius: 50%;
  }
  .profile-chevron {
    display: none;
  }
}

.profile-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  width: 280px;
  background: white;
  border: 1px solid var(--c300);
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px) scale(0.95);
  transform-origin: top right;
  transition: all 0.2s ease;
  z-index: 1001;
}

.profile-dropdown.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0) scale(1);
}

.dropdown-user-info {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
}

.dropdown-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--c500), var(--dark));
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.dropdown-user-details {
  flex: 1;
  min-width: 0;
}

.dropdown-user-name {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--dark);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dropdown-user-email {
  font-size: 0.8rem;
  color: var(--slate);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dropdown-user-plan {
  font-size: 0.75rem;
  color: var(--c500);
  font-weight: 600;
  margin-top: 2px;
}

.dropdown-divider {
  height: 1px;
  background: var(--c300);
  margin: 0;
}

.dropdown-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  background: transparent;
  border: none;
  width: 100%;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--dark);
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
  font-family: 'DM Sans', sans-serif;
}

.dropdown-item:hover {
  background: var(--c100);
}

.dropdown-item svg {
  width: 16px;
  height: 16px;
  color: var(--slate);
}

.app-launcher-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  z-index: 998;
}

.app-launcher-overlay.active {
  opacity: 1;
  visibility: visible;
}

.app-launcher {
  position: fixed;
  top: 64px;
  left: 16px;
  width: 420px;
  background: white;
  border: 1px solid var(--c300);
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  opacity: 0;
  visibility: hidden;
  transform: scale(0.9) translateY(-10px);
  transform-origin: top left;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 999;
  overflow: hidden;
  max-height: 80vh;
}

.app-launcher.active {
  opacity: 1;
  visibility: visible;
  transform: scale(1) translateY(0);
}

.app-launcher-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--c300);
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--dark);
}

.app-launcher-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  padding: 10px;
  max-height: calc(80vh - 52px);
  overflow-y: auto;
}

.app-launcher-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 14px 8px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-decoration: none;
  color: var(--dark);
}

.app-launcher-item:hover {
  background: var(--c100);
  border-color: var(--c300);
}

.app-launcher-item.current {
  background: var(--c100);
  border-color: var(--c500);
}

.app-launcher-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--c100);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.app-emoji {
  font-size: 1.35rem;
}

.app-launcher-item:hover .app-launcher-icon {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.app-launcher-label {
  font-size: 0.7rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
}

@media (max-width: 480px) {
  .app-launcher {
    left: 8px;
    right: 8px;
    width: auto;
  }
  .app-launcher-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ═══════════════════════════════════════════════════════════════
   PATENT ENGINE — Dark Theme Design System
   ═══════════════════════════════════════════════════════════════ */

html,body{margin:0;padding:0;background:#0c0e14;min-height:100vh}:root{--bg-void: #0c0e14;--bg-deep: #12151e;--bg-card: #181c2a;--bg-raised: #1f2436;--bg-hover: #282e44;--bg-input: #141724;--border: #303652;--border-subtle: #272d46;--border-focus: #e4b94e;--gold: #e4b94e;--gold-dim: #c9a23a;--gold-glow: rgba(228,185,78,.15);--gold-bright: #f0cc5a;--text-primary: #eae6de;--text-secondary: #b0a898;--text-muted: #7a7268;--text-bright: #faf6ee;--success: #4ee88a;--success-bg: rgba(78,232,138,.12);--warning: #f0cc5a;--warning-bg: rgba(240,204,90,.12);--error: #ff6b5a;--error-bg: rgba(255,107,90,.1);--blue: #6ab0f7;--blue-bg: rgba(106,176,247,.12);--royal: #8da0e8;--sky: #6ab0f7;--radius: 8px;--radius-lg: 12px;--shadow: 0 2px 16px rgba(0,0,0,.3);--shadow-lg: 0 8px 36px rgba(0,0,0,.4);--transition: .2s ease;--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "IBM Plex Sans", -apple-system, sans-serif;--font-mono: "IBM Plex Mono", "Consolas", monospace}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font-body);background:var(--bg-void);color:var(--text-primary);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:#8b753233;color:var(--text-bright)}.app{max-width:960px;margin:0 auto;padding:24px 20px 60px;position:relative;background:radial-gradient(ellipse at 50% 0%,rgba(228,185,78,.06) 0%,transparent 60%)}.hdr{display:flex;align-items:center;justify-content:space-between;padding:24px 0 20px;border-bottom:1px solid rgba(228,185,78,.2)}.hdr-left{display:flex;align-items:baseline;gap:12px}.logo{font-family:var(--font-display);font-size:2rem;font-weight:400;color:var(--text-bright);letter-spacing:.5px;text-shadow:0 0 40px rgba(228,185,78,.2)}.logo span{color:var(--gold-bright)}.ver{font-family:var(--font-mono);font-size:.65rem;color:var(--gold-dim);letter-spacing:2px;text-transform:uppercase}.hdr-right{display:flex;gap:8px}.icon-btn{width:36px;height:36px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);color:var(--text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:var(--transition)}.icon-btn:hover{border-color:var(--sky);color:var(--sky);background:#6ea8d714}.steps{display:flex;justify-content:center;gap:4px;margin-bottom:28px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;margin-bottom:20px}.step{display:flex;align-items:center;gap:4px;font-size:.65rem;letter-spacing:.5px;color:var(--gold-dim);text-transform:uppercase;font-family:var(--font-mono);opacity:.5}.step.on{color:var(--sky);opacity:1}.step.ok{color:var(--success);opacity:1}.dot{width:7px;height:7px;border-radius:50%;background:var(--gold-dim);border:1.5px solid var(--gold-dim);transition:var(--transition);opacity:.4}.step.on .dot{background:var(--sky);border-color:var(--sky);box-shadow:0 0 10px rgba(106,176,247,.3);animation:phasePulse 1.5s ease-in-out infinite}@keyframes phasePulse{0%,100%{box-shadow:0 0 10px rgba(106,176,247,.3)}50%{box-shadow:0 0 16px #6ea8d766}}.step.ok .dot{background:var(--success);border-color:var(--success)}.sline{width:20px;height:1px;background:var(--gold-dim);margin:6px 2px;opacity:.3}.scr{display:none;animation:fadeIn .3s ease}.scr.on{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.comp-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-family:var(--font-mono);font-size:.75rem;font-weight:500}.comp-ok{background:#4caf821a;border:1px solid rgba(76,175,130,.3);color:var(--success)}.comp-warn{background:#c9a84c1a;border:1px solid rgba(201,168,76,.3);color:var(--warning)}.issue-panel{margin-top:12px}.issue-row{display:flex;gap:10px;padding:12px 14px;border:1px solid var(--border-subtle);border-radius:var(--radius);margin-bottom:8px;background:var(--bg-raised);align-items:flex-start;transition:var(--transition)}.issue-row.fixed{opacity:.45;border-color:var(--success)}.issue-type{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.5px;padding:3px 8px;border-radius:3px;white-space:nowrap;font-weight:600}.issue-type.ab{background:#d4564a1f;color:var(--error)}.issue-type.ti{background:#c9a84c1f;color:var(--gold)}.issue-type.us{background:#6ea8d71f;color:var(--sky)}.issue-type.de{background:#d4564a1f;color:var(--error)}.issue-type.mr{background:#4caf821f;color:var(--success)}.issue-body{flex:1;min-width:0}.issue-loc{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin-bottom:3px}.issue-desc{font-size:.8rem;color:var(--text-primary);line-height:1.5;margin-bottom:6px}.issue-fix{font-size:.78rem;color:var(--sky);background:#6ea8d70f;padding:8px 10px;border-radius:4px;border-left:3px solid var(--sky);margin-bottom:6px;font-family:var(--font-mono);line-height:1.5}.issue-acts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.issue-acts button{padding:4px 12px;border-radius:4px;font-size:.72rem;font-weight:600;cursor:pointer;transition:var(--transition);border:none}.issue-accept{background:var(--success);color:#fff}.issue-reject{background:var(--bg-hover);color:var(--text-muted);border:1px solid var(--border)!important}.fix-write-panel{display:flex;flex-direction:column;gap:4px;width:100%}.fix-write-ta{font-family:var(--font-mono);font-size:.72rem;padding:8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);width:100%;min-height:54px;resize:vertical;outline:none;transition:border-color .2s;line-height:1.5}.fix-write-ta:focus{border-color:var(--sky)}.fix-write-ta::placeholder{color:var(--text-muted);font-size:.66rem;font-style:italic}.fix-write-hint{font-size:.62rem;color:var(--text-muted)}.fr-stepper{border:2px solid var(--sky);border-radius:var(--radius);background:var(--bg-card);overflow:hidden}.fr-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#2c6faa0f;border-bottom:1px solid var(--border-subtle)}.fr-progress{font-family:var(--font-mono);font-size:.72rem;color:var(--sky);font-weight:700;white-space:nowrap}.fr-bar{flex:1;height:4px;background:var(--bg-hover);border-radius:2px;overflow:hidden}.fr-bar-fill{height:100%;background:var(--sky);border-radius:2px;transition:width .3s}.fr-title{font-size:.78rem;font-weight:600;color:var(--text-primary)}.fr-body{padding:16px}.fr-section-label{font-size:.62rem;font-weight:700;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.fr-original{font-family:var(--font-mono);font-size:.75rem;line-height:1.6;padding:10px 12px;border-radius:6px;background:#d4564a0f;border-left:3px solid var(--error);color:var(--text-primary);margin-bottom:14px;white-space:pre-wrap;word-break:break-word}.fr-replacement{font-family:var(--font-mono);font-size:.75rem;line-height:1.6;padding:10px 12px;border-radius:6px;border:1px solid var(--sky);background:var(--bg-input);color:var(--text-primary);width:100%;min-height:70px;resize:vertical;outline:none;margin-bottom:8px;white-space:pre-wrap}.fr-replacement:focus{border-color:var(--sky);box-shadow:0 0 0 2px #2c6faa26}.fr-explain{font-size:.75rem;color:var(--text-secondary);line-height:1.5;margin-bottom:14px;padding:8px 10px;border-radius:4px;background:#8b75320a}.fr-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fr-actions button{padding:6px 16px;border-radius:6px;font-size:.78rem;font-weight:600;cursor:pointer;border:none;transition:var(--transition)}.fr-accept{background:var(--success);color:#fff}.fr-accept:hover{filter:brightness(1.1)}.fr-skip{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border)!important}.fr-skip:hover{background:var(--border)}.fr-nav{background:none;color:var(--sky);border:1px solid var(--sky)!important;padding:4px 10px!important;font-size:.72rem!important}.fr-nav:disabled{opacity:.3;cursor:not-allowed}.fr-summary{padding:16px;text-align:center}.fr-summary-stat{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:12px;font-size:.78rem;font-weight:600;margin:4px}.fr-loading{padding:30px;text-align:center;color:var(--text-muted);font-size:.85rem}.scope-fix-panel{margin:4px 0 12px 92px;padding:12px;border:1px solid var(--border);border-radius:6px;background:#8b75320a}.scope-fix-ta{font-family:var(--font-mono);font-size:.72rem;padding:8px;border-radius:4px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);width:100%;min-height:80px;resize:vertical;outline:none;line-height:1.5}.scope-fix-ta:focus{border-color:var(--sky)}.scope-fix-ta::placeholder{color:var(--text-muted);font-size:.66rem;font-style:italic}.scope-chart{margin-top:12px}.scope-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:8px 12px;border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--border-subtle)}.scope-row.sv-good{border-left:3px solid var(--success)}.scope-row.sv-narrow,.scope-row.sv-broad{border-left:3px solid var(--error)}.scope-row.sv-slight{border-left:3px solid var(--warning)}.scope-label{font-family:var(--font-mono);font-size:.78rem;color:var(--text-bright);min-width:80px;white-space:nowrap;font-weight:600}.scope-track{flex:1;height:32px;background:var(--bg-input);border-radius:16px;position:relative;overflow:hidden;border:1px solid var(--border)}.scope-zones{display:flex;height:100%;position:absolute;inset:0}.scope-zone{height:100%}.sz-narrow{background:#d4564a4d;flex:20}.sz-sweet{background:#4caf822e;flex:60}.sz-broad{background:#d4564a4d;flex:20}.scope-marker{position:absolute;top:2px;bottom:2px;width:10px;border-radius:5px;transition:left .4s ease;z-index:2}.scope-marker.sm-good{background:var(--success);box-shadow:0 0 10px #4caf8299}.scope-marker.sm-bad{background:var(--error);box-shadow:0 0 10px #d4564a99}.scope-marker.sm-warn{background:var(--warning);box-shadow:0 0 10px #c9a84c80}.scope-num{position:absolute;top:-18px;font-family:var(--font-mono);font-size:.65rem;font-weight:700;transform:translate(-50%);white-space:nowrap}.scope-verdict{font-size:.75rem;min-width:100px;text-align:right;font-weight:700;padding:3px 8px;border-radius:4px}.scope-verdict.too-narrow{color:var(--error);background:#d4564a1f}.scope-verdict.good{color:var(--success);background:#4caf821f}.scope-verdict.too-broad{color:var(--error);background:#d4564a1f}.scope-verdict.slightly-narrow,.scope-verdict.slightly-broad{color:var(--warning);background:#c9a84c1f}.scope-legend{display:flex;gap:16px;justify-content:center;margin-top:10px;font-size:.7rem;color:var(--text-muted)}.scope-legend span{display:flex;align-items:center;gap:5px}.scope-legend span:before{content:"";display:block;width:14px;height:14px;border-radius:3px}.sl-narrow:before{background:#d4564a59}.sl-sweet:before{background:#4caf824d}.sl-broad:before{background:#d4564a59}.legis-card{padding:14px 16px;border:1px solid var(--border-subtle);border-radius:var(--radius);margin-bottom:8px;background:var(--bg-raised)}.legis-tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.5px;padding:2px 7px;border-radius:3px;font-weight:600;margin-right:6px;display:inline-block}.legis-tag.case{background:#c9a84c1f;color:var(--gold)}.legis-tag.mpep{background:#6ea8d71f;color:var(--sky)}.legis-tag.statute{background:#4caf821f;color:var(--success)}.legis-tag.risk{background:#d4564a1f;color:var(--error)}.legis-title{font-size:.85rem;font-weight:600;color:var(--text-bright);margin-bottom:4px}.legis-why{font-size:.78rem;color:var(--text-secondary);line-height:1.5}.legis-action{font-size:.76rem;color:var(--sky);margin-top:6px;font-style:italic}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;margin-bottom:16px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.card-h{font-family:var(--font-mono);font-size:.65rem;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border-subtle)}.card-h.g{color:var(--gold-bright);border-color:#c9a84c33}.fg{margin-bottom:14px}.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fl{display:block;font-size:.78rem;font-weight:500;color:var(--gold-dim);margin-bottom:5px;letter-spacing:.2px}.fl .rq{color:var(--gold);margin-left:2px}.fi,.ft,.fs{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:9px 12px;color:var(--text-primary);font-family:var(--font-body);font-size:.88rem;transition:var(--transition);outline:none}.fi::placeholder,.ft::placeholder{color:var(--text-muted)}.fi:focus,.ft:focus,.fs:focus{border-color:var(--sky);box-shadow:0 0 0 2px #6ea8d71f}.ft{font-family:var(--font-mono);font-size:.82rem;line-height:1.6;resize:vertical;min-height:180px}.fs{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239a8e7e'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.fh{font-size:.72rem;color:var(--text-muted);margin-top:3px}.fi.mono{font-family:var(--font-mono);font-size:.78rem}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:none;border-radius:var(--radius);font-family:var(--font-body);font-size:.88rem;font-weight:600;cursor:pointer;transition:var(--transition);letter-spacing:.2px}.btn-p{background:var(--gold);color:#fff;border:1px solid rgba(201,168,76,.3)}
.btn-s{background:var(--bg-raised)!important;border-color:var(--border)!important;color:var(--text-secondary)!important}
.btn-s:hover{background:var(--bg-hover)!important;border-color:var(--gold-dim)!important}
#btnGo{background:linear-gradient(135deg,#1e8045,#2aad5a,#1e8045);color:#fff;border:2px solid rgba(42,240,110,0.35);font-weight:700;letter-spacing:0.03em;text-shadow:0 1px 2px rgba(0,0,0,0.3);transition:all 0.4s ease,box-shadow 0.4s ease,transform 0.15s ease}
#btnGo:disabled{background:linear-gradient(135deg,#3a3a38,#4a4a46,#3a3a38);color:rgba(255,255,255,0.35);border-color:rgba(255,255,255,0.08);box-shadow:none;cursor:not-allowed;animation:none;transform:none}
#btnGo:not(:disabled){animation:btnGlow 2s ease-in-out infinite;cursor:pointer}
#btnGo:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 0 24px rgba(34,200,90,0.5),0 0 48px rgba(34,200,90,0.25),0 4px 16px rgba(0,0,0,0.3)}
#btnGo:not(:disabled):active{transform:translateY(1px);box-shadow:0 0 12px rgba(34,200,90,0.4)}
@keyframes btnGlow{0%,100%{box-shadow:0 0 12px rgba(42,240,110,0.35),0 0 32px rgba(42,240,110,0.18),inset 0 0 10px rgba(42,240,110,0.12)}50%{box-shadow:0 0 20px rgba(42,240,110,0.55),0 0 52px rgba(42,240,110,0.3),inset 0 0 14px rgba(42,240,110,0.18)}}.btn-p:hover{background:var(--gold-bright);transform:translateY(-1px);box-shadow:0 4px 16px #c9a84c4d}.btn-p:disabled{background:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.btn-s{background:transparent;border:1px solid var(--border);color:var(--text-secondary)}.btn-s:hover{border-color:var(--text-secondary);color:var(--text-primary)}.btn-g{background:transparent;color:var(--text-secondary);padding:8px 14px}.btn-g:hover{color:var(--sky);background:#6ea8d714}.btn svg{width:16px;height:16px}.acts{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border-subtle)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:18px}.tab{padding:9px 18px;font-size:.82rem;font-weight:500;color:var(--text-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:var(--transition);font-family:var(--font-body)}.tab:hover{color:var(--text-secondary)}.tab.on{color:var(--sky);border-bottom-color:var(--sky)}.badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:3px;font-family:var(--font-mono);font-size:.68rem;font-weight:500;letter-spacing:.5px}.b-g{background:var(--gold-glow);color:var(--gold)}.b-ok{background:var(--success-bg);color:var(--success)}.b-w{background:var(--warning-bg);color:var(--warning)}.b-e{background:var(--error-bg);color:var(--error)}.b-b{background:var(--blue-bg);color:var(--blue)}.b-m{background:#9a8e7e26;color:var(--text-muted)}.b-f{background:#9a8e7e1a;color:var(--text-muted);border:1px dashed var(--border)}.tg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.tb{padding:7px 14px;font-size:.78rem;font-weight:500;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:var(--transition);font-family:var(--font-body);border-right:1px solid var(--border)}.tb:last-child{border-right:none}.tb:hover{color:var(--text-secondary);background:var(--bg-hover)}.tb.on{color:var(--gold);background:var(--gold-glow)}.dz{border:1px solid var(--border);border-radius:var(--radius-lg);padding:60px 40px;text-align:center;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;background:var(--bg-card)}.dz:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(201,168,76,.08) 0%,transparent 70%);opacity:0;transition:opacity .3s ease;pointer-events:none}.dz:hover,.dz.over{border-color:var(--gold);background:rgba(228,185,78,.06);box-shadow:0 0 28px rgba(228,185,78,.12)}.dz:hover:before,.dz.over:before{opacity:1}.dz-icon{font-size:3rem;margin-bottom:16px;opacity:.7;transition:var(--transition)}.dz:hover .dz-icon{opacity:1}.dz-title{font-family:var(--font-display);font-size:1.6rem;color:var(--text-bright);margin-bottom:8px;font-weight:500}.dz-sub{color:var(--gold-dim);font-size:.9rem;margin-bottom:4px}.dz-hint{color:var(--text-muted);font-size:.75rem}.dz-or{display:flex;align-items:center;gap:16px;margin:20px auto;max-width:300px;color:var(--gold-dim);font-size:.75rem}.dz-or:before,.dz-or:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.flist{margin-top:14px}.fitem{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-raised);border-radius:var(--radius);margin-bottom:4px;font-size:.82rem}.fitem-n{flex:1;font-family:var(--font-mono);font-size:.78rem;color:var(--text-bright)}.fitem-s{color:var(--text-muted);font-size:.72rem}.fitem-st{font-size:.72rem}.fitem-x{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:2px 6px;border-radius:3px;font-size:.78rem}.fitem-x:hover{color:var(--error);background:var(--error-bg)}.cg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:18px}.cs{background:var(--bg-raised);border-radius:var(--radius);padding:12px;text-align:center}.cs-l{font-size:.6rem;font-family:var(--font-mono);letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:5px}.cs-v{font-size:1.3rem;font-weight:600;color:var(--text-bright)}.cs-v.g{color:var(--gold)}.cs-v.ok{color:var(--success)}.cs-v.w{color:var(--warning)}.cs-v.e{color:var(--error)}.pbar{width:100%;height:5px;background:var(--border);border-radius:3px;overflow:hidden;margin-top:5px}.pfill{height:100%;border-radius:3px;transition:width .5s ease}.sg{margin-bottom:14px}.sg-h{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;letter-spacing:.5px;margin-bottom:6px}.si{display:flex;align-items:center;gap:8px;padding:5px 12px;font-size:.82rem;color:var(--text-secondary);border-left:2px solid var(--border);margin-left:8px;margin-bottom:2px}.si.core{border-left-color:var(--gold)}.si.sup{border-left-color:var(--blue)}.si.infra{border-left-color:var(--text-muted)}.pipe{display:flex;justify-content:center;gap:6px;margin-bottom:24px;flex-wrap:wrap}.ac{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:12px 16px;text-align:center;min-width:110px;transition:var(--transition)}.ac.on{border-color:var(--sky);box-shadow:0 0 16px #6ea8d726;animation:acPulse 2s ease-in-out infinite}@keyframes acPulse{0%,100%{box-shadow:0 0 16px #6ea8d726}50%{box-shadow:0 0 24px #6ea8d74d}}.ac.ok{border-color:var(--success)}.ac-n{font-size:.7rem;font-weight:600;letter-spacing:.3px;margin-bottom:3px}.ac.on .ac-n{color:var(--sky)}.ac.ok .ac-n{color:var(--success)}.ac-s{font-family:var(--font-mono);font-size:.6rem;color:var(--gold-dim);text-transform:uppercase;letter-spacing:1px}.aarr{color:var(--gold-dim);font-size:1rem;align-self:center;opacity:.5}.stream{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:var(--radius);padding:18px;font-family:var(--font-mono);font-size:.78rem;line-height:1.7;color:var(--text-secondary);max-height:500px;overflow-y:auto;white-space:pre-wrap;word-wrap:break-word}.cursor:after{content:"█";animation:blink 1s infinite;color:var(--sky)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.si-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--border-subtle);font-size:.82rem}.si-row:last-child{border-bottom:none}.si-icon{width:18px;text-align:center;font-size:.85rem}.si-q{flex:1;font-family:var(--font-mono);font-size:.78rem;color:var(--text-secondary)}.si-r{font-size:.72rem;color:var(--text-muted)}.pa{width:100%;border-collapse:collapse;font-size:.78rem}.pa th{text-align:left;padding:7px 9px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:1px;text-transform:uppercase;color:var(--gold-dim);border-bottom:1px solid var(--border)}.pa td{padding:7px 9px;border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.sumg{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sumi{padding:11px;background:var(--bg-raised);border-radius:var(--radius)}.sumi-l{font-size:.6rem;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--gold-dim);margin-bottom:3px}.sumi-v{font-size:.92rem;color:var(--text-bright)}.col-h{display:flex;align-items:center;gap:8px;padding:11px 14px;cursor:pointer;user-select:none;background:var(--bg-raised);border-radius:var(--radius);margin-bottom:3px;transition:var(--transition)}.col-h:hover{background:var(--bg-hover)}.col-a{transition:transform .2s ease;font-size:.65rem;color:var(--gold-dim)}.col-h.open .col-a{transform:rotate(90deg)}.col-t{font-size:.82rem;font-weight:500;flex:1;color:var(--text-bright)}.col-b{display:none;padding:14px}.col-b.open{display:block}.md-render{font-family:var(--font-body);font-size:.84rem;color:var(--text-secondary);line-height:1.7}.md-render h2{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--text-bright);margin:24px 0 12px}.md-render h3{font-size:.95rem;font-weight:700;color:var(--gold-bright);margin:22px 0 10px;padding-bottom:8px;border-bottom:1px solid rgba(139,117,50,.2)}.md-render h4{font-size:.88rem;font-weight:700;color:var(--text-bright);margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid var(--border-subtle)}.md-render p{margin:10px 0;line-height:1.7}.md-render strong{color:var(--text-bright)}.md-render hr{border:none;border-top:1px solid var(--border-subtle);margin:16px 0}.modal-bg{position:fixed;inset:0;background:#0e121eb3;z-index:1000;display:none;align-items:center;justify-content:center;backdrop-filter:blur(4px)}.modal-bg.on{display:flex}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;width:90%;max-width:540px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg)}.modal-title{font-family:var(--font-display);font-size:1.4rem;color:var(--text-bright);margin-bottom:18px}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:1.2rem}.fm-section{margin-bottom:16px}.fm-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-weight:600}.fm-context{font-family:var(--font-mono);font-size:.76rem;line-height:1.7;padding:12px;border-radius:6px;background:var(--bg-raised);border:1px solid var(--border-subtle);max-height:180px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.fm-highlight{background:#dc262633;padding:1px 3px;border-radius:2px;font-weight:700}.fm-suggestion{font-family:var(--font-mono);font-size:.78rem;padding:10px 12px;border-radius:6px;background:#2c6faa0f;border:1px solid var(--sky);color:var(--sky);cursor:pointer;transition:var(--transition);margin-bottom:8px}.fm-suggestion:hover{background:#2c6faa1a}.fm-textarea{font-family:var(--font-mono);font-size:.78rem;padding:10px 12px;width:100%;min-height:80px;border-radius:6px;border:1px solid var(--border);background:var(--bg-input);color:var(--text-primary);resize:vertical;outline:none;line-height:1.6}.fm-textarea:focus{border-color:var(--sky);box-shadow:0 0 0 2px #2c6faa1a}.fm-preview{font-family:var(--font-mono);font-size:.76rem;padding:12px;border-radius:6px;background:#16a34a0a;border:1px solid var(--success);line-height:1.7;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto}.fm-actions{display:flex;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border-subtle)}.fm-actions button{padding:8px 20px;border-radius:var(--radius);font-size:.82rem;font-weight:600;cursor:pointer;border:none;transition:var(--transition)}.fm-apply{background:var(--success);color:#fff}.fm-apply:hover{filter:brightness(1.1)}.fm-apply:disabled{background:var(--text-muted);cursor:not-allowed}.fm-cancel{background:var(--bg-hover);color:var(--text-secondary);border:1px solid var(--border)!important}.fix-panel{position:fixed;inset:0;z-index:1001;background:var(--bg-void);display:none;flex-direction:column;animation:fadeIn .2s ease}.fix-panel.on{display:flex}.fix-panel-header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--border);background:var(--bg-card);flex-shrink:0}.fix-panel-title{font-family:var(--font-display);font-size:1.3rem;color:var(--text-bright)}.fix-panel-close{width:36px;height:36px;border-radius:var(--radius);border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:var(--transition)}.fix-panel-close:hover{border-color:var(--error);color:var(--error)}.fix-panel-nav{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted)}.fix-panel-body{display:grid;grid-template-columns:1fr 380px;grid-template-rows:1fr;flex:1;overflow:hidden}@media(max-width:900px){.fix-panel-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.fix-panel-doc{overflow-y:auto;padding:24px 28px;background:var(--bg-card);border-right:1px solid var(--border);font-family:var(--font-mono);font-size:.8rem;line-height:1.9;color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word}.fix-panel-doc .fp-claim{padding:12px 16px;border-radius:var(--radius);margin-bottom:8px;border-left:3px solid transparent;transition:background .2s}.fix-panel-doc .fp-claim.fp-active{background:#dc26260a;border-left-color:var(--error)}.fix-panel-doc .fp-claim.fp-fixed{background:#16a34a0a;border-left-color:var(--success)}.fix-panel-doc .fp-num{font-weight:700;color:var(--text-bright);font-size:.85rem;margin-bottom:4px;display:block}.fix-panel-doc .fp-hit{background:#dc262633;padding:1px 4px;border-radius:3px;color:var(--error);font-weight:600;cursor:pointer;transition:background .15s}.fix-panel-doc .fp-hit:hover{background:#dc262655}.fix-panel-doc .fp-fixed-text{background:#16a34a33;padding:1px 4px;border-radius:3px;color:var(--success);font-weight:600}.fix-panel-doc .fp-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin:0 -28px 16px;padding:0 28px;position:sticky;top:-24px;background:var(--bg-card);z-index:2}.fix-panel-doc .fp-tab{padding:10px 18px;font-size:.78rem;font-weight:500;color:var(--text-muted);cursor:pointer;border:none;background:none;border-bottom:2px solid transparent;transition:var(--transition);font-family:var(--font-body)}.fix-panel-doc .fp-tab:hover{color:var(--text-secondary)}.fix-panel-doc .fp-tab.on{color:var(--sky);border-bottom-color:var(--sky)}.fix-panel-doc .fp-chain{padding:10px 14px;margin-bottom:12px;border-radius:var(--radius);background:#2c6faa08;border:1px solid rgba(44,111,170,.15);font-family:var(--font-mono);font-size:.72rem;color:var(--sky)}.fix-panel-doc .fp-chain-link{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:12px;cursor:pointer;transition:var(--transition)}.fix-panel-doc .fp-chain-link:hover{background:#2c6faa1a}.fix-panel-doc .fp-chain-link.fp-chain-active{background:var(--sky);color:#fff}.fix-panel-doc .fp-chain-arrow{color:var(--text-muted);margin:0 2px}.fix-panel-doc .fp-claim-parent{border-left-color:var(--sky)!important;background:#2c6faa08!important}.fix-panel-doc .fp-spec{display:none}.fix-panel-doc .fp-spec.on{display:block}.fix-panel-doc .fp-spec-section{padding:14px 16px;border-radius:var(--radius);margin-bottom:10px;background:var(--bg-raised);border:1px solid var(--border-subtle)}.fix-panel-doc .fp-spec-heading{font-weight:700;color:var(--text-bright);font-size:.82rem;margin-bottom:8px}.fix-panel-doc .fp-spec-match{background:#eab30833;padding:1px 4px;border-radius:3px;font-weight:600}.fix-panel-doc .fp-claims-view,.fix-panel-doc .fp-spec-view{display:none}.fix-panel-doc .fp-claims-view.on,.fix-panel-doc .fp-spec-view.on{display:block}.fix-panel-controls .fix-ctl-strategy{padding:12px 14px;border-radius:var(--radius);margin-bottom:14px;border:1px solid rgba(44,111,170,.2);background:#2c6faa08}.fix-ctl-strategy-title{font-family:var(--font-mono);font-size:.65rem;letter-spacing:1px;text-transform:uppercase;color:var(--sky);margin-bottom:6px;font-weight:600}.fix-ctl-strategy-opt{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;border-radius:var(--radius);cursor:pointer;transition:var(--transition);margin-bottom:4px;border:1px solid transparent;font-size:.78rem;color:var(--text-secondary);line-height:1.5}.fix-ctl-strategy-opt:hover{background:var(--bg-card);border-color:var(--border)}.fix-ctl-strategy-opt.selected{background:var(--bg-card);border-color:var(--sky)}.fix-ctl-strategy-radio{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;margin-top:2px;transition:var(--transition)}.fix-ctl-strategy-opt.selected .fix-ctl-strategy-radio{border-color:var(--sky);background:var(--sky);box-shadow:inset 0 0 0 3px var(--bg-card)}.fix-panel-controls{overflow-y:auto;padding:24px;background:var(--bg-void)}.fix-ctl-section{margin-bottom:18px}.fix-ctl-label{font-family:var(--font-mono);font-size:.62rem;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-weight:600}.fix-ctl-issue{font-size:.88rem;color:var(--text-primary);line-height:1.5;padding:12px 14px;background:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border)}.fix-ctl-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:.65rem;padding:3px 8px;border-radius:3px;font-weight:600;letter-spacing:.5px}.fix-ctl-badge.sev-high{background:#dc26261a;color:var(--error)}.fix-ctl-badge.sev-medium{background:#eab3081a;color:var(--warning)}.fix-ctl-badge.sev-low{background:#9a8e7e1a;color:var(--text-muted)}.iq{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-bottom:12px}.iq-q{font-size:.92rem;font-weight:500;color:var(--text-bright);margin-bottom:10px}.iq-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.pill{padding:6px 14px;border:1px solid var(--border);border-radius:20px;font-size:.8rem;color:var(--text-secondary);cursor:pointer;transition:var(--transition);background:transparent;font-family:var(--font-body)}.pill:hover{border-color:var(--sky);color:var(--sky)}.pill.on{border-color:var(--gold);color:var(--gold);background:var(--gold-glow)}.ef{display:grid;grid-template-columns:140px 1fr;gap:6px 14px;font-size:.85rem;margin-bottom:12px}.ef-l{color:var(--gold-dim);font-weight:500;text-align:right;padding:8px 0}.ef-v{padding:8px 0;color:var(--text-bright)}.ef-edit{font-size:.72rem;color:var(--gold);cursor:pointer;margin-left:6px;opacity:0;transition:var(--transition)}.ef-row:hover .ef-edit{opacity:1}.toast-c{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:11px 18px;border-radius:var(--radius);font-size:.82rem;box-shadow:var(--shadow-lg);animation:slideIn .3s ease;max-width:340px}.t-ok{background:#e8f5ee;border:1px solid var(--success);color:var(--success)}.t-err{background:#fce8e8;border:1px solid var(--error);color:var(--error)}.t-info{background:#e6f0fa;border:1px solid var(--sky);color:var(--sky)}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.spin{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--sky);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.tkn-bar{display:flex;align-items:center;gap:16px;padding:10px 16px;background:var(--bg-raised);border-radius:var(--radius);margin-bottom:16px;font-family:var(--font-mono);font-size:.72rem}.sec-panel{background:var(--bg-card);border:1px solid rgba(201,168,76,.1);border-radius:var(--radius-lg);margin-bottom:10px;overflow:hidden}.sec-head{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer;user-select:none;transition:var(--transition);border-bottom:1px solid transparent}.sec-head:hover{background:var(--bg-hover)}.sec-head.open{border-bottom-color:var(--border-subtle);background:var(--bg-raised)}.sec-arrow{font-size:.6rem;color:var(--text-muted);transition:transform .2s ease}.sec-head.open .sec-arrow{transform:rotate(90deg)}.sec-tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:1px;text-transform:uppercase;color:var(--sky);background:#6ea8d71a;padding:2px 7px;border-radius:3px}.sec-title{flex:1;font-size:.85rem;font-weight:500}.sec-wc{font-family:var(--font-mono);font-size:.65rem;color:var(--gold-dim)}.sec-body{display:none;padding:0}.sec-head.open+.sec-body{display:block}.sec-text{width:100%;min-height:120px;background:var(--bg-input);border:none;padding:14px 16px;font-family:var(--font-mono);font-size:.78rem;line-height:1.7;color:var(--text-secondary);resize:vertical;outline:none}.sec-text:focus{background:#191f32f2}.sec-rw{display:flex;gap:8px;padding:10px 14px;background:var(--bg-raised);border-top:1px solid var(--border-subtle);align-items:center}.sec-rw-in{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-family:var(--font-body);font-size:.82rem;color:var(--text-primary);outline:none}.sec-rw-in:focus{border-color:var(--sky)}.sec-rw-in::placeholder{color:var(--text-muted)}.sec-rw-btn{padding:7px 16px;border:none;border-radius:var(--radius);background:var(--gold);color:var(--bg-void);font-size:.78rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:var(--transition)}.sec-rw-btn:hover{background:var(--gold-bright)}.sec-rw-btn:disabled{background:var(--text-muted);cursor:wait}.sec-cmds{display:flex;gap:4px;padding:6px 14px;flex-wrap:wrap}.sec-cmd{padding:3px 10px;border:1px solid var(--border);border-radius:12px;font-size:.68rem;color:var(--text-muted);background:transparent;cursor:pointer;transition:var(--transition);font-family:var(--font-body)}.sec-cmd:hover{border-color:var(--sky);color:var(--sky)}.sec-diff{padding:12px 16px;background:#6ea8d70a;border-top:1px solid rgba(110,168,215,.12);font-family:var(--font-mono);font-size:.76rem;line-height:1.7;max-height:300px;overflow-y:auto;display:none}.sec-diff.on{display:block}.diff-add{color:var(--success);background:#4caf8214}.diff-del{color:var(--error);text-decoration:line-through;background:#d4564a14}.sec-diff-acts{display:flex;gap:8px;padding:8px 14px;border-top:1px solid var(--border-subtle);background:var(--bg-raised)}.sec-diff-acts button{padding:5px 14px;border-radius:var(--radius);font-size:.76rem;font-weight:600;cursor:pointer;border:none}.sec-diff-acts .da-yes{background:var(--success);color:#fff}.sec-diff-acts .da-no{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.fig-area{margin-top:16px}.fig-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fig-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform 0.15s,box-shadow 0.15s}.fig-card:hover{transform:scale(1.02);box-shadow:0 4px 20px rgba(0,0,0,0.35)}.fig-card svg{width:100%;height:auto;max-height:500px;background:#fff;display:block}.fig-label{padding:8px 12px;font-family:var(--font-mono);font-size:.72rem;color:var(--gold-dim);text-align:center;background:var(--bg-raised)}.gate-denied-grid{display:grid;gap:4px;margin-top:8px}.gate-denied-row{display:grid;grid-template-columns:50px 1fr 60px 60px 60px 60px 70px auto;align-items:center;gap:6px;padding:8px 10px;border-radius:var(--radius);font-size:.72rem;background:#d4564a0a;border:1px solid rgba(212,86,74,.12);transition:all .2s}.gate-denied-row:hover{background:#d4564a14}.gate-denied-row.accepted{background:#4caf820f;border-color:#4caf8233;opacity:.8}.gate-act{display:flex;gap:4px}.gate-act button{padding:3px 8px;border-radius:3px;font-size:.68rem;font-weight:600;cursor:pointer;border:1px solid;font-family:var(--font-body);transition:all .15s}.gate-act .ga-accept{border-color:var(--success);color:var(--success);background:#4caf8214}.gate-act .ga-accept:hover{background:#4caf8233}.gate-act .ga-reject{border-color:var(--error);color:var(--error);background:#d4564a14}.gate-act .ga-reject:hover{background:#d4564a33}.gate-bulk-bar{display:flex;gap:8px;align-items:center;padding:10px 14px;background:var(--bg-raised);border-radius:var(--radius);margin-top:10px}.gate-bulk-bar button{padding:5px 14px;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid;font-family:var(--font-body)}.recover-banner{background:rgba(240,204,90,.08);border:1px solid rgba(240,204,90,.3);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:18px;display:flex;align-items:center;gap:14px;box-shadow:0 0 24px rgba(240,204,90,.1)}.recover-banner .rb-icon{font-size:1.4rem}.recover-banner .rb-text{flex:1;font-size:.88rem;color:var(--warning)}.recover-banner .rb-text span{display:block;font-size:.75rem;color:var(--text-muted);margin-top:2px}@media (max-width:700px){.app{padding:14px 12px 40px}.logo{font-size:1.6rem}.cg{grid-template-columns:1fr 1fr}.pipe{gap:4px}.sumg,.fr{grid-template-columns:1fr}.dz{padding:40px 20px}.dz-title{font-size:1.2rem}}.gate-tbl{width:100%;border-collapse:collapse;font-size:.78rem}.gate-tbl th{text-align:left;padding:8px 10px;font-size:.65rem;font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;color:var(--gold-dim);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.gate-tbl td{padding:7px 10px;border-bottom:1px solid var(--border-subtle);vertical-align:middle}.gate-tbl tr.gate-pass{background:transparent}.gate-tbl tr.gate-fail{background:#d4564a0a}.gate-tbl tr.gate-override{background:#c4a46a0f}.gate-score{font-family:var(--font-mono);font-weight:600;font-size:.82rem;min-width:36px;text-align:center;display:inline-block;padding:2px 6px;border-radius:3px}.gs-high{color:var(--success);background:#4caf5014}.gs-mid{color:var(--gold);background:#c4a46a14}.gs-low{color:var(--error);background:#d4564a14}.gate-bar{height:6px;border-radius:3px;background:var(--border-subtle);position:relative;min-width:80px}.gate-fill{height:100%;border-radius:3px;transition:width .3s}.gate-status{font-size:.7rem;font-family:var(--font-mono);padding:2px 8px;border-radius:3px;white-space:nowrap}.gst-in{color:var(--success);background:#4caf5014}.gst-out{color:var(--error);background:#d4564a14}.gst-override{color:var(--gold);background:#c4a46a1f;border:1px solid var(--gold)}.gate-tog{cursor:pointer;padding:3px 8px;border:1px solid var(--border-subtle);border-radius:3px;background:none;font-size:.68rem;color:var(--text-secondary);font-family:var(--font-body);transition:all .2s}.gate-tog:hover{border-color:var(--gold);color:var(--gold)}.jur-bar{display:flex;gap:8px;align-items:center;padding:12px 16px;background:var(--bg-raised);border-radius:var(--radius);margin-bottom:14px}.jur-bar .jur-lbl{font-family:var(--font-mono);font-size:.68rem;letter-spacing:1px;text-transform:uppercase;color:var(--gold-dim)}.jur-btn{padding:6px 16px;border:1px solid var(--border);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:.78rem;font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font-body)}.jur-btn:hover{border-color:var(--text-secondary)}.jur-btn.on{border-color:var(--gold);color:var(--gold);background:var(--gold-glow)}.jur-status{flex:1;text-align:right;font-size:.72rem;color:var(--text-muted);font-family:var(--font-mono)}@media (max-width:768px){.fig-grid{grid-template-columns:1fr}.sec-cmds{gap:3px}}.tkn-item{display:flex;align-items:center;gap:5px}.tkn-item .tkn-l{color:var(--gold-dim)}.tkn-item .tkn-v{color:var(--gold);font-weight:600}.tkn-sep{width:1px;height:16px;background:var(--border)}.dlv-toolbar{display:flex;align-items:center;gap:4px;padding:10px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:16px;flex-wrap:wrap}.dlv-toolbar-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.dlv-toolbar-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold-dim);margin-right:4px;white-space:nowrap}.dlv-toolbar-sep{width:1px;height:24px;background:var(--border);margin:0 6px;flex-shrink:0}.dlv-tool{padding:6px 12px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:transparent;color:var(--text-secondary);font-size:.76rem;font-weight:500;cursor:pointer;transition:var(--transition);font-family:var(--font-body);white-space:nowrap}.dlv-tool:hover{border-color:var(--sky);color:var(--sky);background:#6ea8d70a}.dlv-tool-gate{border-color:rgba(139,117,50,.3);color:var(--gold)}.dlv-tool-gate:hover{border-color:var(--gold);background:var(--gold-glow)}.dlv-downloads{margin-top:24px;border-top:2px solid var(--border);padding-top:24px}.dlv-downloads-header{margin-bottom:16px}.dlv-downloads-title{font-family:var(--font-display);font-size:1.2rem;color:var(--text-bright);margin-bottom:2px}.dlv-downloads-sub{font-size:.78rem;color:var(--text-muted)}.dlv-downloads-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.dlv-dl{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-card);cursor:pointer;transition:var(--transition);text-align:center}.dlv-dl:hover{border-color:var(--sky);background:#6ea8d70a;transform:translateY(-2px);box-shadow:var(--shadow)}.dlv-dl-icon{font-size:1.4rem}.dlv-dl-name{font-size:.78rem;font-weight:600;color:var(--text-bright);line-height:1.3}.dlv-dl-fmt{font-family:var(--font-mono);font-size:.62rem;letter-spacing:1px;color:var(--text-muted);text-transform:uppercase}.dlv-dl-primary{border-color:var(--gold);background:linear-gradient(135deg,var(--bg-card) 0%,rgba(139,117,50,.06) 100%)}.dlv-dl-primary:hover{border-color:var(--gold-bright);background:linear-gradient(135deg,var(--bg-card) 0%,rgba(139,117,50,.12) 100%)}.dlv-dl-primary .dlv-dl-name{color:var(--gold)}.dlv-dl-warbook{border-color:rgba(45,122,82,.3);background:linear-gradient(135deg,var(--bg-card) 0%,rgba(45,122,82,.04) 100%)}.dlv-dl-warbook:hover{border-color:var(--success);background:linear-gradient(135deg,var(--bg-card) 0%,rgba(45,122,82,.1) 100%)}.dlv-dl-warbook .dlv-dl-name{color:var(--success)}.md-render{font-family:var(--font-body);font-size:.85rem;color:var(--text-secondary);line-height:1.7}.md-render h2,.md-render h3,.md-render h4{font-family:var(--font-body)}.md-render strong{font-weight:700}@media(max-width:700px){.dlv-downloads-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.dlv-toolbar{gap:3px;padding:8px 10px}.dlv-toolbar-sep{display:none}}

/* --- Draft Status Bar --- */
.draft-status-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 18px;
	margin-bottom: 16px;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, rgba(110, 168, 215, 0.08), rgba(201, 168, 76, 0.06));
	border: 1px solid rgba(110, 168, 215, 0.2)
}

.draft-status-text {
	flex: 1;
	min-width: 0
}

.draft-status-agents {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--text-bright)
}

.draft-status-sub {
	font-size: 0.72rem;
	color: var(--text-muted);
	margin-top: 2px
}

.draft-status-time {
	font-family: var(--font-mono);
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--sky);
	white-space: nowrap;
	padding: 4px 12px;
	background: rgba(106, 176, 247, 0.1);
	border-radius: var(--radius);
	border: 1px solid rgba(106, 176, 247, 0.15)
}

.draft-progress-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 8px;
	width: 100%;
	max-width: 420px;
}

.draft-progress-pct {
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--gold);
	min-width: 2.5rem;
}

.draft-progress-track {
	flex: 1;
	height: 6px;
	background: var(--border-subtle);
	border-radius: 4px;
	overflow: hidden;
}

.draft-progress-fill {
	height: 100%;
	background: linear-gradient(90deg, var(--sky), var(--gold-dim));
	border-radius: 4px;
	transition: width 0.35s ease;
}

.pipeline-log {
	margin-bottom: 16px;
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-lg);
	background: var(--bg-input);
	overflow: hidden;
}

.pipeline-log-h {
	font-family: var(--font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--text-muted);
	padding: 8px 12px;
	border-bottom: 1px solid var(--border-subtle);
	background: var(--bg-raised);
}

.pipeline-log-body {
	max-height: 220px;
	overflow-y: auto;
	padding: 8px 12px;
	font-family: var(--font-mono);
	font-size: 0.7rem;
	line-height: 1.55;
	color: var(--text-secondary);
}

.pipeline-log-line {
	padding: 3px 0;
	border-bottom: 1px solid rgba(48, 54, 82, 0.5);
	word-break: break-word;
}

.pipeline-log-line:last-child {
	border-bottom: none;
}

.pipeline-error-panel {
	margin-bottom: 18px;
	padding: 16px 18px;
	border-radius: var(--radius-lg);
	border: 1px solid rgba(255, 107, 90, 0.35);
	background: var(--error-bg);
}

.pipeline-error-title {
	font-weight: 700;
	font-size: 0.9rem;
	color: var(--error);
	margin-bottom: 8px;
}

.pipeline-error-msg {
	font-size: 0.82rem;
	color: var(--text-secondary);
	line-height: 1.5;
	margin-bottom: 14px;
	white-space: pre-wrap;
	word-break: break-word;
}

/* --- Toolbar Dark-Theme Overrides --- */
.app-toolbar {
  background: rgba(24, 28, 42, 0.95) !important;
  border-bottom-color: var(--border) !important;
}

.toolbar-logo .logo-text {
  color: var(--text-bright) !important;
}

.toolbar-btn {
  background: var(--bg-card) !important;
  border-color: var(--border) !important;
  color: var(--text-secondary) !important;
}

.toolbar-btn:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}

.profile-btn {
  border-color: var(--border) !important;
}

.profile-btn:hover {
  background: var(--bg-raised) !important;
  border-color: var(--gold-dim) !important;
}

.profile-name {
  color: var(--text-primary) !important;
}

.profile-dropdown {
  background: var(--bg-card) !important;
  border-color: var(--border) !important;
}

.dropdown-user-name {
  color: var(--text-bright) !important;
}

.dropdown-user-email {
  color: var(--text-muted) !important;
}

.dropdown-divider {
  background: var(--border) !important;
}

.dropdown-item {
  color: var(--text-secondary) !important;
}

.dropdown-item:hover {
  background: var(--bg-raised) !important;
}

.app-launcher {
  background: var(--bg-card) !important;
  border-color: var(--border) !important;
}

.app-launcher-header {
  border-bottom-color: var(--border) !important;
  color: var(--text-bright) !important;
}

.app-launcher-item {
  color: var(--text-secondary) !important;
}

.app-launcher-item:hover {
  background: var(--bg-raised) !important;
  border-color: var(--border) !important;
}

.app-launcher-item.current {
  background: var(--bg-raised) !important;
  border-color: var(--gold) !important;
}

.app-launcher-icon {
  background: var(--bg-raised) !important;
}

/* Repo picker loaded state */
#repoPicker.repo-loaded label {
  opacity: 0.45;
  pointer-events: none;
}

/* Inline spinner for buttons */
.spinner-sm {
  display: inline-block;
  width: 14px;
  height: 14px;
  border: 2px solid rgba(255,255,255,0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin-sm .6s linear infinite;
  vertical-align: middle;
  margin-right: 6px;
}
@keyframes spin-sm {
  to { transform: rotate(360deg); }
}

/* Sticky footer: frame fills area below fixed toolbar; short pages keep footer at viewport bottom */
.patent-page-frame {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 56px);
  min-height: calc(100dvh - 56px);
  width: 100%;
}

.patent-page-frame > .app {
  flex: 1 1 auto;
}

/* Site footer (legal-adjacent product) */
.patent-app-footer {
  flex-shrink: 0;
  margin-top: auto;
  border-top: 1px solid var(--border-subtle);
  background: var(--bg-deep);
  padding: 16px 20px 24px;
  font-family: var(--font-body);
}

.patent-app-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 8px 16px;
  font-size: 0.72rem;
  line-height: 1.5;
  color: var(--text-muted);
  text-align: center;
}

.patent-app-footer-copy {
  flex: 1 1 auto;
  min-width: min(100%, 220px);
}

.patent-app-footer-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 2px;
}

.patent-app-footer-nav a {
  color: var(--text-secondary);
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 4px;
  transition: color var(--transition), background var(--transition);
}

.patent-app-footer-nav a:hover {
  color: var(--gold);
  background: var(--gold-glow);
}

.patent-app-footer-sep {
  color: var(--text-muted);
  opacity: 0.55;
  user-select: none;
  padding: 0 2px;
}

@media (max-width: 480px) {
  .patent-app-footer-inner {
    flex-direction: column;
    gap: 10px;
  }
}
