:root {
      --bg: #060808;
      --sidebar: rgba(10, 15, 15, 0.95);
      --panel: rgba(18, 26, 26, 0.82);
      --panel-strong: rgba(12, 18, 18, 0.92);
      --line: rgba(122, 157, 145, 0.22);
      --text: #dbe5db;
      --muted: #7f9288;
      --green: #7ef0ab;
      --amber: #f6bd60;
      --red: #ff7d7d;
      --cyan: #8de1ff;
      --radius: 24px;
      --glow: 0 0 28px rgba(126, 240, 171, 0.1);
      --bg-stack:
        radial-gradient(circle at top left, rgba(126, 240, 171, 0.08), transparent 34%),
        radial-gradient(circle at top right, rgba(141, 225, 255, 0.08), transparent 28%),
        linear-gradient(180deg, #040606 0%, #0a1010 100%);
      --scanline: linear-gradient(rgba(255, 255, 255, 0.018) 50%, rgba(0, 0, 0, 0.018) 50%);
      --button-hover-border: rgba(126, 240, 171, 0.26);
      --button-hover-bg: rgba(126, 240, 171, 0.06);
      --button-active-border: rgba(126, 240, 171, 0.34);
      --button-active-bg: linear-gradient(180deg, rgba(126, 240, 171, 0.12), rgba(126, 240, 171, 0.04));
    }

    body[data-theme="neon"] {
      --bg: #041018;
      --sidebar: rgba(7, 15, 22, 0.96);
      --panel: rgba(10, 20, 31, 0.84);
      --panel-strong: rgba(8, 17, 27, 0.92);
      --line: rgba(98, 198, 255, 0.22);
      --text: #dff3ff;
      --muted: #7fa2bb;
      --green: #62d6ff;
      --amber: #89f7c2;
      --cyan: #7cdcff;
      --glow: 0 0 32px rgba(98, 198, 255, 0.14);
      --bg-stack:
        radial-gradient(circle at top left, rgba(98, 198, 255, 0.12), transparent 34%),
        radial-gradient(circle at bottom right, rgba(137, 247, 194, 0.1), transparent 26%),
        linear-gradient(180deg, #031019 0%, #081622 100%);
      --scanline: linear-gradient(rgba(255, 255, 255, 0.012) 50%, rgba(0, 0, 0, 0.024) 50%);
      --button-hover-border: rgba(98, 198, 255, 0.28);
      --button-hover-bg: rgba(98, 198, 255, 0.08);
      --button-active-border: rgba(98, 198, 255, 0.38);
      --button-active-bg: linear-gradient(180deg, rgba(98, 198, 255, 0.14), rgba(98, 198, 255, 0.04));
    }

    body[data-theme="graphite"] {
      --bg: #111419;
      --sidebar: rgba(20, 23, 29, 0.96);
      --panel: rgba(26, 30, 38, 0.86);
      --panel-strong: rgba(18, 22, 29, 0.94);
      --line: rgba(196, 165, 118, 0.18);
      --text: #e6dfd5;
      --muted: #9e9589;
      --green: #d6b88b;
      --amber: #f0c77d;
      --red: #d88282;
      --cyan: #b7c6d9;
      --glow: 0 0 30px rgba(214, 184, 139, 0.08);
      --bg-stack:
        radial-gradient(circle at top left, rgba(214, 184, 139, 0.1), transparent 32%),
        radial-gradient(circle at bottom right, rgba(120, 138, 160, 0.08), transparent 28%),
        linear-gradient(180deg, #101318 0%, #181c22 100%);
      --scanline: linear-gradient(rgba(255, 255, 255, 0.012) 50%, rgba(0, 0, 0, 0.022) 50%);
      --button-hover-border: rgba(214, 184, 139, 0.24);
      --button-hover-bg: rgba(214, 184, 139, 0.06);
      --button-active-border: rgba(214, 184, 139, 0.34);
      --button-active-bg: linear-gradient(180deg, rgba(214, 184, 139, 0.12), rgba(214, 184, 139, 0.04));
    }

    * { box-sizing: border-box; }
    body {
      margin: 0;
      min-height: 100vh;
      color: var(--text);
      background: var(--bg-stack);
      font-family: "Microsoft JhengHei UI", "PingFang TC", "Noto Sans TC", sans-serif;
      overflow-x: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      background: var(--scanline);
      background-size: 100% 4px;
      opacity: 0.28;
      mix-blend-mode: soft-light;
    }

    .shell {
      max-width: 1520px;
      margin: 0 auto;
      padding: 24px;
    }

    body.is-auth-locked .shell {
      display: none;
    }

    .auth-gate {
      min-height: 100vh;
      display: none;
      place-items: center;
      padding: 32px 20px;
    }

    body.is-auth-locked .auth-gate {
      display: grid;
    }

    .auth-gate-card {
      width: min(520px, 100%);
      padding: 32px;
      overflow: hidden;
    }

    .auth-gate-card > * {
      position: relative;
      z-index: 1;
    }

    .auth-gate-card::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(circle at top right, rgba(126, 240, 171, 0.14), transparent 32%),
        radial-gradient(circle at bottom left, rgba(141, 225, 255, 0.12), transparent 34%);
      opacity: 0.9;
      pointer-events: none;
    }

    .auth-gate-kicker {
      color: var(--muted);
      font-size: 12px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    .auth-gate-title {
      margin: 10px 0 0;
      font-size: 32px;
      line-height: 1.08;
      color: var(--green);
      text-shadow: 0 0 18px rgba(126, 240, 171, 0.12);
    }

    .auth-gate-copy {
      margin: 14px 0 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
    }

    .auth-gate-form {
      display: grid;
      gap: 16px;
      margin-top: 24px;
    }

    .app-grid {
      display: grid;
      grid-template-columns: 280px minmax(0, 1fr);
      gap: 18px;
      align-items: start;
    }

    .panel {
      position: relative;
      border: 1px solid var(--line);
      background: var(--panel);
      border-radius: var(--radius);
      box-shadow: var(--glow);
      backdrop-filter: blur(12px);
    }

    .panel::after {
      content: "";
      position: absolute;
      inset: 0;
      border-radius: inherit;
      border: 1px solid rgba(255,255,255,0.03);
      pointer-events: none;
    }

    .sidebar {
      position: sticky;
      top: 24px;
      padding: 20px;
      background: var(--sidebar);
      display: grid;
      gap: 18px;
    }

    .brand {
      display: grid;
      gap: 10px;
      padding-bottom: 18px;
      border-bottom: 1px solid var(--line);
    }

    .brand-kicker {
      color: var(--muted);
      font-size: 12px;
      letter-spacing: 0.24em;
      text-transform: uppercase;
    }

    .brand-title {
      margin: 0;
      font-size: 28px;
      line-height: 1.05;
      color: var(--green);
      text-shadow: 0 0 20px rgba(126, 240, 171, 0.12);
    }

    .brand-copy {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.7;
    }

    .menu-group {
      display: grid;
      gap: 10px;
    }

    .menu-label {
      color: var(--muted);
      font-size: 11px;
      letter-spacing: 0.18em;
      text-transform: uppercase;
    }

    .nav-button {
      width: 100%;
      text-align: left;
      border: 1px solid transparent;
      background: rgba(255,255,255,0.02);
      color: var(--text);
      text-decoration: none;
      border-radius: 18px;
      padding: 14px 16px;
      display: grid;
      gap: 4px;
      cursor: pointer;
      transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
    }

    .nav-button:hover,
    .nav-button:focus-visible {
      outline: none;
      border-color: var(--button-hover-border);
      background: var(--button-hover-bg);
    }

    .nav-button.is-active {
      border-color: var(--button-active-border);
      background: var(--button-active-bg);
      transform: translateX(2px);
    }

    .nav-title {
      font-size: 14px;
      font-weight: 700;
    }

    .nav-copy {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
    }

    .sidebar-meta {
      display: grid;
      gap: 8px;
      padding-top: 16px;
      border-top: 1px solid var(--line);
    }

    .meta-item {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      font-size: 12px;
      color: var(--muted);
    }

    .theme-select {
      width: 100%;
      border: 1px solid var(--button-active-border);
      background-color: var(--panel-strong);
      background-image:
        linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0)),
        var(--button-active-bg),
        linear-gradient(45deg, transparent 50%, var(--muted) 50%),
        linear-gradient(135deg, var(--muted) 50%, transparent 50%);
      background-position:
        0 0,
        0 0,
        calc(100% - 20px) calc(50% - 3px),
        calc(100% - 14px) calc(50% - 3px);
      background-size:
        auto,
        auto,
        6px 6px,
        6px 6px;
      background-repeat: no-repeat;
      color: var(--text);
      border-radius: 16px;
      padding: 14px 42px 14px 16px;
      font-size: 14px;
      font-family: inherit;
      cursor: pointer;
      outline: none;
      appearance: none;
      -webkit-appearance: none;
      color-scheme: dark;
      transition: border-color 180ms ease, background-color 180ms ease;
    }

    .theme-select:hover,
    .theme-select:focus-visible {
      border-color: var(--button-hover-border);
    }

    .theme-help {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.6;
    }

    .content {
      display: grid;
      gap: 18px;
    }

    .content-head {
      padding: 20px 22px;
      display: flex;
      justify-content: space-between;
      gap: 16px;
      align-items: flex-start;
    }

    .content-head-main {
      display: grid;
      gap: 12px;
      min-width: 0;
    }

    .content-route {
      color: var(--muted);
      font-size: 12px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    .content-title {
      margin: 0;
      font-size: 26px;
      color: var(--text);
    }

    .content-copy {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
      max-width: 62ch;
    }

    .route-links {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .route-link {
      text-decoration: none;
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 8px 12px;
      color: var(--muted);
      font-size: 12px;
      letter-spacing: 0.06em;
      transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
    }

    .route-link:hover,
    .route-link:focus-visible {
      outline: none;
      border-color: var(--button-hover-border);
      background: var(--button-hover-bg);
      color: var(--text);
      transform: translateY(-1px);
    }

    .route-link.is-current {
      border-color: var(--button-active-border);
      background: var(--button-active-bg);
      color: var(--green);
    }

    .pill-row {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .pill {
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 8px 12px;
      color: var(--muted);
      font-size: 13px;
      letter-spacing: 0.04em;
      white-space: nowrap;
    }

    .tabs {
      display: grid;
      gap: 18px;
    }

    .tab-pane {
      display: none;
      gap: 18px;
    }

    .tab-pane.is-active {
      display: grid;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: 2fr 1fr;
      gap: 18px;
    }

    .hero-card,
    .price-card,
    .stat-card,
    .list-card,
    .system-card {
      padding: 22px;
    }

    .hero-card {
      display: grid;
      gap: 12px;
    }

    .hero-kicker {
      color: var(--muted);
      font-size: 12px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
    }

    .hero-title {
      margin: 0;
      font-size: clamp(34px, 6vw, 68px);
      line-height: 0.95;
      color: var(--green);
    }

    .hero-copy-text {
      color: var(--muted);
      line-height: 1.8;
      max-width: 60ch;
    }

    .price-card {
      background: linear-gradient(180deg, rgba(14, 22, 22, 0.92), rgba(10, 14, 14, 0.92));
      display: grid;
      gap: 16px;
      align-content: space-between;
    }

    .metric-label {
      color: var(--muted);
      font-size: 12px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .metric-value {
      margin: 0;
      font-family: "Cascadia Mono", "Fira Code", "Consolas", monospace;
      font-size: clamp(42px, 6vw, 72px);
      color: var(--amber);
      letter-spacing: -0.04em;
    }

    .metric-note {
      border-top: 1px dashed var(--line);
      padding-top: 12px;
      color: var(--text);
      min-height: 64px;
      line-height: 1.7;
    }

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .stat-card,
    .system-card,
    .list-card {
      background: var(--panel-strong);
    }

    .stat-value {
      font-size: 30px;
      color: var(--text);
      font-family: "Cascadia Mono", "Fira Code", "Consolas", monospace;
    }

    .dual-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .decision-layout {
      display: grid;
      grid-template-columns: 1.05fr 0.95fr;
      gap: 18px;
      align-items: start;
    }

    .decision-card {
      display: grid;
      gap: 16px;
    }

    .decision-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: start;
    }

    .decision-title {
      margin: 0;
      font-size: 28px;
      line-height: 1.1;
      color: var(--text);
    }

    .decision-copy {
      color: var(--muted);
      font-size: 14px;
      line-height: 1.7;
      max-width: 56ch;
    }

    .decision-body {
      display: grid;
      gap: 14px;
    }

    .decision-metrics {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .decision-metric {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(255,255,255,0.02);
      border-radius: 16px;
      padding: 12px 14px;
    }

    .decision-metric-label {
      color: var(--muted);
      font-size: 11px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 6px;
    }

    .decision-metric-value {
      color: var(--text);
      font-size: 15px;
      line-height: 1.6;
      font-family: "Cascadia Mono", "Fira Code", "Consolas", monospace;
    }

    .analysis-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }

    .analysis-card {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(9, 13, 13, 0.72);
      border-radius: 18px;
      padding: 16px;
      display: grid;
      gap: 12px;
    }

    .analysis-card-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
    }

    .analysis-card-title {
      font-size: 16px;
      font-weight: 700;
      color: var(--text);
    }

    .analysis-summary {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.7;
      min-height: 44px;
    }

    .analysis-metrics {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
    }

    .analysis-metric {
      border: 1px solid rgba(120, 156, 146, 0.14);
      background: rgba(255,255,255,0.02);
      border-radius: 14px;
      padding: 10px 12px;
    }

    .analysis-metric-label {
      color: var(--muted);
      font-size: 11px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      margin-bottom: 6px;
    }

    .analysis-metric-value {
      color: var(--text);
      font-size: 14px;
      font-family: "Cascadia Mono", "Fira Code", "Consolas", monospace;
    }

    .watch-card {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(9, 13, 13, 0.72);
      border-radius: 18px;
      padding: 14px 16px;
      display: grid;
      gap: 10px;
    }

    .watch-title-row {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
    }

    .watch-title {
      color: var(--text);
      font-size: 15px;
      font-weight: 700;
    }

    .watch-meta {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.7;
    }

    .section-title {
      margin: 0 0 14px;
      color: var(--muted);
      font-size: 13px;
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }

    .grid-list {
      display: grid;
      gap: 12px;
    }

    .event {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(9, 13, 13, 0.72);
      border-radius: 18px;
      padding: 14px 16px;
    }

    .event-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 10px;
    }

    .event-type {
      color: var(--cyan);
      font-size: 12px;
      letter-spacing: 0.12em;
    }

    .event-time {
      color: var(--muted);
      font-size: 12px;
    }

    .event-body {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
      font-size: 14px;
      color: var(--text);
    }

    .event-body span {
      color: var(--muted);
      display: block;
      margin-bottom: 4px;
      font-size: 11px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .review-summary-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }

    .review-summary-card {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(9, 13, 13, 0.72);
      border-radius: 18px;
      padding: 14px 16px;
      display: grid;
      gap: 8px;
    }

    .review-summary-value {
      color: var(--text);
      font-size: 24px;
      font-weight: 700;
      font-family: "Cascadia Mono", "Fira Code", "Consolas", monospace;
    }

    .review-summary-note {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.6;
    }

    .review-card {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(9, 13, 13, 0.72);
      border-radius: 18px;
      padding: 16px;
      display: grid;
      gap: 12px;
    }

    .review-card-head,
    .review-meta-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      flex-wrap: wrap;
    }

    .review-copy,
    .review-line {
      color: var(--muted);
      font-size: 13px;
      line-height: 1.7;
    }

    .review-line span {
      color: var(--text);
      margin-right: 8px;
    }

    .review-outcomes,
    .review-panel-tones {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }

    .review-outcome {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(255,255,255,0.02);
      border-radius: 14px;
      padding: 8px 10px;
      display: grid;
      gap: 4px;
      min-width: 118px;
    }

    .review-outcome-label {
      color: var(--muted);
      font-size: 11px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .review-outcome-value {
      color: var(--text);
      font-size: 13px;
      font-family: "Cascadia Mono", "Fira Code", "Consolas", monospace;
    }

    .system-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .system-list {
      display: grid;
      gap: 10px;
    }

    .system-row {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      padding: 12px 0;
      border-bottom: 1px dashed rgba(120, 156, 146, 0.14);
      color: var(--text);
    }

    .system-row:last-child {
      border-bottom: 0;
      padding-bottom: 0;
    }

    .system-key {
      color: var(--muted);
      font-size: 13px;
    }

    .system-value {
      font-family: "Cascadia Mono", "Fira Code", "Consolas", monospace;
      text-align: right;
      font-size: 13px;
    }

    .strategy-grid {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 18px;
      align-items: start;
    }

    .strategy-rule-card {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(9, 13, 13, 0.72);
      border-radius: 18px;
      padding: 16px;
      display: grid;
      gap: 12px;
    }

    .strategy-toolbar {
      display: grid;
      gap: 12px;
      margin-bottom: 14px;
    }

    .strategy-summary,
    .strategy-filter-bar {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
    }

    .strategy-rule-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
    }

    .strategy-rule-name {
      font-size: 16px;
      font-weight: 700;
      color: var(--text);
    }

    .strategy-rule-meta {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.7;
    }

    .strategy-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .strategy-tag {
      border: 1px solid var(--line);
      border-radius: 999px;
      padding: 6px 10px;
      color: var(--text);
      font-size: 12px;
      background: rgba(255,255,255,0.03);
    }

    .strategy-tag.is-overflow,
    .strategy-filter-chip {
      color: var(--muted);
      background: rgba(255,255,255,0.02);
    }

    .strategy-filter-chip.is-active {
      border-color: rgba(120, 156, 146, 0.4);
      color: var(--green);
    }

    .strategy-actions {
      display: flex;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }

    .action-button.is-muted {
      border-color: var(--line);
      background: rgba(255,255,255,0.03);
    }

    .strategy-status-row,
    .validation-meta {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      color: var(--muted);
      font-size: 12px;
    }

    .status-pill {
      border-radius: 999px;
      padding: 5px 10px;
      border: 1px solid var(--line);
      background: rgba(255,255,255,0.03);
      color: var(--text);
    }

    .status-pill.ok {
      color: var(--green);
    }

    .status-pill.warn {
      color: var(--amber);
    }

    .status-pill.bad {
      color: var(--red);
    }

    .strategy-form {
      display: grid;
      gap: 14px;
    }

    .field-grid {
      display: grid;
      gap: 12px;
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-field {
      display: grid;
      gap: 8px;
      min-width: 0;
    }

    .form-field--full {
      grid-column: 1 / -1;
    }

    .form-label {
      color: var(--muted);
      font-size: 12px;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }

    .form-input,
    .form-select {
      width: 100%;
      min-width: 0;
      border: 1px solid var(--line);
      background: var(--panel-strong);
      color: var(--text);
      border-radius: 14px;
      padding: 12px 14px;
      font-size: 14px;
      font-family: inherit;
      outline: none;
    }

    .form-select {
      appearance: none;
      -webkit-appearance: none;
      color-scheme: dark;
    }

    .inline-toggle {
      display: flex;
      align-items: center;
      gap: 10px;
      min-height: 48px;
      padding-top: 24px;
      color: var(--text);
    }

    .inline-toggle input {
      width: 18px;
      height: 18px;
      accent-color: var(--green);
    }

    .block-list {
      display: grid;
      gap: 10px;
      max-height: 320px;
      overflow: auto;
      padding-right: 4px;
    }

    .block-item {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 12px;
      align-items: flex-start;
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(255,255,255,0.02);
      border-radius: 16px;
      padding: 12px;
    }

    .block-item input {
      margin-top: 3px;
    }

    .block-item strong {
      display: block;
      margin-bottom: 4px;
      color: var(--text);
      font-size: 14px;
    }

    .block-item span {
      color: var(--muted);
      font-size: 12px;
      line-height: 1.6;
    }

    .block-copy {
      display: grid;
      gap: 8px;
      min-width: 0;
    }

    .block-param-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px;
      margin-top: 6px;
    }

    .block-param {
      display: grid;
      gap: 6px;
    }

    .block-param label {
      color: var(--muted);
      font-size: 11px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }

    .block-param input {
      width: 100%;
      border: 1px solid var(--line);
      background: var(--panel-strong);
      color: var(--text);
      border-radius: 12px;
      padding: 10px 12px;
      font-size: 13px;
      font-family: inherit;
      outline: none;
      margin-top: 0;
    }

    .validation-grid {
      display: grid;
      gap: 12px;
    }

    .validation-card {
      border: 1px solid rgba(120, 156, 146, 0.16);
      background: rgba(9, 13, 13, 0.72);
      border-radius: 18px;
      padding: 16px;
      display: grid;
      gap: 10px;
    }

    .validation-title {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: center;
      font-size: 15px;
      font-weight: 700;
    }

    .validation-blocks {
      display: grid;
      gap: 8px;
    }

    .validation-line {
      color: var(--text);
      font-size: 13px;
      line-height: 1.7;
    }

    .validation-line span {
      color: var(--muted);
      margin-right: 8px;
    }

    .button-row {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
    }

    .action-button {
      border: 1px solid var(--button-active-border);
      background: var(--button-active-bg);
      color: var(--text);
      border-radius: 14px;
      padding: 12px 16px;
      font-size: 14px;
      font-family: inherit;
      cursor: pointer;
    }

    .empty {
      color: var(--muted);
      padding: 12px 0 4px;
    }

    .ok { color: var(--green); }
    .warn { color: var(--amber); }
    .bad { color: var(--red); }

    @media (max-width: 1120px) {
      .app-grid,
      .hero-grid,
      .dual-grid,
      .decision-layout,
      .analysis-grid,
      .stats-grid,
      .system-grid,
      .strategy-grid {
        grid-template-columns: 1fr;
      }

      .sidebar {
        position: static;
      }

      .content-head {
        flex-direction: column;
        align-items: flex-start;
      }
    }

    @media (max-width: 720px) {
      .shell {
        padding: 16px;
      }

      .event-body {
        grid-template-columns: 1fr;
      }

      .decision-metrics,
      .field-grid,
      .analysis-metrics,
      .block-param-grid,
      .review-summary-grid {
        grid-template-columns: 1fr;
      }
    }
