:root { --bg: #f4efe7; --panel: #fffaf2; --line: #d8cdbd; --text: #1f1a17; --muted: #6e645a; --accent: #b04a2f; --accent-soft: #f2d5c4; --success: #2f7d62; --warning: #aa6a1f; } * { box-sizing: border-box; } body { margin: 0; font-family: "IBM Plex Sans", "Noto Sans SC", sans-serif; color: var(--text); background: radial-gradient(circle at top left, #fff7ec 0, transparent 28rem), linear-gradient(180deg, #efe5d7 0%, var(--bg) 100%); } .app-shell { max-width: 1440px; margin: 0 auto; padding: 24px; } .hero, .panel, .content, .sidebar { border: 1px solid var(--line); background: rgba(255, 250, 242, 0.96); backdrop-filter: blur(10px); border-radius: 20px; box-shadow: 0 12px 40px rgba(93, 67, 39, 0.08); } .hero { display: flex; justify-content: space-between; gap: 24px; padding: 24px 28px; margin-bottom: 20px; } .eyebrow { margin: 0 0 10px; color: var(--accent); text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px; } h1, h2, h3, p { margin-top: 0; } .subtle, .hint { color: var(--muted); } .identity-card { min-width: 220px; padding: 16px; border-radius: 16px; background: linear-gradient(135deg, var(--accent-soft), #f8e7dc); display: flex; flex-direction: column; gap: 8px; } .panel-grid, .layout, .tasks-area { display: grid; gap: 20px; } .panel-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 20px; } .layout { grid-template-columns: 340px minmax(0, 1fr); } .tasks-area { grid-template-columns: 320px minmax(0, 1fr); } .panel, .content, .sidebar { padding: 20px; } .stack-form { display: grid; gap: 12px; } input, textarea, button { font: inherit; } input, textarea { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); background: #fffdf9; } button { border: 0; border-radius: 999px; padding: 12px 18px; background: var(--accent); color: #fff; cursor: pointer; transition: transform 120ms ease, opacity 120ms ease; } button:hover { transform: translateY(-1px); opacity: 0.95; } button.ghost { background: transparent; color: var(--accent); border: 1px solid var(--accent-soft); } .file-list, .checkbox-list, .session-list, .task-list, .artifact-gallery { display: grid; gap: 10px; } .file-item, .session-card, .task-card, .artifact-card { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--line); background: #fffdf8; } .checkbox-item { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line); background: #fffdf8; } .sidebar-header, .content-header { display: flex; justify-content: space-between; align-items: start; gap: 16px; } .followup-box { margin: 20px 0; display: grid; gap: 12px; } .session-card.active, .task-card.active { border-color: var(--accent); background: #fff3eb; } .status { display: inline-flex; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; } .status.queued { background: #f1ead7; color: #7b6114; } .status.running { background: #e6edf9; color: #1e5dab; } .status.succeeded, .status.open { background: #dff1ea; color: var(--success); } .status.failed, .status.closed { background: #f8dfda; color: #a03723; } .report-title { margin-bottom: 10px; color: var(--muted); } .report-content { min-height: 360px; max-height: 720px; overflow: auto; padding: 16px; border-radius: 16px; background: #1d1a18; color: #f8f2ea; line-height: 1.6; white-space: pre-wrap; } .artifact-gallery { margin-top: 16px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } .artifact-card img { width: 100%; height: 180px; object-fit: cover; border-radius: 12px; background: #ede3d7; } .artifact-card a { color: var(--accent); text-decoration: none; } .empty { color: var(--muted); font-style: italic; } @media (max-width: 1024px) { .panel-grid, .layout, .tasks-area, .hero { grid-template-columns: 1fr; } .hero { flex-direction: column; } }