:root { --ink: #13211c; --muted: #60756d; --paper: #f3efe5; --paper-strong: #fffaf0; --line: rgba(35, 52, 45, 0.14); --moss: #174f43; --copper: #bf6f3c; --amber: #edc56d; --shadow: 0 24px 80px rgba(36, 47, 41, 0.18); --radius: 28px; } * { box-sizing: border-box; } body { min-height: 100vh; margin: 0; color: var(--ink); background: radial-gradient(circle at 12% 10%, rgba(237, 197, 109, 0.45), transparent 28rem), radial-gradient(circle at 84% 14%, rgba(61, 111, 137, 0.22), transparent 26rem), linear-gradient(135deg, #efe6d2 0%, #edf3e9 52%, #e6eee8 100%); font-family: "Space Grotesk", "Noto Serif SC", "Microsoft YaHei", "PingFang SC", sans-serif; } body::before { content: ""; position: fixed; inset: 0; pointer-events: none; opacity: 0.32; background-image: linear-gradient(rgba(23, 79, 67, 0.06) 1px, transparent 1px), linear-gradient(90deg, rgba(23, 79, 67, 0.06) 1px, transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom, #000, transparent 80%); } button, input, textarea, select { font: inherit; } .ambient { position: fixed; border-radius: 999px; filter: blur(6px); pointer-events: none; } .ambient-one { width: 18rem; height: 18rem; right: 5vw; top: 8vh; background: rgba(191, 111, 60, 0.18); } .ambient-two { width: 20rem; height: 20rem; left: -8rem; bottom: 8vh; background: rgba(23, 79, 67, 0.16); } .shell { position: relative; width: min(1500px, calc(100vw - 32px)); margin: 0 auto; padding: 24px 0 32px; } .glass, .panel { border: 1px solid var(--line); background: rgba(255, 250, 240, 0.72); box-shadow: var(--shadow); backdrop-filter: blur(22px); } .hero { min-height: 330px; display: grid; grid-template-columns: 1.25fr 0.75fr; gap: 24px; align-items: stretch; padding: clamp(24px, 4vw, 54px); border-radius: 36px; overflow: hidden; } .eyebrow, .panel-title span { margin: 0 0 12px; color: var(--copper); font-size: 12px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; } h1 { max-width: 900px; margin: 0; font-family: "Noto Serif SC", serif; font-size: clamp(38px, 6vw, 78px); line-height: 1.04; letter-spacing: -0.06em; } .subtitle { max-width: 760px; margin: 22px 0 0; color: var(--muted); font-size: 17px; line-height: 1.8; } .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; } button { border: 0; cursor: pointer; transition: transform 140ms ease, box-shadow 140ms ease, opacity 140ms ease; } button:hover { transform: translateY(-1px); } button:disabled { cursor: wait; opacity: 0.68; transform: none; } .primary { border-radius: 999px; padding: 13px 20px; color: #fffaf1; background: linear-gradient(135deg, var(--moss), #256e5e 58%, var(--copper)); box-shadow: 0 14px 34px rgba(23, 79, 67, 0.24); font-weight: 800; } .ghost { border-radius: 999px; padding: 12px 18px; color: var(--moss); background: rgba(23, 79, 67, 0.08); border: 1px solid rgba(23, 79, 67, 0.12); font-weight: 800; } .small { padding: 9px 13px; font-size: 13px; } .wide { width: 100%; justify-content: center; } .hero-card { display: grid; align-content: space-between; min-height: 100%; padding: 24px; border-radius: 30px; color: #f9f3e7; background: linear-gradient(150deg, rgba(19, 33, 28, 0.92), rgba(23, 79, 67, 0.88)), radial-gradient(circle at 90% 10%, rgba(237, 197, 109, 0.3), transparent 20rem); } .status-dot { width: 12px; height: 12px; border-radius: 50%; background: var(--amber); box-shadow: 0 0 0 8px rgba(237, 197, 109, 0.16); } .hero-card p, .hero-card span { margin: 0; color: rgba(255, 250, 240, 0.68); } .hero-card strong { display: block; margin-top: 8px; font-size: 22px; } .metric-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .metric-row div { padding: 14px; border-radius: 18px; background: rgba(255, 250, 240, 0.1); } .workspace { display: grid; grid-template-columns: minmax(340px, 0.92fr) minmax(420px, 1.25fr) minmax(300px, 0.78fr); gap: 18px; margin-top: 18px; align-items: start; } .panel { border-radius: var(--radius); padding: 20px; } .panel-title { margin-bottom: 18px; } .panel-title strong { display: block; font-family: "Noto Serif SC", serif; font-size: 24px; } .panel-title.row { display: flex; justify-content: space-between; align-items: start; gap: 14px; } .field { display: grid; gap: 8px; margin-bottom: 14px; } .field span { color: var(--moss); font-weight: 800; } .field em { color: var(--muted); font-size: 12px; font-style: normal; line-height: 1.5; } input, textarea, select { width: 100%; border: 1px solid rgba(23, 79, 67, 0.16); border-radius: 18px; padding: 13px 14px; color: var(--ink); background: rgba(255, 255, 255, 0.58); outline: none; } textarea { resize: vertical; line-height: 1.6; } input:focus, textarea:focus, select:focus { border-color: rgba(191, 111, 60, 0.55); box-shadow: 0 0 0 4px rgba(191, 111, 60, 0.12); } .grid-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; } .task-card, .prediction-value, .resolved-list, .event-log { border: 1px solid rgba(23, 79, 67, 0.12); border-radius: 22px; background: rgba(255, 255, 255, 0.45); } .task-card { margin-bottom: 14px; padding: 16px; } .task-card p { margin: 0 0 8px; color: var(--ink); line-height: 1.65; } .task-card small, .prediction-value small { color: var(--muted); } .conversation-panel { min-height: 730px; display: grid; grid-template-rows: auto minmax(420px, 1fr) auto; } .chat-log { min-height: 0; overflow: auto; display: flex; flex-direction: column; gap: 12px; padding: 8px 4px 18px; } .message { max-width: 88%; padding: 14px 16px; border-radius: 20px; border: 1px solid rgba(23, 79, 67, 0.12); background: rgba(255, 255, 255, 0.5); white-space: pre-wrap; line-height: 1.7; animation: rise 180ms ease both; } .message.user { align-self: flex-end; background: rgba(215, 234, 223, 0.86); } .message.assistant { align-self: flex-start; } .message.tool { align-self: flex-start; color: #243a34; background: rgba(237, 197, 109, 0.2); } .message.error { background: rgba(191, 88, 76, 0.12); } .message span { display: block; margin-bottom: 4px; color: var(--copper); font-size: 11px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; } .composer { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; } .prediction-value { padding: 20px; margin-bottom: 14px; } .prediction-value span { color: var(--copper); font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; } .prediction-value strong { display: block; margin: 8px 0; font-size: clamp(32px, 4vw, 52px); letter-spacing: -0.06em; } .resolved-list, .event-log { display: grid; gap: 10px; padding: 14px; margin-top: 14px; } .pill { display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding: 8px 11px; border-radius: 999px; color: var(--moss); background: rgba(23, 79, 67, 0.08); font-size: 13px; font-weight: 700; } .log-item { padding: 12px; border-radius: 16px; color: #344d45; background: rgba(255, 250, 240, 0.66); font-size: 13px; line-height: 1.55; white-space: pre-wrap; } @keyframes rise { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 1180px) { .hero, .workspace { grid-template-columns: 1fr; } .conversation-panel { min-height: 620px; } } @media (max-width: 680px) { .shell { width: min(100vw - 18px, 1500px); padding-top: 9px; } .hero, .panel { border-radius: 24px; padding: 18px; } .grid-two, .metric-row, .composer { grid-template-columns: 1fr; } .message { max-width: 100%; } }