- Schema version (x_schema_version, schema_hash) в prompt/trace - Кеш read/search/logs/env (ContextCache) в plan-цикле - Контекст-диета: MAX_FILES=8, MAX_FILE_CHARS=20k, MAX_TOTAL_CHARS=120k - Plan→Apply двухфазность, NO_CHANGES, path sanitization - Protected paths, content validation, EOL normalization - Trace (PAPAYU_TRACE), redaction (PAPAYU_TRACE_RAW) - Preview diff, undo/redo, transactional apply Co-authored-by: Cursor <cursoragent@cursor.com>
180 lines
4.5 KiB
CSS
180 lines
4.5 KiB
CSS
:root {
|
|
--color-primary: #2563eb;
|
|
--color-primary-hover: #1d4ed8;
|
|
--color-primary-light: #eff6ff;
|
|
--color-secondary: #0d9488;
|
|
--color-secondary-hover: #0f766e;
|
|
--color-accent: #7c3aed;
|
|
--color-accent-hover: #6d28d9;
|
|
--color-success: #16a34a;
|
|
--color-success-hover: #15803d;
|
|
--color-danger: #dc2626;
|
|
--color-danger-hover: #b91c1c;
|
|
--color-warning: #f59e0b;
|
|
--color-text: #0f172a;
|
|
--color-text-muted: #64748b;
|
|
--color-text-soft: #94a3b8;
|
|
--color-surface: #ffffff;
|
|
--color-bg: #f1f5f9;
|
|
--color-bg-warm: #f8fafc;
|
|
--color-border: #e2e8f0;
|
|
--color-border-strong: #cbd5e1;
|
|
--radius-sm: 6px;
|
|
--radius-md: 8px;
|
|
--radius-lg: 12px;
|
|
--radius-xl: 16px;
|
|
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
|
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.05);
|
|
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -4px rgba(0, 0, 0, 0.05);
|
|
--shadow-card: 0 1px 3px rgba(0, 0, 0, 0.06);
|
|
--transition: 0.2s ease;
|
|
}
|
|
|
|
/* Dark Theme */
|
|
[data-theme="dark"] {
|
|
--color-primary: #3b82f6;
|
|
--color-primary-hover: #60a5fa;
|
|
--color-primary-light: #1e3a5f;
|
|
--color-secondary: #14b8a6;
|
|
--color-secondary-hover: #2dd4bf;
|
|
--color-accent: #a78bfa;
|
|
--color-accent-hover: #c4b5fd;
|
|
--color-success: #22c55e;
|
|
--color-success-hover: #4ade80;
|
|
--color-danger: #ef4444;
|
|
--color-danger-hover: #f87171;
|
|
--color-warning: #fbbf24;
|
|
--color-text: #f1f5f9;
|
|
--color-text-muted: #94a3b8;
|
|
--color-text-soft: #64748b;
|
|
--color-surface: #1e293b;
|
|
--color-bg: #0f172a;
|
|
--color-bg-warm: #1e293b;
|
|
--color-border: #334155;
|
|
--color-border-strong: #475569;
|
|
--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
|
|
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -4px rgba(0, 0, 0, 0.3);
|
|
--shadow-card: 0 1px 3px rgba(0, 0, 0, 0.4);
|
|
}
|
|
|
|
* {
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
body {
|
|
margin: 0;
|
|
font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
|
|
font-size: 14px;
|
|
line-height: 1.5;
|
|
color: var(--color-text);
|
|
background: linear-gradient(160deg, var(--color-bg-warm) 0%, var(--color-border) 50%, var(--color-bg) 100%);
|
|
min-height: 100vh;
|
|
transition: background var(--transition), color var(--transition);
|
|
}
|
|
|
|
[data-theme="dark"] body {
|
|
background: linear-gradient(160deg, var(--color-bg-warm) 0%, #0f172a 50%, var(--color-bg) 100%);
|
|
}
|
|
|
|
#root {
|
|
min-height: 100vh;
|
|
}
|
|
|
|
button {
|
|
cursor: pointer;
|
|
font: inherit;
|
|
transition: background-color var(--transition), transform var(--transition), box-shadow var(--transition);
|
|
}
|
|
button:hover:not(:disabled) {
|
|
transform: translateY(-1px);
|
|
}
|
|
button:active:not(:disabled) {
|
|
transform: translateY(0);
|
|
}
|
|
button:disabled {
|
|
cursor: not-allowed;
|
|
opacity: 0.7;
|
|
}
|
|
|
|
input,
|
|
textarea {
|
|
font: inherit;
|
|
transition: border-color var(--transition), box-shadow var(--transition);
|
|
}
|
|
input:focus,
|
|
textarea:focus {
|
|
outline: none;
|
|
border-color: var(--color-primary);
|
|
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
|
|
}
|
|
|
|
.card {
|
|
background: var(--color-surface);
|
|
border-radius: var(--radius-lg);
|
|
box-shadow: var(--shadow-card);
|
|
border: 1px solid var(--color-border);
|
|
}
|
|
|
|
/* Блок выбора папки на странице Задачи — всегда видим */
|
|
.tasks-sources[data-section="path-selection"] {
|
|
display: block !important;
|
|
visibility: visible !important;
|
|
}
|
|
|
|
/* Theme Toggle */
|
|
.theme-toggle {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
padding: 8px 12px;
|
|
background: var(--color-surface);
|
|
border: 1px solid var(--color-border);
|
|
border-radius: var(--radius-md);
|
|
cursor: pointer;
|
|
font-size: 13px;
|
|
color: var(--color-text-muted);
|
|
transition: all var(--transition);
|
|
}
|
|
|
|
.theme-toggle:hover {
|
|
background: var(--color-bg-warm);
|
|
border-color: var(--color-border-strong);
|
|
color: var(--color-text);
|
|
}
|
|
|
|
.theme-toggle-icon {
|
|
font-size: 16px;
|
|
}
|
|
|
|
/* Dark theme specific overrides */
|
|
[data-theme="dark"] input,
|
|
[data-theme="dark"] textarea {
|
|
background: var(--color-surface);
|
|
color: var(--color-text);
|
|
border-color: var(--color-border);
|
|
}
|
|
|
|
[data-theme="dark"] input::placeholder,
|
|
[data-theme="dark"] textarea::placeholder {
|
|
color: var(--color-text-soft);
|
|
}
|
|
|
|
[data-theme="dark"] input:focus,
|
|
[data-theme="dark"] textarea:focus {
|
|
border-color: var(--color-primary);
|
|
box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.25);
|
|
}
|
|
|
|
[data-theme="dark"] select {
|
|
background: var(--color-surface);
|
|
color: var(--color-text);
|
|
border-color: var(--color-border);
|
|
}
|
|
|
|
[data-theme="dark"] code,
|
|
[data-theme="dark"] pre {
|
|
background: #0f172a;
|
|
color: #e2e8f0;
|
|
}
|