.screen { flex: 1; display: flex; align-items: flex-start; justify-content: center; background: var(--bg-base); padding: 40px; overflow-y: auto; } .card { width: 100%; max-width: 640px; background: var(--bg-panel); border: 1px solid var(--border-accent); padding: 32px; display: flex; flex-direction: column; gap: 24px; } .title { font-size: 1.375em; color: var(--accent-gold); letter-spacing: 0.06em; } .subtitle { font-size: 0.875em; color: var(--text-secondary); margin-top: -16px; } .field { display: flex; flex-direction: column; gap: 8px; } .label { font-family: 'Cinzel', serif; font-size: 0.75em; color: var(--text-secondary); letter-spacing: 0.06em; text-transform: uppercase; } .row { display: flex; gap: 8px; } .pathInput { flex: 1; font-family: 'JetBrains Mono', monospace; font-size: 0.75em; } .btn { padding: 6px 14px; background: var(--bg-elevated); border: 1px solid var(--border); color: var(--text-primary); font-size: 0.8125em; transition: border-color 0.15s, color 0.15s; white-space: nowrap; } .btn:hover { border-color: var(--border-accent); color: var(--accent-gold); } .btnPrimary { background: var(--accent-gold); border-color: var(--accent-gold); color: var(--bg-base); font-family: 'Cinzel', serif; font-weight: 600; } .btnPrimary:hover { background: var(--accent-gold-bright); border-color: var(--accent-gold-bright); color: var(--bg-base); } .btnPrimary:disabled { opacity: 0.4; cursor: not-allowed; } .btnSecondary { color: var(--text-secondary); } .actions { display: flex; justify-content: flex-end; gap: 10px; } .validationList { list-style: none; display: flex; flex-direction: column; gap: 3px; font-size: 0.75em; font-family: 'JetBrains Mono', monospace; } .validationItem { display: flex; gap: 8px; align-items: baseline; } .validationFile { color: var(--text-secondary); } .validationMsg { color: var(--text-muted); } .error { background: var(--accent-red); border: 1px solid #b04040; padding: 10px; font-size: 0.8125em; color: #ffd0d0; } /* ── Appearance section ─────────────────────────────────────────── */ .sectionDivider { display: flex; align-items: center; gap: 12px; margin-top: 4px; } .sectionDivider::before, .sectionDivider::after { content: ''; flex: 1; height: 1px; background: var(--border); } .sectionLabel { font-family: 'Cinzel', serif; font-size: 0.6875em; letter-spacing: 0.1em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; } .select { width: 100%; padding: 6px 10px; background: var(--bg-elevated); border: 1px solid var(--border); color: var(--text-primary); font-family: 'EB Garamond', Georgia, serif; font-size: 0.875em; border-radius: 3px; cursor: pointer; } .select:focus { border-color: var(--border-accent); outline: none; } .fontSizeRow { display: flex; align-items: center; gap: 10px; } .fontSizeBtn { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; font-size: 1em; font-weight: 600; padding: 0; flex-shrink: 0; } .fontSizeBtn:disabled { opacity: 0.3; cursor: not-allowed; } .fontSizeDisplay { flex: 1; display: flex; align-items: center; gap: 6px; background: var(--bg-elevated); border: 1px solid var(--border); padding: 6px 12px; border-radius: 3px; } .fontSizePip { width: 10px; height: 10px; border-radius: 50%; background: var(--border-accent); border: none; padding: 0; cursor: pointer; transition: background 0.15s, transform 0.15s; flex-shrink: 0; } .fontSizePip:hover { background: var(--accent-gold); } .fontSizePipActive { background: var(--accent-gold-bright); transform: scale(1.4); } .fontSizeLabel { margin-left: auto; font-family: 'JetBrains Mono', monospace; font-size: 0.75em; color: var(--text-secondary); min-width: 36px; text-align: right; } .colorRow { display: flex; align-items: center; gap: 10px; } .colorPicker { width: 40px; height: 32px; padding: 2px; border: 1px solid var(--border); background: var(--bg-elevated); cursor: pointer; border-radius: 3px; } .colorPicker:focus { border-color: var(--border-accent); outline: none; } .colorHex { font-family: 'JetBrains Mono', monospace; font-size: 0.8125em; color: var(--text-secondary); min-width: 64px; }