    :root {
      --bg-color: #0f172a;
      --card-bg: #1e293b;
      --border-color: #334155;
      --text-color: #f8fafc;
      --muted-color: #94a3b8;
      --accent-color: #3b82f6;
      --accent-hover: #2563eb;
      --danger-color: #ef4444;
      --danger-hover: #dc2626;
    }

  html, body {
      margin: 0;
      padding: 0;
      width: 100%;
      min-height: 100vh;
      background: linear-gradient(rgba(15, 23, 42, 0.85), rgba(15, 23, 42, 0.85)), 
                  url('https://file.garden/ZTBRM8DJt13euhmD/bgtmp.png') no-repeat center center fixed;
      background-size: cover;
      color: var(--text-color);
      font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    }

    body {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      padding: 40px 20px;
      box-sizing: border-box;
    }

    .admin-container {
      width: 100%;
      max-width: 800px;
      padding: 30px;
      background: var(--card-bg);
      border: 1px solid var(--border-color);
      border-radius: 12px;
      box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
    }

    .form-group {
      margin-bottom: 20px;
    }

    .banner-settings {
      background: #0b1120;
      border: 1px solid var(--border-color);
      border-radius: 8px;
      padding: 18px 20px;
      margin-bottom: 30px;
    }

    .banner-settings h3 {
      margin-top: 0;
    }

    .banner-settings-hint {
      color: var(--muted-color);
      font-size: 0.85rem;
      margin: -6px 0 16px;
    }

    .banner-toggle-row {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .banner-toggle-row label {
      margin-bottom: 0;
    }

    .banner-toggle-row input[type="checkbox"] {
      width: auto;
      transform: scale(1.3);
    }

    .banner-status {
      margin-left: 12px;
      font-size: 0.85rem;
      color: var(--muted-color);
    }

    .form-group label {
      display: block;
      margin-bottom: 8px;
      font-weight: 600;
      font-size: 0.95rem;
    }

    .form-group input, 
    .form-group textarea, 
    .form-group select {
      width: 100%;
      padding: 12px;
      background: #0b1120;
      border: 1px solid var(--border-color);
      border-radius: 6px;
      color: #fff;
      font-size: 0.95rem;
      box-sizing: border-box;
      outline: none;
      transition: border-color 0.2s;
    }

    .form-group input:focus, 
    .form-group textarea:focus {
      border-color: var(--accent-color);
    }

    .form-group textarea {
      height: 160px;
      resize: vertical;
    }

    .content-editor-row {
      display: flex;
      gap: 15px;
      align-items: stretch;
    }

    .content-editor-row .form-group {
      flex: 3;
      margin-bottom: 0;
    }

    .content-editor-row #content {
      height: 220px;
    }

    .richtext-tips {
      flex: 1.3;
      min-width: 190px;
      background: #0b1120;
      border: 1px solid var(--border-color);
      border-radius: 6px;
      padding: 12px 14px;
      font-size: 0.8rem;
      color: var(--muted-color);
    }

    .richtext-tips h4 {
      margin: 0 0 8px 0;
      font-size: 0.85rem;
      color: var(--text-color);
    }

    .richtext-tips code {
      display: block;
      background: #1e293b;
      border-radius: 4px;
      padding: 3px 6px;
      margin: 6px 0 2px;
      color: #93c5fd;
      font-size: 0.78rem;
      word-break: break-all;
    }

    .richtext-tips p {
      margin: 0 0 4px;
    }

    @media (max-width: 640px) {
      .content-editor-row {
        flex-direction: column;
      }
      .richtext-tips {
        min-width: 0;
      }
    }

    .btn-toggle {
      background: transparent;
      border: 1px solid var(--border-color);
      color: var(--muted-color);
      padding: 4px 12px;
      border-radius: 6px;
      cursor: pointer;
      font-size: 0.8rem;
    }

    .btn-toggle:hover {
      border-color: var(--accent-color);
      color: var(--text-color);
    }

    .preview-pane {
      background: #0b1120;
      border: 1px solid var(--border-color);
      border-radius: 8px;
      padding: 20px;
    }

    .preview-badge {
      display: inline-block;
      background: var(--accent-color);
      color: #fff;
      padding: 3px 8px;
      border-radius: 4px;
      font-size: 0.75rem;
      text-transform: uppercase;
      margin-bottom: 10px;
    }

    .preview-title {
      margin: 6px 0;
      font-size: 1.4rem;
    }

    .preview-meta {
      color: var(--muted-color);
      font-size: 0.85rem;
      margin-bottom: 14px;
    }

    .preview-banner {
      max-width: 100%;
      border-radius: 6px;
      margin-bottom: 14px;
      display: block;
    }

    .preview-content {
      line-height: 1.6;
      white-space: pre-wrap;
      word-break: break-word;
      color: var(--text-color);
    }

    .preview-content img, .preview-content video {
      max-width: 100%;
      border-radius: 6px;
      display: block;
      margin: 14px 0;
    }

    .preview-content a {
      color: var(--accent-color);
      text-decoration: underline;
    }

    .preview-content:empty::before {
      content: 'Nothing written yet...';
      color: var(--muted-color);
      font-style: italic;
    }

    .btn {
      background: var(--accent-color);
      color: white;
      border: none;
      padding: 12px 24px;
      border-radius: 6px;
      cursor: pointer;
      font-weight: 600;
      font-size: 0.95rem;
      transition: background-color 0.2s;
    }

    .btn:hover {
      background: var(--accent-hover);
    }

    .btn-danger {
      background: var(--danger-color);
      color: white;
      border: none;
      padding: 8px 16px;
      border-radius: 6px;
      cursor: pointer;
      font-weight: 600;
      transition: background-color 0.2s;
    }

    .btn-danger:hover {
      background: var(--danger-hover);
    }

    .status-msg {
      margin-bottom: 20px;
      padding: 12px 16px;
      border-radius: 6px;
      font-size: 0.9rem;
      display: none;
    }

    .status-success {
      background: rgba(6, 95, 70, 0.5);
      border: 1px solid #059669;
      color: #34d399;
    }

    .status-error {
      background: rgba(127, 29, 29, 0.5);
      border: 1px solid #dc2626;
      color: #f87171;
    }

    .status-muted {
      background: rgba(51, 65, 85, 0.5);
      border: 1px solid var(--border-color);
      color: #cbd5e1;
    }

    .article-item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 15px 0;
      border-bottom: 1px solid var(--border-color);
    }

    .article-info h3 {
      margin: 0 0 6px 0;
      font-size: 1.1rem;
    }

    .article-info p {
      margin: 0;
      font-size: 0.85rem;
      color: var(--muted-color);
    }

    .header-bar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      border-bottom: 1px solid var(--border-color);
      padding-bottom: 15px;
      margin-bottom: 25px;
    }

    .header-bar h2 {
      margin: 0;
    }

    .tag-preview {
      display: inline-block;
      padding: 6px 12px;
      border-radius: 6px;
      font-size: 0.8rem;
      font-weight: 700;
      color: #fff;
      white-space: nowrap;
    }

    .preset-row {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 4px;
    }

    .preset-swatch {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      cursor: pointer;
      border: 2px solid rgba(255, 255, 255, 0.15);
      padding: 0;
      transition: transform 0.15s ease, border-color 0.15s ease;
    }

    .preset-swatch:hover {
      transform: scale(1.15);
      border-color: rgba(255, 255, 255, 0.6);
    }

    .preset-swatch.selected {
      border-color: #fff;
      box-shadow: 0 0 0 2px var(--accent-color);
    }

    .color-input-row {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 10px;
    }

    #tagColorPicker {
      width: 46px;
      height: 38px;
      padding: 2px;
      background: #0b1120;
      border: 1px solid var(--border-color);
      border-radius: 6px;
      cursor: pointer;
    }

    #tagColorHex {
      width: 110px;
      font-family: monospace;
    }

    .article-color-dot {
      display: inline-block;
      width: 9px;
      height: 9px;
      border-radius: 50%;
      margin-right: 6px;
    }
