@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&display=swap"); :root { --bg: #f4f4f2; --panel: #f9f9f7; --ink: #1f1f1c; --muted: #6f6b66; --accent: #8d7b6e; --accent-2: #8791a3; --accent-3: #7e9a8b; --shadow: rgba(31, 31, 28, 0.08); } * { box-sizing: border-box; } body { margin: 0; font-family: "Space Grotesk", system-ui, sans-serif; color: var(--ink); background: radial-gradient(circle at 15% 20%, #e9e5df 0%, transparent 55%), radial-gradient(circle at 80% 10%, #ece7e1 0%, transparent 40%), radial-gradient(circle at 70% 80%, #e6e2dc 0%, transparent 45%), var(--bg); } .page { max-width: 1200px; margin: 0 auto; padding: 32px 24px 64px; } .hero { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 24px; } .eyebrow { text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px; margin: 0 0 8px; color: var(--muted); } h1 { font-size: 40px; margin: 0 0 12px; } .subhead { font-size: 16px; max-width: 640px; margin: 0; color: var(--muted); } .panel { background: var(--panel); border-radius: 20px; padding: 20px; box-shadow: 0 14px 30px var(--shadow); margin-bottom: 24px; } .action-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; } .secondary-btn { background: transparent; border: 1px solid var(--accent); color: var(--accent); padding: 10px 16px; border-radius: 14px; font-weight: 600; cursor: pointer; } .summary-pill { background: #fff; border: 1px solid #eadccd; padding: 10px 16px; border-radius: 999px; color: var(--muted); font-size: 14px; } .toggle-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid #eadccd; background: #fff; color: var(--muted); font-size: 13px; cursor: pointer; } .toggle-pill input { margin: 0; } .panel summary { font-size: 20px; font-weight: 600; cursor: pointer; } .panel-header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; } h2 { margin: 0; font-size: 20px; } .controls { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .controls label { display: flex; gap: 8px; align-items: center; font-size: 14px; color: var(--muted); } .controls label.toggle { gap: 6px; } .controls label.toggle input { margin: 0; } .controls input, .controls select { border: 1px solid #d9cbbd; border-radius: 10px; padding: 6px 8px; background: #fff; font-size: 14px; } .controls button { background: var(--accent); color: #fff; border: none; border-radius: 12px; padding: 8px 16px; font-weight: 600; cursor: pointer; transition: transform 0.2s ease; } .controls button:hover { transform: translateY(-1px); } textarea { width: 100%; min-height: 240px; margin-top: 16px; border-radius: 16px; border: 1px solid #d9cbbd; padding: 16px; font-family: "Space Grotesk", monospace; background: #fff; resize: vertical; } .chip-list { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 16px; } .chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: #fff; border: 1px solid #eadccd; font-size: 12px; } .chip button { border: none; background: transparent; cursor: pointer; color: var(--muted); font-size: 14px; line-height: 1; padding: 0; } .toggle-pill input[list] { border: none; outline: none; background: transparent; font-size: 13px; color: var(--ink); width: 160px; } .status { margin-top: 8px; color: var(--muted); } .progress { height: 6px; border-radius: 999px; background: #eadccd; margin-top: 8px; overflow: hidden; } .progress-bar { height: 100%; width: 0%; background: linear-gradient(90deg, var(--accent), #f5a143); transition: width 0.2s ease; } .progress.is-hidden { display: none; } .blueprint-container { display: grid; grid-template-columns: 280px 1fr; gap: 2px; background: #eadccd; border-radius: 18px; overflow: hidden; margin-bottom: 24px; } .blueprint-sidebar { background: var(--panel); padding: 20px; } .blueprint-main { background: #fff; padding: 24px; } .blueprint-item { border: 1px solid transparent; border-radius: 12px; padding: 12px; margin-bottom: 10px; cursor: pointer; transition: border-color 0.2s ease, background 0.2s ease; } .blueprint-item:hover { background: #fff; border-color: var(--accent); } .blueprint-item.is-active { background: #fff7ee; border-color: var(--accent); box-shadow: inset 0 0 0 1px rgba(214, 87, 43, 0.2); } .blueprint-item.high-match { border-color: var(--accent-3); box-shadow: inset 0 0 0 1px rgba(27, 141, 87, 0.25); } .blueprint-name { font-weight: 600; font-size: 15px; } .blueprint-suggestion { color: var(--accent); font-weight: 600; margin-top: 4px; } .blueprint-meta { font-size: 12px; color: var(--muted); margin-top: 4px; } .blueprint-evidence { font-size: 12px; color: var(--muted); margin-top: 6px; } .comparison-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; } .flow-display { font-size: 12px; color: var(--muted); background: #f8f2ea; border: 1px solid #eadccd; padding: 8px 12px; border-radius: 12px; max-width: 520px; white-space: pre-wrap; } .code-diff-view { display: grid; grid-template-columns: 1fr; gap: 16px; } .code-block { margin: 0; padding: 14px; border-radius: 12px; border: 1px solid #e3d6c8; background: #fff; font-family: "Space Grotesk", monospace; font-size: 12px; line-height: 1.4; max-height: 520px; overflow: auto; white-space: pre-wrap; } .diff-wrapper { display: flex; flex-direction: column; background: #fff; border: 1px solid #e3d6c8; border-radius: 12px; overflow: hidden; font-family: "Space Grotesk", monospace; font-size: 12px; } .diff-row { display: block; border-bottom: 1px solid #f0e8dc; } .code-line { padding: 2px 8px; white-space: pre; } .diff-del { background-color: #ffe6e6; text-decoration: line-through; opacity: 0.7; } .diff-add { background-color: #e6ffec; } .structural-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 12px; } .ast-label { margin: 0 0 6px; font-size: 12px; color: var(--muted); text-transform: uppercase; letter-spacing: 0.08em; } .ast-summary { margin: 8px 0 0; font-size: 12px; color: var(--muted); } .overall { display: flex; flex-direction: column; gap: 12px; margin-top: 12px; } .overall-item { padding: 10px 12px; background: #fff; border-radius: 12px; border: 1px solid #eadccd; } .overall-title { font-weight: 600; } .overall-meta { font-size: 12px; color: var(--muted); margin-top: 4px; } .matches { display: grid; gap: 16px; margin-top: 16px; } .match-card { background: #fff; border-radius: 16px; border: 1px solid #eadccd; padding: 16px; } .match-card h3 { margin: 0 0 8px; font-size: 16px; } .match-list { display: grid; gap: 6px; font-size: 14px; color: var(--muted); } .match-row { display: flex; justify-content: space-between; gap: 12px; } .helper { margin: 8px 0 0; font-size: 12px; color: var(--muted); } @media (max-width: 960px) { .action-bar { flex-direction: column; align-items: flex-start; } .blueprint-container { grid-template-columns: 1fr; } .code-diff-view { grid-template-columns: 1fr; } .structural-notes { grid-template-columns: 1fr; } }