  * { margin: 0; padding: 0; box-sizing: border-box; }
  body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
  #root { min-height: 100vh; }
  :root {
    --nsp-bg-workspace: #F5F5F5;
    --nsp-surface: #FFFFFF;
    --nsp-surface-raised: #FAFAFA;
    --nsp-page-surface: #FFFFFF;
    --nsp-border: #EEEEEE;
    --nsp-border-strong: #D4D4D4;
    --nsp-text: #1A1A1A;
    --nsp-text-muted: #888888;
    --nsp-text-subtle: #AAAAAA;
    --nsp-orange: #E85D3A;
    --nsp-orange-hover: #D94F30;
    --nsp-blue: #2D7FF9;
    --nsp-blue-soft: #EEF6FF;
    --nsp-red: #E85D3A;
    --nsp-red-soft: #FDDDD4;
    --nsp-amber: #DAA520;
    --nsp-amber-soft: #FFF8F5;
    --nsp-radius-sm: 6px;
    --nsp-radius-md: 10px;
    --nsp-radius-lg: 16px;
    --nsp-space-xs: 4px;
    --nsp-space-sm: 8px;
    --nsp-space-md: 12px;
    --nsp-space-lg: 16px;
    --nsp-space-xl: 24px;
    --nsp-shadow-soft: 0 2px 14px rgba(0, 0, 0, 0.07);
    --nsp-shadow-raised: 0 18px 50px rgba(0, 0, 0, 0.2);
    --nsp-focus-ring: 0 0 0 3px rgba(45, 127, 249, 0.18);
  }
  .nsp-editor-shell { background: var(--nsp-bg-workspace); color: var(--nsp-text); }
  .nsp-workspace { background: var(--nsp-bg-workspace); }
  .nsp-toolbar-surface { background: var(--nsp-surface); border: 1px solid var(--nsp-border); border-radius: var(--nsp-radius-md); box-shadow: var(--nsp-shadow-soft); }
  .nsp-panel { background: var(--nsp-surface); border: 1px solid var(--nsp-border); border-radius: var(--nsp-radius-lg); }
  .nsp-card { background: var(--nsp-surface-raised); border: 1px solid var(--nsp-border); border-radius: var(--nsp-radius-md); }
  .nsp-button-primary { background: var(--nsp-orange); color: var(--nsp-surface); border: 1px solid var(--nsp-orange); border-radius: var(--nsp-radius-md); }
  .nsp-button-secondary { background: var(--nsp-surface); color: var(--nsp-text-muted); border: 1px solid var(--nsp-border); border-radius: var(--nsp-radius-md); }
  .nsp-button-danger { background: var(--nsp-surface); color: var(--nsp-red); border: 1px solid var(--nsp-red-soft); border-radius: var(--nsp-radius-md); }
  .nsp-selected-outline { outline: 2px solid var(--nsp-blue); box-shadow: var(--nsp-focus-ring); }
  .nsp-pro-callout { background: var(--nsp-amber-soft); border: 1px solid var(--nsp-amber); border-radius: var(--nsp-radius-lg); color: var(--nsp-text); }
  .nsp-page-surface { background: var(--nsp-page-surface); border: 1px solid var(--nsp-border); box-shadow: var(--nsp-shadow-soft); }
  .nsp-inspector { background: var(--nsp-surface); border: 1px solid var(--nsp-border); border-radius: var(--nsp-radius-lg); }
  .nsp-signature-card { background: var(--nsp-surface); border: 1px solid var(--nsp-border); border-radius: var(--nsp-radius-md); }
  .nsp-signature-create-sheet { background: var(--nsp-surface); border: 1px solid var(--nsp-border); border-radius: var(--nsp-radius-lg); box-shadow: var(--nsp-shadow-raised); }
  .nsp-shell-static { max-width: 760px; margin: 0 auto; padding: 18px 16px 8px; color: #1A1A1A; }
  .nsp-shell-static a { color: #2D7FF9; text-decoration: none; }
  .nsp-crumb { font-size: 12px; color: #888; margin-bottom: 10px; }
  .nsp-shell-static h1 { font-size: 30px; margin: 0 0 6px; }
  .nsp-promise { font-size: 15px; color: #555; margin: 0 0 8px; }
  .nsp-cta-line { font-size: 14px; font-weight: 700; color: #E85D3A; margin: 0 0 4px; }
  .nsp-shell-below { max-width: 760px; margin: 0 auto; padding: 26px 16px 48px; color: #1A1A1A; }
  .nsp-shell-below h2 { font-size: 19px; margin: 22px 0 8px; }
  .nsp-shell-below ol, .nsp-shell-below ul { padding-left: 22px; }
  .nsp-shell-below li { margin: 4px 0; font-size: 14px; line-height: 1.5; }
  .nsp-faq dt { font-weight: 700; margin-top: 12px; font-size: 14px; }
  .nsp-faq dd { margin: 3px 0 0 0; font-size: 14px; color: #444; line-height: 1.5; }
  .nsp-privacy { font-size: 13px; color: #2f7a3d; background: #F0FAF2; border: 1px solid #CBEAD2; border-radius: 8px; padding: 8px 10px; margin: 10px 0 0; }
