diff --git a/frontend/src/style.css b/frontend/src/style.css index ca086b3..8e72ffe 100644 --- a/frontend/src/style.css +++ b/frontend/src/style.css @@ -1,244 +1,66 @@ :root { - color-scheme: dark; + color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; - background: #090909; - color: #f5f5f5; + background: #f5f1ea; + color: #1b1b1b; } -* { - box-sizing: border-box; -} - -body { - margin: 0; - min-height: 100vh; - background: #090909; -} - -button, -textarea { - font: inherit; -} - -button { - cursor: pointer; -} - -.loading { - min-height: 100vh; - display: grid; - place-items: center; - color: #b8b8b8; -} - -.app-shell { - min-height: 100vh; - display: grid; - grid-template-columns: minmax(260px, 340px) 1fr; -} - -.sidebar { - min-height: 100vh; - border-right: 1px solid #222; - background: #0d0d0d; - padding: 28px; - display: grid; - align-content: start; - gap: 28px; -} - -.eyebrow { - margin: 0 0 10px; - color: #8bd8c6; - font-size: 12px; - letter-spacing: 0; - text-transform: uppercase; -} - -h1, -h2, -h3, -p { - margin-top: 0; -} - -h1 { - margin-bottom: 10px; - font-size: clamp(32px, 5vw, 56px); - line-height: 0.95; - letter-spacing: 0; -} - -h2 { - margin-bottom: 0; - font-size: 30px; - letter-spacing: 0; -} - -h3 { - margin-bottom: 12px; - color: #d7d7d7; - font-size: 14px; - letter-spacing: 0; -} - -.agent-meta { - margin-bottom: 0; - color: #a6a6a6; -} - -.skill-list { - display: grid; - gap: 10px; -} - -.skill { - width: 100%; - min-height: 58px; - border: 1px solid #252525; - border-radius: 8px; - background: #121212; - color: #f3f3f3; - padding: 12px 14px; - display: flex; - align-items: center; - justify-content: space-between; - gap: 16px; - text-align: left; -} - -.skill:hover, -.skill.active { - border-color: #5bb7a7; - background: #15201d; -} - -.skill span { - overflow-wrap: anywhere; -} - -.skill small { - color: #9d9d9d; -} - -.session { - border: 1px solid #252525; - border-radius: 8px; - padding: 14px; - color: #a6a6a6; - display: grid; - gap: 4px; -} - -.session strong { - color: #f3f3f3; - overflow-wrap: anywhere; -} - -.workbench { - padding: 28px; - display: grid; - align-content: start; - gap: 22px; -} - -.toolbar { - display: flex; - align-items: center; - justify-content: space-between; - gap: 18px; -} - -.toolbar a, -.runner button { - border: 1px solid #e8e8e8; - border-radius: 7px; - background: #f4f4f4; - color: #111; - padding: 10px 14px; - text-decoration: none; - white-space: nowrap; -} - -.runner { - display: grid; - gap: 12px; -} - -.runner label { - display: grid; - gap: 10px; - color: #d7d7d7; -} - -.runner textarea { - width: 100%; - min-height: 170px; - resize: vertical; - border: 1px solid #252525; - border-radius: 8px; - background: #070707; - color: #eeeeee; - padding: 14px; - line-height: 1.5; - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; -} - -.runner button { - justify-self: start; -} - -.runner button:disabled { - cursor: wait; - opacity: 0.72; -} - -.panels { - display: grid; - grid-template-columns: repeat(2, minmax(0, 1fr)); - gap: 16px; -} - -.panel { - min-width: 0; - border: 1px solid #252525; - border-radius: 8px; - padding: 16px; - background: #0d0d0d; -} - -pre { - min-height: 260px; - max-height: 420px; - margin: 0; - overflow: auto; - color: #dcdcdc; - line-height: 1.5; - font-size: 13px; - font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; -} - -.empty { - color: #aaa; -} - -@media (max-width: 820px) { - .app-shell { - grid-template-columns: 1fr; - } - - .sidebar { - min-height: auto; - border-right: 0; - border-bottom: 1px solid #222; - } - - .panels { - grid-template-columns: 1fr; - } - - .toolbar { - align-items: flex-start; - flex-direction: column; - } +* { box-sizing: border-box; } +body { margin: 0; min-height: 100vh; background: #f5f1ea; } +button, input, textarea { font: inherit; } +button { cursor: pointer; } + +.loading { min-height: 100vh; display: grid; place-items: center; color: #6f665b; } +.app-shell { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 48px; } +.hero { display: grid; grid-template-columns: 1fr minmax(240px, 320px); gap: 24px; align-items: end; margin-bottom: 24px; } +.eyebrow { margin: 0 0 8px; color: #9a4f18; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; font-weight: 800; } +h1, h2, p { margin-top: 0; } +h1 { max-width: 850px; font-size: clamp(38px, 6vw, 72px); line-height: .92; letter-spacing: -0.06em; margin-bottom: 18px; } +h2 { margin-bottom: 0; font-size: 24px; letter-spacing: -0.03em; } +.lede { max-width: 760px; color: #5f574f; font-size: 18px; line-height: 1.55; margin-bottom: 0; } + +.card { background: #fffdf9; border: 1px solid #e1d5c5; border-radius: 22px; box-shadow: 0 20px 60px rgba(73, 50, 23, .08); padding: 22px; } +.session-card { background: #1d2a24; color: #fff; border-radius: 20px; padding: 20px; display: grid; gap: 8px; } +.session-card span { color: #b9d8ca; } +.session-card strong { overflow-wrap: anywhere; } +.grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 20px; align-items: start; } +.card-title { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 18px; } +.button { border: 0; border-radius: 999px; background: #cf6d21; color: #fff; padding: 11px 16px; font-weight: 800; text-decoration: none; display: inline-flex; justify-content: center; align-items: center; } +.button.secondary { background: #f0e5d8; color: #3a2a1d; } +.button:disabled { opacity: .55; cursor: not-allowed; } + +.workflow { display: grid; gap: 16px; } +label { display: grid; gap: 8px; color: #3d352d; font-weight: 750; } +input, textarea { width: 100%; border: 1px solid #d9cbbb; border-radius: 14px; background: #fffaf4; color: #1b1b1b; padding: 12px 13px; } +textarea { min-height: 260px; resize: vertical; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 13px; line-height: 1.5; } +.weights { border: 1px solid #eadfce; border-radius: 16px; padding: 14px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; } +.weights legend { padding: 0 8px; color: #7a4a24; font-weight: 800; } +.help, .empty, .upload-box small { color: #70665b; line-height: 1.45; } +.upload-box { border: 1px dashed #d7b98d; background: #fff7ec; border-radius: 16px; padding: 16px; display: grid; gap: 8px; } +.notice { border-left: 4px solid #cf6d21; background: #fff4e7; border-radius: 10px; padding: 12px; color: #563615; } +.error { border-left: 4px solid #b42318; background: #fff0ee; border-radius: 10px; padding: 12px; color: #8a1f15; } + +.history ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; } +.history li button { width: 100%; text-align: left; border: 1px solid #eadfce; background: #fffaf4; border-radius: 16px; padding: 13px; display: grid; gap: 5px; } +.history li button:hover { border-color: #cf6d21; } +.history span { color: #70665b; } + +.result { margin-top: 20px; display: grid; gap: 18px; } +.recommendation { border-radius: 18px; padding: 20px; background: linear-gradient(135deg, #1d2a24, #305341); color: #fff; } +.recommendation .eyebrow { color: #b9f2d2; } +.recommendation h2 { font-size: clamp(28px, 5vw, 48px); margin-bottom: 8px; } +.recommendation p { color: #e0f2e9; line-height: 1.5; } +.recommendation small { color: #b9d8ca; } +.table-wrap { overflow-x: auto; } +table { width: 100%; border-collapse: collapse; min-width: 720px; } +th, td { padding: 12px; border-bottom: 1px solid #eadfce; text-align: left; } +th { color: #75502f; font-size: 12px; text-transform: uppercase; letter-spacing: .06em; } +.error-state { border-color: #f1a19a; } +pre { max-height: 260px; overflow: auto; background: #2a211b; color: #fff3e6; border-radius: 14px; padding: 14px; } + +@media (max-width: 860px) { + .hero, .grid { grid-template-columns: 1fr; } + .weights { grid-template-columns: 1fr; } + .card-title { align-items: flex-start; flex-direction: column; } + .button { width: 100%; } }