| | @import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,300;0,14..32,400;0,14..32,500;0,14..32,600;1,14..32,400&family=Fira+Code:wght@400;500&display=swap'); |
| |
|
| | |
| | |
| | |
| | |
| | :root { |
| | |
| | --bg: #F5F1EB; |
| | --bg-card: #FEFCF9; |
| | --bg-hover: #F0EBE3; |
| | --bg-sidebar: #EDE8E0; |
| | --bg-dark: #1C1A17; |
| | |
| |
|
| | --border: #E0D9CF; |
| | --border-mid: #C5BEB3; |
| | --border-strong: #A89E92; |
| |
|
| | --accent: #C9643E; |
| | |
| | --accent-light: #D97F5A; |
| | --accent-soft: rgba(201, 100, 62, 0.10); |
| | --accent-glow: rgba(201, 100, 62, 0.18); |
| |
|
| | --text: #1C1A17; |
| | --text-mid: #64605A; |
| | --text-dim: #9C9690; |
| | --text-inverse: #F5F1EB; |
| |
|
| | --success: #3A7856; |
| | --success-bg: #EAF4EE; |
| | --success-bdr: #B3D9C2; |
| | --fail: #B83030; |
| | --fail-bg: #FDF0EE; |
| | --fail-bdr: #F0C0B8; |
| | --warn: #A67828; |
| |
|
| | |
| | --shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04); |
| | --shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.06), 0 1px 2px rgba(0, 0, 0, 0.04); |
| | --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04); |
| | --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.10), 0 2px 8px rgba(0, 0, 0, 0.05); |
| |
|
| | |
| | --radius-xs: 4px; |
| | --radius: 8px; |
| | --radius-md: 12px; |
| | --radius-lg: 16px; |
| |
|
| | |
| | --ease: cubic-bezier(0.16, 1, 0.3, 1); |
| | --ease-in: cubic-bezier(0.4, 0, 1, 1); |
| | --fast: 120ms; |
| | --mid: 220ms; |
| | --slow: 380ms; |
| | } |
| |
|
| | [data-theme="dark"] { |
| | --bg: #121212; |
| | --bg-card: #1A1A1A; |
| | --bg-hover: #232323; |
| | --bg-sidebar: #161616; |
| | --bg-dark: #0B0B0B; |
| |
|
| | --border: #2B2B2B; |
| | --border-mid: #3A3A3A; |
| | --border-strong: #505050; |
| |
|
| | --accent: #c18a73; |
| | --accent-light: #d4a18b; |
| | --accent-soft: rgba(193, 138, 115, 0.15); |
| | --accent-glow: rgba(193, 138, 115, 0.25); |
| |
|
| | --text: #ECE9E4; |
| | --text-mid: #B4ADA4; |
| | --text-dim: #8A847D; |
| | --text-inverse: #121212; |
| |
|
| | --success: #61b88b; |
| | --success-bg: #133120; |
| | --success-bdr: #2f6e4f; |
| | --fail: #d57777; |
| | --fail-bg: #3f1b1b; |
| | --fail-bdr: #754040; |
| | } |
| |
|
| | |
| | *, |
| | *::before, |
| | *::after { |
| | box-sizing: border-box; |
| | margin: 0; |
| | padding: 0; |
| | } |
| |
|
| | html { |
| | font-size: 15px; |
| | } |
| |
|
| | body { |
| | font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; |
| | background: var(--bg); |
| | color: var(--text); |
| | line-height: 1.6; |
| | -webkit-font-smoothing: antialiased; |
| | -moz-osx-font-smoothing: grayscale; |
| | } |
| |
|
| | |
| | ::-webkit-scrollbar { |
| | width: 5px; |
| | height: 5px; |
| | } |
| |
|
| | ::-webkit-scrollbar-track { |
| | background: transparent; |
| | } |
| |
|
| | ::-webkit-scrollbar-thumb { |
| | background: var(--border-mid); |
| | border-radius: 3px; |
| | transition: background var(--fast); |
| | } |
| |
|
| | ::-webkit-scrollbar-thumb:hover { |
| | background: var(--border-strong); |
| | } |
| |
|
| | |
| | .app-container { |
| | display: flex; |
| | height: 100vh; |
| | overflow: hidden; |
| | } |
| |
|
| | |
| | .app-shell { |
| | display: grid; |
| | grid-template-columns: 260px 1fr; |
| | min-height: 100vh; |
| | background: var(--bg); |
| | color: var(--text); |
| | } |
| |
|
| | .app-sidebar { |
| | background: var(--bg-sidebar); |
| | border-right: 1px solid var(--border); |
| | padding: 0.85rem; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.9rem; |
| | } |
| |
|
| | .app-brand { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.65rem; |
| | padding: 0.5rem; |
| | } |
| |
|
| | .app-brand-logo { |
| | width: 30px; |
| | height: 30px; |
| | border-radius: 8px; |
| | background: var(--accent-soft); |
| | color: var(--accent); |
| | display: grid; |
| | place-items: center; |
| | font-weight: 700; |
| | border: 1px solid var(--border); |
| | } |
| |
|
| | .app-brand-title { |
| | font-size: 0.95rem; |
| | font-weight: 700; |
| | line-height: 1.2; |
| | } |
| |
|
| | .app-brand-sub { |
| | font-size: 0.75rem; |
| | color: var(--text-dim); |
| | } |
| |
|
| | .app-sidebar-group { |
| | padding: 0 0.45rem; |
| | } |
| |
|
| | .app-sidebar-label { |
| | font-size: 0.72rem; |
| | letter-spacing: 0.08em; |
| | text-transform: uppercase; |
| | color: var(--text-dim); |
| | margin-bottom: 0.35rem; |
| | } |
| |
|
| | .app-design-select { |
| | width: 100%; |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | background: var(--bg-card); |
| | color: var(--text); |
| | padding: 0.5rem 0.6rem; |
| | font-family: inherit; |
| | font-size: 0.84rem; |
| | } |
| |
|
| | .app-nav { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.2rem; |
| | margin-top: 0.3rem; |
| | } |
| |
|
| | .app-nav-btn { |
| | width: 100%; |
| | border: none; |
| | border-radius: var(--radius); |
| | background: transparent; |
| | color: var(--text-mid); |
| | display: flex; |
| | align-items: center; |
| | gap: 0.55rem; |
| | padding: 0.5rem 0.6rem; |
| | font-size: 0.85rem; |
| | cursor: pointer; |
| | text-align: left; |
| | } |
| |
|
| | .app-nav-btn:hover { |
| | background: var(--bg-hover); |
| | color: var(--text); |
| | } |
| |
|
| | .app-nav-btn.active { |
| | background: var(--accent-soft); |
| | color: var(--accent); |
| | font-weight: 600; |
| | border: 1px solid var(--border); |
| | } |
| |
|
| | .app-sidebar-footer { |
| | margin-top: auto; |
| | padding: 0.5rem; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.5rem; |
| | } |
| |
|
| | .theme-toggle { |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | background: var(--bg-card); |
| | color: var(--text-mid); |
| | padding: 0.45rem 0.55rem; |
| | font-size: 0.8rem; |
| | cursor: pointer; |
| | } |
| |
|
| | .theme-toggle:hover { |
| | color: var(--text); |
| | border-color: var(--border-strong); |
| | } |
| |
|
| | .app-version { |
| | font-size: 0.72rem; |
| | color: var(--text-dim); |
| | text-align: center; |
| | } |
| |
|
| | .app-main { |
| | min-width: 0; |
| | display: flex; |
| | flex-direction: column; |
| | } |
| |
|
| | .app-topbar { |
| | height: 56px; |
| | border-bottom: 1px solid var(--border); |
| | background: color-mix(in srgb, var(--bg-card) 90%, transparent); |
| | display: flex; |
| | align-items: center; |
| | justify-content: space-between; |
| | padding: 0 1rem 0 1.25rem; |
| | } |
| |
|
| | .app-topbar h1 { |
| | font-size: 1rem; |
| | font-weight: 650; |
| | } |
| |
|
| | .app-topbar-meta { |
| | color: var(--text-dim); |
| | font-size: 0.8rem; |
| | } |
| |
|
| | .app-content { |
| | padding: 0; |
| | min-height: calc(100vh - 56px); |
| | } |
| |
|
| | .home-overview { |
| | padding: 1.5rem; |
| | max-width: 1080px; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 1.5rem; |
| | } |
| |
|
| | .home-hero { |
| | background: linear-gradient(135deg, var(--accent-soft) 0%, var(--bg-card) 50%, var(--success-bg) 100%); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-lg); |
| | padding: 2.5rem 2rem 2rem; |
| | text-align: center; |
| | position: relative; |
| | overflow: hidden; |
| | } |
| |
|
| | .home-hero::before { |
| | content: ''; |
| | position: absolute; |
| | top: -50%; |
| | right: -30%; |
| | width: 300px; |
| | height: 300px; |
| | border-radius: 50%; |
| | background: var(--accent-glow); |
| | filter: blur(80px); |
| | pointer-events: none; |
| | } |
| |
|
| | .home-hero-badge { |
| | display: inline-block; |
| | background: var(--accent); |
| | color: var(--text-inverse); |
| | font-size: 0.72rem; |
| | font-weight: 600; |
| | letter-spacing: 0.1em; |
| | text-transform: uppercase; |
| | padding: 0.25rem 0.75rem; |
| | border-radius: 100px; |
| | margin-bottom: 0.75rem; |
| | } |
| |
|
| | .home-hero-title { |
| | font-size: 1.6rem; |
| | font-weight: 700; |
| | line-height: 1.25; |
| | margin-bottom: 0.6rem; |
| | position: relative; |
| | } |
| |
|
| | .home-hero-desc { |
| | color: var(--text-mid); |
| | font-size: 0.88rem; |
| | line-height: 1.65; |
| | max-width: 600px; |
| | margin: 0 auto; |
| | position: relative; |
| | } |
| |
|
| | .home-card { |
| | border: 1px solid var(--border); |
| | background: var(--bg-card); |
| | border-radius: var(--radius-md); |
| | padding: 1rem; |
| | box-shadow: var(--shadow-xs); |
| | } |
| |
|
| | .home-card h3 { |
| | margin-bottom: 0.35rem; |
| | } |
| |
|
| | .home-card p { |
| | color: var(--text-mid); |
| | } |
| |
|
| | .home-card-grid { |
| | display: grid; |
| | grid-template-columns: repeat(4, minmax(0, 1fr)); |
| | gap: 0.8rem; |
| | } |
| |
|
| | .home-kpi { |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | background: var(--bg-card); |
| | padding: 1rem 0.8rem; |
| | font-size: 1.35rem; |
| | font-weight: 700; |
| | text-align: center; |
| | color: var(--accent); |
| | transition: transform var(--fast), box-shadow var(--fast); |
| | } |
| |
|
| | .home-kpi:hover { |
| | transform: translateY(-2px); |
| | box-shadow: var(--shadow-sm); |
| | } |
| |
|
| | .home-kpi span { |
| | display: block; |
| | font-size: 0.72rem; |
| | color: var(--text-dim); |
| | margin-top: 0.3rem; |
| | font-weight: 500; |
| | letter-spacing: 0.03em; |
| | text-transform: uppercase; |
| | } |
| |
|
| | .home-section { |
| | border: 1px solid var(--border); |
| | background: var(--bg-card); |
| | border-radius: var(--radius-md); |
| | padding: 1.25rem; |
| | box-shadow: var(--shadow-xs); |
| | } |
| |
|
| | .home-section-title { |
| | font-size: 0.92rem; |
| | font-weight: 650; |
| | margin-bottom: 1rem; |
| | color: var(--text); |
| | letter-spacing: -0.01em; |
| | } |
| |
|
| | |
| | .home-agent-grid { |
| | display: grid; |
| | grid-template-columns: repeat(3, 1fr); |
| | gap: 0.65rem; |
| | } |
| |
|
| | .agent-card { |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | padding: 0.85rem; |
| | background: var(--bg); |
| | transition: all var(--fast); |
| | } |
| |
|
| | .agent-card:hover { |
| | border-color: var(--accent); |
| | background: var(--accent-soft); |
| | transform: translateY(-1px); |
| | } |
| |
|
| | .agent-icon { |
| | font-size: 1.3rem; |
| | margin-bottom: 0.3rem; |
| | } |
| |
|
| | .agent-name { |
| | font-size: 0.8rem; |
| | font-weight: 600; |
| | margin-bottom: 0.15rem; |
| | } |
| |
|
| | .agent-desc { |
| | font-size: 0.72rem; |
| | color: var(--text-dim); |
| | line-height: 1.4; |
| | } |
| |
|
| | |
| | .pipeline-flow { |
| | display: flex; |
| | flex-wrap: wrap; |
| | gap: 0; |
| | align-items: flex-start; |
| | } |
| |
|
| | .pipeline-stage { |
| | display: flex; |
| | flex-direction: column; |
| | align-items: center; |
| | padding: 0.4rem 0.2rem; |
| | flex: 1; |
| | min-width: 80px; |
| | position: relative; |
| | } |
| |
|
| | .pipeline-stage-icon { |
| | font-size: 1.2rem; |
| | margin-bottom: 0.25rem; |
| | } |
| |
|
| | .pipeline-stage-label { |
| | font-size: 0.68rem; |
| | font-weight: 650; |
| | letter-spacing: 0.02em; |
| | } |
| |
|
| | .pipeline-stage-sub { |
| | font-size: 0.62rem; |
| | color: var(--text-dim); |
| | margin-top: 0.1rem; |
| | } |
| |
|
| | .pipeline-arrow { |
| | position: absolute; |
| | right: -8px; |
| | top: 50%; |
| | transform: translateY(-50%); |
| | color: var(--border-mid); |
| | font-size: 0.85rem; |
| | font-weight: 300; |
| | } |
| |
|
| | |
| | .home-quickstart { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.6rem; |
| | margin-bottom: 1rem; |
| | } |
| |
|
| | .quickstart-step { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.75rem; |
| | font-size: 0.85rem; |
| | color: var(--text-mid); |
| | } |
| |
|
| | .quickstart-num { |
| | width: 24px; |
| | height: 24px; |
| | border-radius: 50%; |
| | background: var(--accent-soft); |
| | color: var(--accent); |
| | font-weight: 700; |
| | font-size: 0.75rem; |
| | display: grid; |
| | place-items: center; |
| | flex-shrink: 0; |
| | } |
| |
|
| | .home-cta { |
| | margin-top: 0.5rem; |
| | } |
| |
|
| | |
| | .adoc-root { |
| | min-height: calc(100vh - 56px); |
| | background: var(--bg); |
| | } |
| |
|
| | |
| | .adoc-hero { |
| | background: linear-gradient(135deg, var(--bg-card) 0%, var(--bg) 100%); |
| | border-bottom: 1px solid var(--border); |
| | padding: 2.5rem 2rem 2rem; |
| | } |
| |
|
| | .adoc-hero-inner { |
| | max-width: 900px; |
| | } |
| |
|
| | .adoc-hero-badge { |
| | display: inline-block; |
| | font-size: 0.68rem; |
| | font-weight: 700; |
| | letter-spacing: 0.12em; |
| | text-transform: uppercase; |
| | color: var(--accent); |
| | background: var(--accent-soft); |
| | border: 1px solid var(--accent); |
| | border-radius: 4px; |
| | padding: 0.18rem 0.55rem; |
| | margin-bottom: 0.65rem; |
| | } |
| |
|
| | .adoc-hero-title { |
| | font-size: 1.75rem; |
| | font-weight: 700; |
| | letter-spacing: -0.025em; |
| | color: var(--text); |
| | margin-bottom: 0.35rem; |
| | } |
| |
|
| | .adoc-hero-sub { |
| | color: var(--text-mid); |
| | font-size: 0.9rem; |
| | line-height: 1.6; |
| | max-width: 680px; |
| | margin-bottom: 0.65rem; |
| | } |
| |
|
| | .adoc-hero-stats { |
| | font-size: 0.78rem; |
| | color: var(--text-dim); |
| | display: flex; |
| | align-items: center; |
| | gap: 0.5rem; |
| | } |
| |
|
| | .adoc-hero-dot { |
| | color: var(--border-strong); |
| | } |
| |
|
| | |
| | .adoc-tabs { |
| | display: flex; |
| | gap: 0; |
| | border-bottom: 1px solid var(--border); |
| | background: var(--bg-card); |
| | padding: 0 1.5rem; |
| | position: sticky; |
| | top: 0; |
| | z-index: 10; |
| | } |
| |
|
| | .adoc-tab { |
| | border: none; |
| | background: transparent; |
| | color: var(--text-mid); |
| | font-family: inherit; |
| | font-size: 0.82rem; |
| | font-weight: 500; |
| | padding: 0.7rem 1.1rem; |
| | cursor: pointer; |
| | display: flex; |
| | align-items: center; |
| | gap: 0.4rem; |
| | border-bottom: 2px solid transparent; |
| | margin-bottom: -1px; |
| | transition: color var(--fast), border-color var(--fast); |
| | } |
| |
|
| | .adoc-tab:hover { |
| | color: var(--text); |
| | } |
| |
|
| | .adoc-tab.active { |
| | color: var(--accent); |
| | border-bottom-color: var(--accent); |
| | font-weight: 600; |
| | } |
| |
|
| | .adoc-tab-icon { |
| | font-size: 0.88rem; |
| | } |
| |
|
| | |
| | .adoc-section { |
| | padding: 1.5rem 2rem; |
| | max-width: 1100px; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 1.25rem; |
| | } |
| |
|
| | |
| | .adoc-paper-card { |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-md); |
| | padding: 1.5rem 1.75rem; |
| | box-shadow: var(--shadow-sm); |
| | } |
| |
|
| | .adoc-paper-card h2 { |
| | font-size: 1.08rem; |
| | font-weight: 700; |
| | color: var(--text); |
| | margin-bottom: 0.5rem; |
| | padding-bottom: 0.4rem; |
| | border-bottom: 1px solid var(--border); |
| | } |
| |
|
| | .adoc-paper-card h3 { |
| | font-size: 0.92rem; |
| | font-weight: 650; |
| | color: var(--text); |
| | margin-bottom: 0.4rem; |
| | } |
| |
|
| | .adoc-paper-card p { |
| | color: var(--text-mid); |
| | font-size: 0.86rem; |
| | line-height: 1.7; |
| | margin-bottom: 0.5rem; |
| | } |
| |
|
| | .adoc-full-width { |
| | max-width: 100%; |
| | } |
| |
|
| | .adoc-meta-text { |
| | color: var(--text-dim); |
| | font-size: 0.82rem; |
| | line-height: 1.6; |
| | margin-bottom: 0.7rem; |
| | } |
| |
|
| | |
| | .adoc-abstract { |
| | border-left: 3px solid var(--accent); |
| | } |
| |
|
| | |
| | .adoc-cap-grid { |
| | display: grid; |
| | grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); |
| | gap: 0.8rem; |
| | margin-top: 0.4rem; |
| | } |
| |
|
| | .adoc-cap-item { |
| | display: flex; |
| | gap: 0.75rem; |
| | align-items: flex-start; |
| | padding: 0.65rem; |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | background: var(--bg); |
| | transition: border-color var(--fast); |
| | } |
| |
|
| | .adoc-cap-item:hover { |
| | border-color: var(--border-strong); |
| | } |
| |
|
| | .adoc-cap-icon { |
| | font-size: 1.15rem; |
| | flex-shrink: 0; |
| | margin-top: 0.15rem; |
| | } |
| |
|
| | .adoc-cap-item strong { |
| | display: block; |
| | font-size: 0.82rem; |
| | color: var(--text); |
| | margin-bottom: 0.15rem; |
| | } |
| |
|
| | .adoc-cap-item p { |
| | font-size: 0.78rem; |
| | color: var(--text-dim); |
| | margin: 0; |
| | line-height: 1.55; |
| | } |
| |
|
| | |
| | .adoc-table-wrap { |
| | overflow-x: auto; |
| | border-radius: var(--radius); |
| | border: 1px solid var(--border); |
| | margin-top: 0.5rem; |
| | } |
| |
|
| | .adoc-table { |
| | width: 100%; |
| | border-collapse: collapse; |
| | font-size: 0.82rem; |
| | } |
| |
|
| | .adoc-table thead { |
| | background: var(--bg); |
| | } |
| |
|
| | .adoc-table th { |
| | padding: 0.55rem 0.75rem; |
| | text-align: left; |
| | font-weight: 650; |
| | color: var(--text-mid); |
| | font-size: 0.74rem; |
| | letter-spacing: 0.04em; |
| | text-transform: uppercase; |
| | border-bottom: 1px solid var(--border); |
| | white-space: nowrap; |
| | } |
| |
|
| | .adoc-table td { |
| | padding: 0.5rem 0.75rem; |
| | border-bottom: 1px solid var(--border); |
| | color: var(--text); |
| | vertical-align: top; |
| | line-height: 1.55; |
| | } |
| |
|
| | .adoc-table tr:last-child td { |
| | border-bottom: none; |
| | } |
| |
|
| | .adoc-table tr:hover td { |
| | background: var(--bg-hover); |
| | } |
| |
|
| | .adoc-table code { |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.78rem; |
| | background: var(--bg); |
| | padding: 0.1rem 0.35rem; |
| | border-radius: 3px; |
| | border: 1px solid var(--border); |
| | } |
| |
|
| | |
| | .adoc-pipeline-list { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0; |
| | margin-top: 0.5rem; |
| | } |
| |
|
| | .adoc-pipeline-stage { |
| | display: grid; |
| | grid-template-columns: 28px 12px 1fr; |
| | gap: 0.5rem; |
| | align-items: start; |
| | padding: 0.65rem 0; |
| | } |
| |
|
| | .adoc-stage-num { |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.72rem; |
| | font-weight: 700; |
| | color: var(--accent); |
| | text-align: right; |
| | padding-top: 0.15rem; |
| | } |
| |
|
| | .adoc-stage-connector { |
| | width: 2px; |
| | height: 100%; |
| | min-height: 32px; |
| | background: var(--border); |
| | margin: 0 auto; |
| | border-radius: 1px; |
| | } |
| |
|
| | .adoc-stage-body { |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | padding: 0.6rem 0.85rem; |
| | background: var(--bg); |
| | transition: border-color var(--fast), box-shadow var(--fast); |
| | } |
| |
|
| | .adoc-stage-body:hover { |
| | border-color: var(--border-strong); |
| | box-shadow: var(--shadow-xs); |
| | } |
| |
|
| | .adoc-stage-header { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.45rem; |
| | margin-bottom: 0.25rem; |
| | } |
| |
|
| | .adoc-stage-header strong { |
| | font-size: 0.84rem; |
| | color: var(--text); |
| | } |
| |
|
| | .adoc-stage-icon { |
| | font-size: 0.9rem; |
| | } |
| |
|
| | .adoc-stage-key { |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.68rem; |
| | background: var(--accent-soft); |
| | color: var(--accent); |
| | padding: 0.1rem 0.4rem; |
| | border-radius: 3px; |
| | border: 1px solid rgba(201, 100, 62, 0.2); |
| | margin-left: auto; |
| | } |
| |
|
| | .adoc-stage-desc { |
| | font-size: 0.78rem; |
| | color: var(--text-dim); |
| | line-height: 1.55; |
| | margin: 0; |
| | } |
| |
|
| | |
| | .adoc-flow-diagram { |
| | display: flex; |
| | flex-wrap: wrap; |
| | gap: 0.2rem; |
| | align-items: center; |
| | padding: 1rem 0; |
| | } |
| |
|
| | .adoc-flow-node { |
| | display: inline-flex; |
| | align-items: center; |
| | gap: 0.3rem; |
| | } |
| |
|
| | .adoc-flow-badge { |
| | font-size: 0.82rem; |
| | } |
| |
|
| | .adoc-flow-label { |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.68rem; |
| | color: var(--text); |
| | background: var(--bg); |
| | border: 1px solid var(--border); |
| | border-radius: 4px; |
| | padding: 0.15rem 0.4rem; |
| | } |
| |
|
| | .adoc-flow-arrow { |
| | color: var(--text-dim); |
| | font-size: 0.78rem; |
| | margin: 0 0.15rem; |
| | } |
| |
|
| | |
| | .adoc-config-header { |
| | display: flex; |
| | align-items: center; |
| | justify-content: space-between; |
| | gap: 1rem; |
| | padding: 1.5rem 2rem 0.5rem; |
| | max-width: 1100px; |
| | } |
| |
|
| | .adoc-config-header h2 { |
| | font-size: 1.1rem; |
| | font-weight: 700; |
| | margin: 0; |
| | } |
| |
|
| | .adoc-search { |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | background: var(--bg-card); |
| | color: var(--text); |
| | padding: 0.45rem 0.75rem; |
| | font-family: inherit; |
| | font-size: 0.82rem; |
| | width: 260px; |
| | outline: none; |
| | transition: border-color var(--fast), box-shadow var(--fast); |
| | } |
| |
|
| | .adoc-search:focus { |
| | border-color: var(--accent); |
| | box-shadow: 0 0 0 3px var(--accent-glow); |
| | } |
| |
|
| | .adoc-config-group { |
| | margin: 0 2rem; |
| | max-width: calc(1100px - 4rem); |
| | } |
| |
|
| | .adoc-config-group + .adoc-config-group { |
| | margin-top: 1rem; |
| | } |
| |
|
| | .adoc-config-group:last-child { |
| | margin-bottom: 2rem; |
| | } |
| |
|
| | .adoc-config-group-title { |
| | font-size: 0.9rem; |
| | font-weight: 700; |
| | color: var(--accent); |
| | text-transform: uppercase; |
| | letter-spacing: 0.08em; |
| | margin-bottom: 0.6rem; |
| | padding-bottom: 0.3rem; |
| | border-bottom: 1px solid var(--border); |
| | } |
| |
|
| | .adoc-config-table td { |
| | font-size: 0.8rem; |
| | } |
| |
|
| | .adoc-param-key { |
| | font-family: 'Fira Code', monospace; |
| | font-weight: 600; |
| | color: var(--text) !important; |
| | background: transparent !important; |
| | border: none !important; |
| | padding: 0 !important; |
| | } |
| |
|
| | .adoc-type-badge { |
| | font-size: 0.7rem; |
| | font-weight: 600; |
| | color: var(--accent); |
| | background: var(--accent-soft); |
| | padding: 0.12rem 0.4rem; |
| | border-radius: 3px; |
| | white-space: nowrap; |
| | } |
| |
|
| | .adoc-enum-val { |
| | display: inline-block; |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.72rem; |
| | background: var(--bg); |
| | border: 1px solid var(--border); |
| | border-radius: 3px; |
| | padding: 0.08rem 0.3rem; |
| | margin-right: 0.25rem; |
| | margin-bottom: 0.15rem; |
| | } |
| |
|
| | |
| | .adoc-docs-layout { |
| | display: grid; |
| | grid-template-columns: 240px 1fr 200px; |
| | min-height: calc(100vh - 200px); |
| | gap: 0; |
| | } |
| |
|
| | .adoc-docs-nav { |
| | border-right: 1px solid var(--border); |
| | background: var(--bg-card); |
| | padding: 1rem 0.75rem; |
| | overflow-y: auto; |
| | } |
| |
|
| | .adoc-docs-nav-title { |
| | font-size: 0.78rem; |
| | font-weight: 700; |
| | text-transform: uppercase; |
| | letter-spacing: 0.1em; |
| | color: var(--text-dim); |
| | margin-bottom: 0.8rem; |
| | padding-left: 0.35rem; |
| | } |
| |
|
| | .adoc-docs-group { |
| | margin-bottom: 1rem; |
| | } |
| |
|
| | .adoc-docs-section-label { |
| | font-size: 0.7rem; |
| | font-weight: 700; |
| | color: var(--accent); |
| | text-transform: uppercase; |
| | letter-spacing: 0.08em; |
| | padding: 0.2rem 0.35rem; |
| | margin-bottom: 0.25rem; |
| | } |
| |
|
| | .adoc-docs-link { |
| | display: block; |
| | width: 100%; |
| | text-align: left; |
| | border: 1px solid transparent; |
| | border-radius: var(--radius); |
| | background: transparent; |
| | padding: 0.45rem 0.5rem; |
| | cursor: pointer; |
| | transition: all var(--fast); |
| | margin-bottom: 0.15rem; |
| | } |
| |
|
| | .adoc-docs-link:hover { |
| | background: var(--bg-hover); |
| | border-color: var(--border); |
| | } |
| |
|
| | .adoc-docs-link.active { |
| | background: var(--accent-soft); |
| | border-color: var(--accent); |
| | } |
| |
|
| | .adoc-docs-link-title { |
| | font-size: 0.8rem; |
| | font-weight: 600; |
| | color: var(--text); |
| | } |
| |
|
| | .adoc-docs-link.active .adoc-docs-link-title { |
| | color: var(--accent); |
| | } |
| |
|
| | .adoc-docs-link-sub { |
| | display: block; |
| | font-size: 0.7rem; |
| | color: var(--text-dim); |
| | margin-top: 0.1rem; |
| | line-height: 1.4; |
| | } |
| |
|
| | .adoc-docs-content { |
| | padding: 1.75rem 2.5rem 3rem; |
| | overflow-y: auto; |
| | background: var(--bg); |
| | } |
| |
|
| | .adoc-loading { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.6rem; |
| | color: var(--text-mid); |
| | padding: 2rem 0; |
| | font-size: 0.85rem; |
| | } |
| |
|
| | |
| | .adoc-toc { |
| | border-left: 1px solid var(--border); |
| | background: var(--bg-card); |
| | padding: 1rem 0.5rem; |
| | overflow-y: auto; |
| | position: sticky; |
| | top: 44px; |
| | max-height: calc(100vh - 200px); |
| | } |
| |
|
| | .adoc-toc-title { |
| | font-size: 0.7rem; |
| | font-weight: 700; |
| | text-transform: uppercase; |
| | letter-spacing: 0.1em; |
| | color: var(--text-dim); |
| | margin-bottom: 0.7rem; |
| | padding-left: 0.5rem; |
| | } |
| |
|
| | .adoc-toc-link { |
| | display: block; |
| | width: 100%; |
| | text-align: left; |
| | border: none; |
| | background: transparent; |
| | font-family: inherit; |
| | font-size: 0.72rem; |
| | color: var(--text-dim); |
| | padding: 0.22rem 0.5rem; |
| | cursor: pointer; |
| | border-radius: 3px; |
| | transition: color var(--fast), background var(--fast); |
| | line-height: 1.4; |
| | } |
| |
|
| | .adoc-toc-link:hover { |
| | color: var(--text); |
| | background: var(--bg-hover); |
| | } |
| |
|
| | |
| | .adoc-prose { |
| | font-size: 0.88rem; |
| | line-height: 1.75; |
| | color: var(--text); |
| | max-width: 760px; |
| | } |
| |
|
| | .adoc-prose h1 { |
| | font-size: 1.6rem; |
| | font-weight: 700; |
| | letter-spacing: -0.02em; |
| | margin-top: 2rem; |
| | margin-bottom: 0.6rem; |
| | padding-bottom: 0.4rem; |
| | border-bottom: 2px solid var(--border); |
| | color: var(--text); |
| | } |
| |
|
| | .adoc-prose h2 { |
| | font-size: 1.2rem; |
| | font-weight: 700; |
| | color: var(--text); |
| | margin-top: 1.75rem; |
| | margin-bottom: 0.5rem; |
| | padding-bottom: 0.3rem; |
| | border-bottom: 1px solid var(--border); |
| | } |
| |
|
| | .adoc-prose h3 { |
| | font-size: 1rem; |
| | font-weight: 650; |
| | color: var(--text); |
| | margin-top: 1.35rem; |
| | margin-bottom: 0.35rem; |
| | } |
| |
|
| | .adoc-prose h4 { |
| | font-size: 0.88rem; |
| | font-weight: 650; |
| | color: var(--text-mid); |
| | margin-top: 1rem; |
| | margin-bottom: 0.3rem; |
| | } |
| |
|
| | .adoc-prose p { |
| | margin-bottom: 0.75rem; |
| | color: var(--text); |
| | } |
| |
|
| | .adoc-prose ul, |
| | .adoc-prose ol { |
| | margin-bottom: 0.75rem; |
| | padding-left: 1.6rem; |
| | } |
| |
|
| | .adoc-prose li { |
| | margin-bottom: 0.3rem; |
| | } |
| |
|
| | .adoc-prose li::marker { |
| | color: var(--text-dim); |
| | } |
| |
|
| | .adoc-prose strong { |
| | font-weight: 650; |
| | color: var(--text); |
| | } |
| |
|
| | .adoc-prose em { |
| | font-style: italic; |
| | } |
| |
|
| | .adoc-prose a { |
| | color: var(--accent); |
| | text-decoration: none; |
| | border-bottom: 1px solid var(--accent-soft); |
| | transition: border-color var(--fast); |
| | } |
| |
|
| | .adoc-prose a:hover { |
| | border-color: var(--accent); |
| | } |
| |
|
| | .adoc-prose blockquote { |
| | border-left: 3px solid var(--accent); |
| | margin: 0.75rem 0; |
| | padding: 0.5rem 1rem; |
| | background: var(--accent-soft); |
| | border-radius: 0 var(--radius) var(--radius) 0; |
| | color: var(--text); |
| | } |
| |
|
| | .adoc-prose blockquote p { |
| | margin-bottom: 0; |
| | } |
| |
|
| | .adoc-prose pre { |
| | background: var(--bg-dark); |
| | color: #d0ccc6; |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | padding: 0.85rem 1rem; |
| | overflow-x: auto; |
| | margin-bottom: 0.85rem; |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.8rem; |
| | line-height: 1.55; |
| | } |
| |
|
| | .adoc-prose code { |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.82em; |
| | } |
| |
|
| | .adoc-prose :not(pre) > code { |
| | background: var(--bg); |
| | border: 1px solid var(--border); |
| | border-radius: 3px; |
| | padding: 0.12rem 0.3rem; |
| | color: var(--accent); |
| | } |
| |
|
| | .adoc-prose table { |
| | width: 100%; |
| | border-collapse: collapse; |
| | margin-bottom: 0.85rem; |
| | font-size: 0.82rem; |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | overflow: hidden; |
| | } |
| |
|
| | .adoc-prose thead { |
| | background: var(--bg); |
| | } |
| |
|
| | .adoc-prose th { |
| | padding: 0.5rem 0.65rem; |
| | text-align: left; |
| | font-weight: 650; |
| | color: var(--text-mid); |
| | border-bottom: 1px solid var(--border); |
| | font-size: 0.78rem; |
| | } |
| |
|
| | .adoc-prose td { |
| | padding: 0.45rem 0.65rem; |
| | border-bottom: 1px solid var(--border); |
| | color: var(--text); |
| | } |
| |
|
| | .adoc-prose tr:last-child td { |
| | border-bottom: none; |
| | } |
| |
|
| | .adoc-prose tr:hover td { |
| | background: var(--bg-hover); |
| | } |
| |
|
| | .adoc-prose hr { |
| | border: none; |
| | border-top: 1px solid var(--border); |
| | margin: 1.5rem 0; |
| | } |
| |
|
| | .adoc-prose img { |
| | max-width: 100%; |
| | border-radius: var(--radius); |
| | border: 1px solid var(--border); |
| | } |
| |
|
| | |
| | @media (max-width: 1280px) { |
| | .adoc-toc { |
| | display: none; |
| | } |
| |
|
| | .adoc-docs-layout { |
| | grid-template-columns: 220px 1fr; |
| | } |
| | } |
| |
|
| | @media (max-width: 960px) { |
| | .adoc-docs-layout { |
| | grid-template-columns: 1fr; |
| | } |
| |
|
| | .adoc-docs-nav { |
| | border-right: none; |
| | border-bottom: 1px solid var(--border); |
| | max-height: 200px; |
| | } |
| |
|
| | .adoc-hero { |
| | padding: 1.5rem 1rem; |
| | } |
| |
|
| | .adoc-section { |
| | padding: 1rem; |
| | } |
| |
|
| | .adoc-cap-grid { |
| | grid-template-columns: 1fr; |
| | } |
| |
|
| | .adoc-config-header { |
| | flex-direction: column; |
| | align-items: flex-start; |
| | padding: 1rem 1rem 0.5rem; |
| | } |
| |
|
| | .adoc-search { |
| | width: 100%; |
| | } |
| |
|
| | .adoc-config-group { |
| | margin: 0 1rem; |
| | } |
| | } |
| |
|
| | |
| |
|
| | |
| | .adoc-overview-grid { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 1.25rem; |
| | } |
| |
|
| | @media (max-width: 960px) { |
| | .app-shell { |
| | grid-template-columns: 1fr; |
| | } |
| |
|
| | .app-sidebar { |
| | border-right: none; |
| | border-bottom: 1px solid var(--border); |
| | } |
| |
|
| | .docs-layout { |
| | grid-template-columns: 1fr; |
| | } |
| |
|
| | .docs-sidebar { |
| | max-height: 220px; |
| | } |
| |
|
| | .home-card-grid { |
| | grid-template-columns: repeat(2, 1fr); |
| | } |
| |
|
| | .home-agent-grid { |
| | grid-template-columns: repeat(2, 1fr); |
| | } |
| |
|
| | .pipeline-flow { |
| | justify-content: center; |
| | } |
| |
|
| | .pipeline-arrow { |
| | display: none; |
| | } |
| | } |
| |
|
| | |
| | .sidebar { |
| | width: 216px; |
| | min-width: 216px; |
| | background: var(--bg-sidebar); |
| | border-right: 1px solid var(--border); |
| | display: flex; |
| | flex-direction: column; |
| | padding: 1.25rem 0.625rem; |
| | gap: 2px; |
| | overflow-y: auto; |
| | } |
| |
|
| | .sidebar h2 { |
| | font-size: 0.8rem; |
| | font-weight: 700; |
| | letter-spacing: 0.1em; |
| | text-transform: uppercase; |
| | color: var(--text-dim); |
| | padding: 0 0.625rem 0.9rem; |
| | border-bottom: 1px solid var(--border); |
| | margin-bottom: 0.4rem; |
| | } |
| |
|
| | .sidebar button { |
| | display: flex; |
| | align-items: center; |
| | gap: 8px; |
| | width: 100%; |
| | background: transparent; |
| | border: none; |
| | border-radius: var(--radius); |
| | color: var(--text-mid); |
| | font-family: inherit; |
| | font-size: 0.85rem; |
| | font-weight: 500; |
| | padding: 0.5rem 0.75rem; |
| | cursor: pointer; |
| | transition: background var(--fast) var(--ease), |
| | color var(--fast) var(--ease); |
| | text-align: left; |
| | } |
| |
|
| | .sidebar button:hover { |
| | background: var(--border); |
| | color: var(--text); |
| | } |
| |
|
| | .sidebar button.active { |
| | background: var(--accent-soft); |
| | color: var(--accent); |
| | font-weight: 600; |
| | } |
| |
|
| | .main-content { |
| | flex: 1; |
| | overflow-y: auto; |
| | overflow-x: hidden; |
| | } |
| |
|
| | |
| | .sci-fi-card { |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-md); |
| | padding: 1.35rem; |
| | box-shadow: var(--shadow-sm); |
| | transition: box-shadow var(--mid) var(--ease); |
| | } |
| |
|
| | .sci-fi-card:hover { |
| | box-shadow: var(--shadow-md); |
| | } |
| |
|
| | |
| | .section-heading { |
| | font-size: 0.7rem; |
| | font-weight: 700; |
| | letter-spacing: 0.12em; |
| | text-transform: uppercase; |
| | color: var(--text-dim); |
| | margin-bottom: 0.8rem; |
| | } |
| |
|
| | .app-title { |
| | font-size: 1.35rem; |
| | font-weight: 650; |
| | color: var(--text); |
| | margin-bottom: 0.3rem; |
| | } |
| |
|
| | .app-subtitle { |
| | color: var(--text-mid); |
| | font-size: 0.88rem; |
| | margin-bottom: 0.7rem; |
| | } |
| |
|
| | .enterprise-table { |
| | width: 100%; |
| | border-collapse: collapse; |
| | text-align: left; |
| | } |
| |
|
| | .enterprise-table thead tr { |
| | border-bottom: 1px solid var(--border); |
| | } |
| |
|
| | .enterprise-table th, |
| | .enterprise-table td { |
| | padding: 0.62rem; |
| | border-bottom: 1px solid var(--border); |
| | font-size: 0.86rem; |
| | } |
| |
|
| | .enterprise-table th { |
| | color: var(--text-mid); |
| | font-weight: 600; |
| | } |
| |
|
| | .enterprise-table td { |
| | color: var(--text); |
| | } |
| |
|
| | |
| | .grid-4 { |
| | display: grid; |
| | grid-template-columns: repeat(4, 1fr); |
| | gap: 1rem; |
| | margin-bottom: 1.5rem; |
| | } |
| |
|
| | .grid-2 { |
| | display: grid; |
| | grid-template-columns: 1fr 2fr; |
| | gap: 1.25rem; |
| | } |
| |
|
| | .page-container { |
| | padding: 2rem; |
| | max-width: 1200px; |
| | } |
| |
|
| | |
| | .btn-primary { |
| | background: var(--accent); |
| | color: #fff; |
| | border: none; |
| | border-radius: var(--radius); |
| | padding: 0.5rem 1.1rem; |
| | font-family: inherit; |
| | font-size: 0.875rem; |
| | font-weight: 600; |
| | cursor: pointer; |
| | transition: opacity var(--fast), transform var(--fast); |
| | } |
| |
|
| | .btn-primary:hover { |
| | opacity: 0.87; |
| | } |
| |
|
| | .btn-primary:active { |
| | transform: scale(0.98); |
| | } |
| |
|
| | |
| | .landing-container { |
| | display: flex; |
| | flex-direction: column; |
| | align-items: center; |
| | justify-content: center; |
| | height: 100vh; |
| | text-align: center; |
| | padding: 2rem; |
| | } |
| |
|
| | .landing-title { |
| | font-size: 2.6rem; |
| | font-weight: 600; |
| | letter-spacing: -0.03em; |
| | color: var(--text); |
| | margin-bottom: 0.5rem; |
| | } |
| |
|
| | .landing-subtitle { |
| | font-size: 1rem; |
| | color: var(--text-mid); |
| | margin-bottom: 2rem; |
| | } |
| |
|
| | .chip-canvas-container { |
| | width: 600px; |
| | height: 380px; |
| | } |
| |
|
| | |
| | |
| | |
| | .studio-root { |
| | height: 100vh; |
| | overflow-y: auto; |
| | background: var(--bg); |
| | animation: fadeIn var(--slow) var(--ease); |
| | } |
| |
|
| | @keyframes fadeIn { |
| | from { |
| | opacity: 0; |
| | transform: translateY(8px); |
| | } |
| |
|
| | to { |
| | opacity: 1; |
| | transform: translateY(0); |
| | } |
| | } |
| |
|
| | .prompt-screen { |
| | min-height: 100vh; |
| | display: flex; |
| | flex-direction: column; |
| | align-items: center; |
| | justify-content: center; |
| | padding: 2.5rem 1.5rem; |
| | gap: 1.75rem; |
| | } |
| |
|
| | .prompt-hero { |
| | text-align: center; |
| | } |
| |
|
| | .chip-icon-glow { |
| | font-size: 2rem; |
| | display: inline-block; |
| | margin-bottom: 0.75rem; |
| | animation: spin-slow 12s linear infinite; |
| | will-change: transform; |
| | } |
| |
|
| | @keyframes spin-slow { |
| | to { |
| | transform: rotate(360deg); |
| | } |
| | } |
| |
|
| | .prompt-title { |
| | font-size: 1.9rem; |
| | font-weight: 600; |
| | letter-spacing: -0.025em; |
| | color: var(--text); |
| | margin-bottom: 0.4rem; |
| | } |
| |
|
| | .prompt-sub { |
| | color: var(--text-mid); |
| | font-size: 0.92rem; |
| | line-height: 1.65; |
| | } |
| |
|
| | .prompt-card { |
| | width: 100%; |
| | max-width: 660px; |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-md); |
| | padding: 1.6rem; |
| | box-shadow: var(--shadow-md); |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.9rem; |
| | animation: fadeIn 0.4s var(--ease); |
| | } |
| |
|
| | .prompt-examples { |
| | display: flex; |
| | flex-wrap: wrap; |
| | gap: 0.4rem; |
| | } |
| |
|
| | .example-chip { |
| | background: var(--bg); |
| | border: 1px solid var(--border); |
| | border-radius: 20px; |
| | color: var(--text-mid); |
| | font-size: 0.77rem; |
| | padding: 0.28rem 0.72rem; |
| | cursor: pointer; |
| | transition: all var(--fast) var(--ease); |
| | user-select: none; |
| | } |
| |
|
| | .example-chip:hover { |
| | border-color: var(--accent); |
| | color: var(--accent); |
| | background: var(--accent-soft); |
| | transform: translateY(-1px); |
| | } |
| |
|
| | .prompt-textarea { |
| | width: 100%; |
| | background: var(--bg); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | color: var(--text); |
| | font-family: inherit; |
| | font-size: 0.92rem; |
| | padding: 0.85rem 0.95rem; |
| | resize: vertical; |
| | outline: none; |
| | line-height: 1.6; |
| | transition: border-color var(--fast), box-shadow var(--fast); |
| | } |
| |
|
| | .prompt-textarea:focus { |
| | border-color: var(--accent); |
| | box-shadow: 0 0 0 3px var(--accent-glow); |
| | } |
| |
|
| | .prompt-textarea::placeholder { |
| | color: var(--text-dim); |
| | } |
| |
|
| | .design-name-preview { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.6rem; |
| | } |
| |
|
| | .design-name-label { |
| | font-size: 0.77rem; |
| | font-weight: 600; |
| | color: var(--text-dim); |
| | white-space: nowrap; |
| | } |
| |
|
| | .design-name-input { |
| | flex: 1; |
| | background: var(--bg); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-xs); |
| | color: var(--text); |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.8rem; |
| | padding: 0.32rem 0.65rem; |
| | outline: none; |
| | transition: border-color var(--fast); |
| | } |
| |
|
| | .design-name-input:focus { |
| | border-color: var(--accent); |
| | } |
| |
|
| | .prompt-options { |
| | display: flex; |
| | align-items: center; |
| | } |
| |
|
| | .toggle-label { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.5rem; |
| | font-size: 0.8rem; |
| | color: var(--text-mid); |
| | cursor: pointer; |
| | user-select: none; |
| | } |
| |
|
| | .toggle-label input[type='checkbox'] { |
| | accent-color: var(--accent); |
| | width: 14px; |
| | height: 14px; |
| | cursor: pointer; |
| | } |
| |
|
| | .error-banner { |
| | background: var(--fail-bg); |
| | border: 1px solid var(--fail-bdr); |
| | border-radius: var(--radius-xs); |
| | color: var(--fail); |
| | font-size: 0.83rem; |
| | padding: 0.6rem 0.9rem; |
| | animation: fadeIn 0.2s var(--ease); |
| | } |
| |
|
| | .launch-btn { |
| | width: 100%; |
| | padding: 0.82rem 1.5rem; |
| | background: var(--accent); |
| | border: none; |
| | border-radius: var(--radius); |
| | color: #fff; |
| | font-family: inherit; |
| | font-size: 0.93rem; |
| | font-weight: 600; |
| | cursor: pointer; |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | gap: 0.6rem; |
| | letter-spacing: 0.01em; |
| | transition: opacity var(--fast), transform var(--fast) var(--ease), |
| | box-shadow var(--mid) var(--ease); |
| | box-shadow: 0 2px 8px rgba(201, 100, 62, 0.25); |
| | } |
| |
|
| | .launch-btn:hover:not(:disabled) { |
| | opacity: 0.9; |
| | box-shadow: 0 4px 16px rgba(201, 100, 62, 0.35); |
| | transform: translateY(-1px); |
| | } |
| |
|
| | .launch-btn:active:not(:disabled) { |
| | transform: scale(0.99); |
| | box-shadow: none; |
| | } |
| |
|
| | .launch-btn:disabled { |
| | opacity: 0.38; |
| | cursor: not-allowed; |
| | box-shadow: none; |
| | } |
| |
|
| | |
| | |
| | |
| | .monitor-root { |
| | height: 100vh; |
| | display: flex; |
| | flex-direction: column; |
| | padding: 1.25rem; |
| | gap: 0.9rem; |
| | background: var(--bg); |
| | animation: fadeIn var(--slow) var(--ease); |
| | } |
| |
|
| | .monitor-header { |
| | display: flex; |
| | justify-content: space-between; |
| | align-items: center; |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-md); |
| | padding: 0.85rem 1.2rem; |
| | box-shadow: var(--shadow-sm); |
| | } |
| |
|
| | .monitor-chip-badge { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.65rem; |
| | } |
| |
|
| | |
| | .badge-dot { |
| | width: 8px; |
| | height: 8px; |
| | border-radius: 50%; |
| | background: var(--warn); |
| | flex-shrink: 0; |
| | position: relative; |
| | } |
| |
|
| | .badge-dot::after { |
| | content: ''; |
| | position: absolute; |
| | inset: -3px; |
| | border-radius: 50%; |
| | background: var(--warn); |
| | opacity: 0; |
| | animation: ring-pulse 1.8s ease-out infinite; |
| | } |
| |
|
| | .badge-dot[data-status='done'] { |
| | background: var(--success); |
| | } |
| |
|
| | .badge-dot[data-status='done']::after { |
| | display: none; |
| | } |
| |
|
| | .badge-dot[data-status='failed'] { |
| | background: var(--fail); |
| | } |
| |
|
| | .badge-dot[data-status='failed']::after { |
| | display: none; |
| | } |
| |
|
| | .badge-dot[data-status='cancelled'] { |
| | background: var(--text-dim); |
| | } |
| |
|
| | .badge-dot[data-status='cancelled']::after { |
| | display: none; |
| | } |
| |
|
| | @keyframes ring-pulse { |
| | 0% { |
| | opacity: 0.5; |
| | transform: scale(1); |
| | } |
| |
|
| | 100% { |
| | opacity: 0; |
| | transform: scale(2.4); |
| | } |
| | } |
| |
|
| | .badge-name { |
| | font-weight: 600; |
| | font-size: 0.93rem; |
| | color: var(--text); |
| | } |
| |
|
| | .monitor-status { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.7rem; |
| | font-size: 0.82rem; |
| | color: var(--text-mid); |
| | } |
| |
|
| | |
| | .cancel-btn { |
| | padding: 0.38rem 0.85rem; |
| | background: transparent; |
| | border: 1px solid var(--border-mid); |
| | border-radius: var(--radius); |
| | color: var(--text-mid); |
| | font-family: inherit; |
| | font-size: 0.78rem; |
| | font-weight: 500; |
| | cursor: pointer; |
| | transition: all var(--fast) var(--ease); |
| | } |
| |
|
| | .cancel-btn:hover { |
| | border-color: var(--fail); |
| | color: var(--fail); |
| | background: var(--fail-bg); |
| | } |
| |
|
| | .cancel-btn:disabled { |
| | opacity: 0.4; |
| | cursor: not-allowed; |
| | } |
| |
|
| | .monitor-body { |
| | display: grid; |
| | grid-template-columns: 268px 1fr; |
| | gap: 0.9rem; |
| | flex: 1; |
| | min-height: 0; |
| | } |
| |
|
| | |
| | .checkpoint-column { |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-md); |
| | padding: 1rem; |
| | overflow-y: auto; |
| | box-shadow: var(--shadow-sm); |
| | } |
| |
|
| | .checkpoint-list { |
| | display: flex; |
| | flex-direction: column; |
| | } |
| |
|
| | .checkpoint-item { |
| | display: flex; |
| | align-items: flex-start; |
| | gap: 0.5rem; |
| | opacity: 0.28; |
| | transition: opacity var(--mid) var(--ease); |
| | } |
| |
|
| | .checkpoint-item.reached { |
| | opacity: 1; |
| | } |
| |
|
| | .checkpoint-item.active { |
| | opacity: 1; |
| | } |
| |
|
| | .checkpoint-icon-wrap { |
| | display: flex; |
| | flex-direction: column; |
| | align-items: center; |
| | min-width: 22px; |
| | } |
| |
|
| | .check-done { |
| | width: 20px; |
| | height: 20px; |
| | border-radius: 50%; |
| | background: var(--success); |
| | color: #fff; |
| | font-size: 0.6rem; |
| | font-weight: 800; |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | flex-shrink: 0; |
| | animation: pop-in var(--mid) var(--ease); |
| | } |
| |
|
| | @keyframes pop-in { |
| | from { |
| | transform: scale(0.5); |
| | opacity: 0; |
| | } |
| |
|
| | to { |
| | transform: scale(1); |
| | opacity: 1; |
| | } |
| | } |
| |
|
| | .check-pulse { |
| | width: 20px; |
| | height: 20px; |
| | border-radius: 50%; |
| | border: 2px solid var(--accent); |
| | color: var(--accent); |
| | font-size: 0.68rem; |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | flex-shrink: 0; |
| | animation: spin-fast 1s linear infinite; |
| | } |
| |
|
| | @keyframes spin-fast { |
| | to { |
| | transform: rotate(360deg); |
| | } |
| | } |
| |
|
| | .check-todo { |
| | width: 20px; |
| | height: 20px; |
| | border-radius: 50%; |
| | border: 1.5px solid var(--border-mid); |
| | flex-shrink: 0; |
| | } |
| |
|
| | .checkpoint-line { |
| | width: 1px; |
| | height: 16px; |
| | background: var(--border); |
| | margin: 2px 0; |
| | transition: background var(--slow) var(--ease); |
| | } |
| |
|
| | .checkpoint-line.line-done { |
| | background: var(--success); |
| | } |
| |
|
| | .checkpoint-label { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.35rem; |
| | padding-bottom: 9px; |
| | } |
| |
|
| | .checkpoint-icon-emoji { |
| | font-size: 0.8rem; |
| | } |
| |
|
| | .checkpoint-text { |
| | font-size: 0.77rem; |
| | color: var(--text-mid); |
| | } |
| |
|
| | .checkpoint-text.text-active { |
| | color: var(--accent); |
| | font-weight: 600; |
| | } |
| |
|
| | |
| | .terminal-column { |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-md); |
| | padding: 1rem; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.65rem; |
| | box-shadow: var(--shadow-sm); |
| | min-height: 0; |
| | } |
| |
|
| | .live-terminal { |
| | flex: 1; |
| | background: var(--bg-dark); |
| | border-radius: var(--radius); |
| | padding: 0.75rem; |
| | overflow-y: auto; |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.73rem; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 1px; |
| | scroll-behavior: smooth; |
| | } |
| |
|
| | .terminal-waiting { |
| | color: #5a5550; |
| | font-style: italic; |
| | } |
| |
|
| | .terminal-line { |
| | display: flex; |
| | gap: 0.5rem; |
| | line-height: 1.55; |
| | animation: line-appear 0.15s var(--ease); |
| | } |
| |
|
| | @keyframes line-appear { |
| | from { |
| | opacity: 0; |
| | transform: translateX(-4px); |
| | } |
| |
|
| | to { |
| | opacity: 1; |
| | transform: translateX(0); |
| | } |
| | } |
| |
|
| | .terminal-line.terminal-highlight .terminal-msg { |
| | color: #E8A87C; |
| | } |
| |
|
| | .terminal-ts { |
| | color: #3E3A35; |
| | min-width: 64px; |
| | } |
| |
|
| | .terminal-state { |
| | color: #7A6E64; |
| | min-width: 88px; |
| | } |
| |
|
| | .terminal-msg { |
| | color: #C8C2BA; |
| | } |
| |
|
| | |
| | .progress-bar-wrap { |
| | height: 2px; |
| | background: var(--border); |
| | border-radius: 2px; |
| | overflow: hidden; |
| | } |
| |
|
| | .progress-bar-fill { |
| | height: 100%; |
| | background: var(--accent); |
| | border-radius: 2px; |
| | transition: width 0.7s var(--ease); |
| | } |
| |
|
| | .progress-label { |
| | font-size: 0.7rem; |
| | color: var(--text-dim); |
| | text-align: right; |
| | } |
| |
|
| | |
| | .monitor-footer { |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-md); |
| | padding: 0.65rem 1.1rem; |
| | font-size: 0.78rem; |
| | color: var(--text-mid); |
| | display: flex; |
| | align-items: center; |
| | gap: 0.65rem; |
| | box-shadow: var(--shadow-xs); |
| | } |
| |
|
| | |
| | .spinner { |
| | display: inline-block; |
| | width: 13px; |
| | height: 13px; |
| | border: 1.5px solid var(--border-mid); |
| | border-top-color: var(--accent); |
| | border-radius: 50%; |
| | animation: spin-fast 0.75s linear infinite; |
| | flex-shrink: 0; |
| | } |
| |
|
| | .spinner-small { |
| | display: inline-block; |
| | width: 10px; |
| | height: 10px; |
| | border: 1.5px solid var(--border-mid); |
| | border-top-color: var(--accent); |
| | border-radius: 50%; |
| | animation: spin-fast 0.75s linear infinite; |
| | flex-shrink: 0; |
| | } |
| |
|
| | |
| | |
| | |
| | .summary-root { |
| | padding: 1.75rem 2rem; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 1.25rem; |
| | max-width: 1000px; |
| | margin: 0 auto; |
| | animation: fadeIn var(--slow) var(--ease); |
| | } |
| |
|
| | .summary-banner { |
| | border-radius: var(--radius-md); |
| | padding: 1.2rem 1.5rem; |
| | display: flex; |
| | align-items: center; |
| | gap: 1.1rem; |
| | } |
| |
|
| | .banner-success { |
| | background: var(--success-bg); |
| | border: 1px solid var(--success-bdr); |
| | } |
| |
|
| | .banner-fail { |
| | background: var(--fail-bg); |
| | border: 1px solid var(--fail-bdr); |
| | } |
| |
|
| | .banner-icon { |
| | font-size: 1.8rem; |
| | } |
| |
|
| | .banner-title { |
| | font-size: 1.25rem; |
| | font-weight: 600; |
| | color: var(--text); |
| | margin-bottom: 0.2rem; |
| | } |
| |
|
| | .banner-sub { |
| | color: var(--text-mid); |
| | font-size: 0.82rem; |
| | } |
| |
|
| | .summary-section { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.6rem; |
| | } |
| |
|
| | |
| | .metrics-grid { |
| | display: grid; |
| | grid-template-columns: repeat(4, 1fr); |
| | gap: 0.8rem; |
| | } |
| |
|
| | .metric-card { |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-top: 2.5px solid var(--accent); |
| | border-radius: var(--radius-md); |
| | padding: 1rem; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.25rem; |
| | box-shadow: var(--shadow-xs); |
| | transition: transform var(--mid) var(--ease), box-shadow var(--mid) var(--ease); |
| | } |
| |
|
| | .metric-card:hover { |
| | transform: translateY(-2px); |
| | box-shadow: var(--shadow-md); |
| | } |
| |
|
| | .metric-icon { |
| | font-size: 1.1rem; |
| | } |
| |
|
| | .metric-value { |
| | font-size: 1.1rem; |
| | font-weight: 700; |
| | color: var(--text); |
| | } |
| |
|
| | .metric-label { |
| | font-size: 0.7rem; |
| | color: var(--text-dim); |
| | text-transform: uppercase; |
| | letter-spacing: 0.08em; |
| | } |
| |
|
| | |
| | .info-pills { |
| | display: flex; |
| | flex-wrap: wrap; |
| | gap: 0.35rem; |
| | } |
| |
|
| | .info-pill { |
| | background: var(--bg); |
| | border: 1px solid var(--border); |
| | border-radius: 20px; |
| | color: var(--text-mid); |
| | font-size: 0.77rem; |
| | padding: 0.22rem 0.7rem; |
| | } |
| |
|
| | |
| | .spec-box, |
| | .rtl-box { |
| | background: var(--bg); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | padding: 0.9rem; |
| | overflow: auto; |
| | max-height: 240px; |
| | } |
| |
|
| | .spec-text { |
| | font-family: inherit; |
| | font-size: 0.8rem; |
| | color: var(--text); |
| | line-height: 1.65; |
| | white-space: pre-wrap; |
| | } |
| |
|
| | .rtl-code { |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.76rem; |
| | color: var(--text); |
| | line-height: 1.5; |
| | white-space: pre; |
| | } |
| |
|
| | |
| | .convergence-table-wrap { |
| | overflow-x: auto; |
| | border-radius: var(--radius); |
| | border: 1px solid var(--border); |
| | } |
| |
|
| | .convergence-table { |
| | width: 100%; |
| | border-collapse: collapse; |
| | font-size: 0.77rem; |
| | } |
| |
|
| | .convergence-table th { |
| | background: var(--bg); |
| | color: var(--text-mid); |
| | padding: 0.5rem 0.85rem; |
| | text-align: left; |
| | border-bottom: 1px solid var(--border); |
| | font-size: 0.68rem; |
| | font-weight: 700; |
| | text-transform: uppercase; |
| | letter-spacing: 0.09em; |
| | font-family: inherit; |
| | } |
| |
|
| | .convergence-table td { |
| | color: var(--text); |
| | padding: 0.4rem 0.85rem; |
| | border-bottom: 1px solid var(--border); |
| | font-family: 'Fira Code', monospace; |
| | } |
| |
|
| | .convergence-table tr:last-child td { |
| | border-bottom: none; |
| | } |
| |
|
| | .convergence-table tr:hover td { |
| | background: var(--bg-hover); |
| | } |
| |
|
| | .error-box { |
| | background: var(--fail-bg); |
| | border: 1px solid var(--fail-bdr); |
| | border-radius: var(--radius); |
| | padding: 0.9rem; |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.77rem; |
| | color: var(--fail); |
| | max-height: 180px; |
| | overflow: auto; |
| | white-space: pre-wrap; |
| | } |
| |
|
| | |
| | .summary-actions { |
| | display: flex; |
| | gap: 0.75rem; |
| | justify-content: center; |
| | padding: 0.25rem 0 2rem; |
| | } |
| |
|
| | |
| | .check-report-card { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0; |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius-md); |
| | background: var(--bg-card); |
| | overflow: hidden; |
| | } |
| |
|
| | .check-report-item { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.75rem; |
| | padding: 0.65rem 1rem; |
| | border-bottom: 1px solid var(--border); |
| | transition: background var(--fast); |
| | } |
| |
|
| | .check-report-item:last-child { |
| | border-bottom: none; |
| | } |
| |
|
| | .check-report-item:hover { |
| | background: var(--bg-hover); |
| | } |
| |
|
| | .check-report-status { |
| | width: 24px; |
| | height: 24px; |
| | border-radius: 50%; |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | font-size: 0.7rem; |
| | font-weight: 800; |
| | flex-shrink: 0; |
| | } |
| |
|
| | .check-report-status[data-status='pass'] { |
| | background: var(--success-bg); |
| | color: var(--success); |
| | border: 1px solid var(--success-bdr); |
| | } |
| |
|
| | .check-report-status[data-status='fail'] { |
| | background: var(--fail-bg); |
| | color: var(--fail); |
| | border: 1px solid var(--fail-bdr); |
| | } |
| |
|
| | .check-report-status[data-status='skip'] { |
| | background: var(--bg); |
| | color: var(--text-dim); |
| | border: 1px solid var(--border); |
| | } |
| |
|
| | .check-report-label { |
| | font-size: 0.84rem; |
| | font-weight: 600; |
| | color: var(--text); |
| | display: block; |
| | } |
| |
|
| | .check-report-detail { |
| | font-size: 0.74rem; |
| | color: var(--text-dim); |
| | display: block; |
| | margin-top: 0.1rem; |
| | } |
| |
|
| | .action-btn { |
| | padding: 0.6rem 1.4rem; |
| | border-radius: var(--radius); |
| | font-family: inherit; |
| | font-size: 0.875rem; |
| | font-weight: 600; |
| | cursor: pointer; |
| | transition: all var(--fast) var(--ease); |
| | } |
| |
|
| | .action-primary { |
| | background: var(--accent); |
| | border: none; |
| | color: #fff; |
| | box-shadow: 0 2px 8px rgba(201, 100, 62, 0.25); |
| | } |
| |
|
| | .action-primary:hover { |
| | opacity: 0.88; |
| | box-shadow: 0 4px 14px rgba(201, 100, 62, 0.35); |
| | transform: translateY(-1px); |
| | } |
| |
|
| | |
| | .dash-signoff-report { |
| | background: var(--bg-dark); |
| | padding: 1rem; |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | color: var(--success); |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.78rem; |
| | white-space: pre-wrap; |
| | max-height: 400px; |
| | overflow-y: auto; |
| | line-height: 1.55; |
| | } |
| |
|
| | .metric-highlight { |
| | position: relative; |
| | overflow: hidden; |
| | transition: transform var(--fast), box-shadow var(--fast); |
| | } |
| |
|
| | .metric-highlight:hover { |
| | transform: translateY(-2px); |
| | box-shadow: var(--shadow-md); |
| | } |
| |
|
| | .metric-tag { |
| | color: var(--text-dim); |
| | font-size: 0.68rem; |
| | margin-top: 0.5rem; |
| | text-transform: uppercase; |
| | letter-spacing: 0.06em; |
| | font-weight: 500; |
| | } |
| |
|
| | .dash-insight-card { |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | padding: 0.85rem; |
| | background: var(--bg); |
| | transition: all var(--fast); |
| | } |
| |
|
| | .dash-insight-card:hover { |
| | border-color: var(--accent); |
| | background: var(--accent-soft); |
| | } |
| |
|
| | .dash-insight-icon { |
| | font-size: 1.2rem; |
| | margin-bottom: 0.35rem; |
| | } |
| |
|
| | .dash-insight-title { |
| | font-size: 0.72rem; |
| | font-weight: 600; |
| | text-transform: uppercase; |
| | letter-spacing: 0.04em; |
| | color: var(--text-dim); |
| | margin-bottom: 0.2rem; |
| | } |
| |
|
| | .dash-insight-value { |
| | font-size: 0.88rem; |
| | font-weight: 650; |
| | color: var(--text); |
| | margin-bottom: 0.2rem; |
| | } |
| |
|
| | .dash-insight-detail { |
| | font-size: 0.72rem; |
| | color: var(--text-dim); |
| | line-height: 1.4; |
| | } |
| |
|
| | .metric-value.dashboard { |
| | font-size: 1.7rem; |
| | font-weight: 600; |
| | color: var(--text); |
| | } |
| |
|
| | .metric-label.dashboard { |
| | font-size: 0.73rem; |
| | color: var(--text-dim); |
| | } |
| |
|
| | |
| | @media (max-width: 900px) { |
| | .monitor-body { |
| | grid-template-columns: 1fr; |
| | } |
| |
|
| | .metrics-grid { |
| | grid-template-columns: 1fr 1fr; |
| | } |
| |
|
| | .grid-4 { |
| | grid-template-columns: 1fr 1fr; |
| | } |
| |
|
| | .sidebar { |
| | width: 180px; |
| | min-width: 180px; |
| | } |
| | } |
| |
|
| | @media (max-width: 640px) { |
| | .sidebar { |
| | display: none; |
| | } |
| |
|
| | .prompt-card { |
| | padding: 1.1rem; |
| | } |
| |
|
| | .prompt-title { |
| | font-size: 1.5rem; |
| | } |
| | } |
| |
|
| |
|
| | |
| | |
| | |
| | |
| |
|
| | .cs-root { |
| | padding: 2rem 2.25rem; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 2rem; |
| | max-width: 860px; |
| | margin: 0 auto; |
| | } |
| |
|
| | |
| | .cs-banner { |
| | display: flex; |
| | align-items: flex-start; |
| | gap: 1rem; |
| | padding: 1.25rem 1.5rem; |
| | border-radius: 12px; |
| | border: 1px solid var(--border); |
| | background: var(--bg-card); |
| | } |
| |
|
| | .cs-banner--success { |
| | border-color: rgba(74, 124, 89, 0.28); |
| | background: rgba(74, 124, 89, 0.04); |
| | } |
| |
|
| | .cs-banner--fail { |
| | border-color: rgba(192, 57, 43, 0.22); |
| | background: rgba(192, 57, 43, 0.03); |
| | } |
| |
|
| | .cs-banner-dot { |
| | width: 8px; |
| | height: 8px; |
| | border-radius: 50%; |
| | flex-shrink: 0; |
| | margin-top: 0.45rem; |
| | } |
| |
|
| | .cs-banner--success .cs-banner-dot { |
| | background: #4a7c59; |
| | box-shadow: 0 0 0 3px rgba(74, 124, 89, 0.15); |
| | } |
| |
|
| | .cs-banner--fail .cs-banner-dot { |
| | background: #c0392b; |
| | box-shadow: 0 0 0 3px rgba(192, 57, 43, 0.12); |
| | } |
| |
|
| | .cs-banner-body { flex: 1; min-width: 0; } |
| |
|
| | .cs-banner-title { |
| | font-size: 1.1875rem; |
| | font-weight: 600; |
| | color: var(--text); |
| | margin: 0 0 0.3rem; |
| | line-height: 1.3; |
| | } |
| |
|
| | .cs-banner-sub { |
| | font-size: 0.8125rem; |
| | color: var(--text-mid); |
| | margin: 0; |
| | line-height: 1.5; |
| | } |
| |
|
| | |
| | .cs-section { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.75rem; |
| | } |
| |
|
| | .cs-section-title { |
| | font-size: 0.6875rem; |
| | font-weight: 700; |
| | text-transform: uppercase; |
| | letter-spacing: 0.1em; |
| | color: var(--text-dim); |
| | margin: 0; |
| | padding-bottom: 0.625rem; |
| | border-bottom: 1px solid var(--border); |
| | } |
| |
|
| | |
| | .cs-stats-row { |
| | display: flex; |
| | align-items: stretch; |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: 10px; |
| | overflow: hidden; |
| | } |
| |
|
| | .cs-stat { |
| | flex: 1; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.3rem; |
| | padding: 1rem 1.25rem; |
| | } |
| |
|
| | .cs-stat-divider { |
| | width: 1px; |
| | background: var(--border); |
| | flex-shrink: 0; |
| | margin: 0.75rem 0; |
| | } |
| |
|
| | .cs-stat-value { |
| | font-size: 1.0625rem; |
| | font-weight: 600; |
| | color: var(--text); |
| | font-family: 'Fira Code', 'JetBrains Mono', monospace; |
| | line-height: 1.2; |
| | } |
| |
|
| | .cs-stat-value--warn { color: var(--warn); } |
| |
|
| | .cs-stat-label { |
| | font-size: 0.7rem; |
| | color: var(--text-dim); |
| | font-weight: 500; |
| | line-height: 1.3; |
| | } |
| |
|
| | |
| | .cs-checks { |
| | display: flex; |
| | flex-direction: column; |
| | border: 1px solid var(--border); |
| | border-radius: 10px; |
| | overflow: hidden; |
| | background: var(--bg-card); |
| | } |
| |
|
| | .cs-check-row { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.75rem; |
| | padding: 0.7rem 1rem; |
| | border-bottom: 1px solid var(--border); |
| | transition: background 120ms; |
| | } |
| |
|
| | .cs-check-row:last-child { border-bottom: none; } |
| | .cs-check-row:hover { background: var(--bg-hover); } |
| |
|
| | .cs-check-icon { |
| | width: 20px; |
| | height: 20px; |
| | border-radius: 50%; |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | font-size: 0.625rem; |
| | font-weight: 800; |
| | flex-shrink: 0; |
| | } |
| |
|
| | .cs-check-icon--pass { background: rgba(74,124,89,0.1); color: #4a7c59; border: 1px solid rgba(74,124,89,0.2); } |
| | .cs-check-icon--fail { background: rgba(192,57,43,0.08); color: #c0392b; border: 1px solid rgba(192,57,43,0.15); } |
| | .cs-check-icon--skip { background: rgba(0,0,0,0.03); color: var(--text-dim); border: 1px solid var(--border); } |
| |
|
| | .cs-check-body { display: flex; flex-direction: column; gap: 0.1rem; min-width: 0; } |
| |
|
| | .cs-check-label { |
| | font-size: 0.8375rem; |
| | font-weight: 500; |
| | color: var(--text); |
| | } |
| |
|
| | .cs-check-detail { |
| | font-size: 0.725rem; |
| | color: var(--text-dim); |
| | font-family: 'Fira Code', monospace; |
| | } |
| |
|
| | |
| | .cs-heal-list { |
| | display: flex; |
| | flex-direction: column; |
| | border: 1px solid var(--border); |
| | border-radius: 8px; |
| | overflow: hidden; |
| | } |
| |
|
| | .cs-heal-item { |
| | display: flex; |
| | align-items: center; |
| | justify-content: space-between; |
| | padding: 0.575rem 0.875rem; |
| | font-size: 0.8125rem; |
| | color: var(--text-mid); |
| | border-bottom: 1px solid var(--border); |
| | } |
| |
|
| | .cs-heal-item:last-child { border-bottom: none; } |
| |
|
| | .cs-heal-count { |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.75rem; |
| | color: var(--text-dim); |
| | font-weight: 600; |
| | } |
| |
|
| | |
| | .cs-code-block { |
| | border: 1px solid var(--border); |
| | border-radius: 8px; |
| | overflow: hidden; |
| | } |
| |
|
| | .cs-code-block--dark { |
| | background: #1a1917; |
| | border-color: #2d2b28; |
| | } |
| |
|
| | .cs-pre { |
| | margin: 0; |
| | padding: 1rem 1.125rem; |
| | overflow: auto; |
| | max-height: 220px; |
| | font-size: 0.775rem; |
| | line-height: 1.6; |
| | } |
| |
|
| | .cs-pre--prose { |
| | font-family: inherit; |
| | color: var(--text); |
| | background: var(--bg); |
| | white-space: pre-wrap; |
| | } |
| |
|
| | .cs-pre--code { |
| | font-family: 'Fira Code', 'JetBrains Mono', monospace; |
| | color: #e2ddd8; |
| | background: #1a1917; |
| | white-space: pre; |
| | } |
| |
|
| | .cs-pre--error { |
| | font-family: 'Fira Code', monospace; |
| | color: #c0392b; |
| | background: rgba(192, 57, 43, 0.04); |
| | white-space: pre-wrap; |
| | } |
| |
|
| | |
| | .cs-table-wrap { |
| | border: 1px solid var(--border); |
| | border-radius: 8px; |
| | overflow: auto; |
| | } |
| |
|
| | .cs-table { |
| | width: 100%; |
| | border-collapse: collapse; |
| | font-size: 0.775rem; |
| | } |
| |
|
| | .cs-table th { |
| | background: var(--bg); |
| | color: var(--text-dim); |
| | padding: 0.5rem 0.875rem; |
| | text-align: left; |
| | border-bottom: 1px solid var(--border); |
| | font-size: 0.6875rem; |
| | font-weight: 700; |
| | text-transform: uppercase; |
| | letter-spacing: 0.08em; |
| | } |
| |
|
| | .cs-table td { |
| | color: var(--text); |
| | padding: 0.4375rem 0.875rem; |
| | border-bottom: 1px solid var(--border); |
| | font-family: 'Fira Code', monospace; |
| | } |
| |
|
| | .cs-table tr:last-child td { border-bottom: none; } |
| | .cs-table tbody tr:hover td { background: var(--bg-hover); } |
| | .cs-table td[data-good="false"] { color: #c0392b; } |
| | .cs-table td[data-good="true"] { color: #4a7c59; } |
| |
|
| | |
| | .cs-fail-explanation { |
| | font-size: 0.875rem; |
| | line-height: 1.65; |
| | color: var(--text); |
| | margin: 0 0 0.625rem; |
| | } |
| |
|
| | .cs-fail-suggestion { |
| | font-size: 0.8125rem; |
| | line-height: 1.5; |
| | color: var(--text-mid); |
| | margin: 0; |
| | display: flex; |
| | gap: 0.375rem; |
| | } |
| |
|
| | .cs-fail-suggestion-label { |
| | font-weight: 600; |
| | color: var(--text-dim); |
| | flex-shrink: 0; |
| | } |
| |
|
| | |
| | .cs-actions { |
| | display: flex; |
| | flex-direction: column; |
| | align-items: center; |
| | gap: 1rem; |
| | padding: 0.5rem 0 2.5rem; |
| | } |
| |
|
| | |
| | .cs-report-downloads { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.5rem; |
| | flex-wrap: wrap; |
| | justify-content: center; |
| | } |
| |
|
| | .cs-report-label { |
| | font-size: 0.8rem; |
| | color: var(--text-secondary, #888); |
| | margin-right: 0.25rem; |
| | } |
| |
|
| | .cs-report-btn { |
| | display: inline-flex; |
| | align-items: center; |
| | gap: 0.25rem; |
| | padding: 0.4rem 0.9rem; |
| | border-radius: 6px; |
| | border: 1px solid rgba(245, 120, 31, 0.3); |
| | background: rgba(245, 120, 31, 0.08); |
| | color: #f5781f; |
| | font-size: 0.78rem; |
| | font-weight: 500; |
| | font-family: inherit; |
| | text-decoration: none; |
| | cursor: pointer; |
| | transition: background 120ms, border-color 120ms; |
| | } |
| |
|
| | .cs-report-btn:hover { |
| | background: rgba(245, 120, 31, 0.18); |
| | border-color: rgba(245, 120, 31, 0.5); |
| | text-decoration: none; |
| | } |
| |
|
| | .cs-reset-btn { |
| | background: var(--accent); |
| | color: #fff; |
| | border: none; |
| | font-family: inherit; |
| | font-size: 0.875rem; |
| | font-weight: 500; |
| | padding: 0.625rem 1.75rem; |
| | border-radius: 8px; |
| | cursor: pointer; |
| | letter-spacing: 0.01em; |
| | box-shadow: 0 1px 4px rgba(201, 100, 62, 0.2); |
| | transition: opacity 150ms, transform 150ms, box-shadow 150ms; |
| | } |
| |
|
| | .cs-reset-btn:hover { |
| | opacity: 0.9; |
| | transform: translateY(-1px); |
| | box-shadow: 0 3px 10px rgba(201, 100, 62, 0.28); |
| | } |
| |
|
| | |
| | @media (max-width: 640px) { |
| | .cs-root { padding: 1.25rem 1rem; gap: 1.5rem; } |
| | .cs-stats-row { flex-direction: column; } |
| | .cs-stat-divider { width: auto; height: 1px; margin: 0; } |
| | } |
| |
|
| |
|
| | |
| | |
| | |
| | .auth-root { |
| | display: grid; |
| | grid-template-columns: 1fr 1fr; |
| | min-height: 100vh; |
| | } |
| |
|
| | |
| | .auth-left { |
| | background: #1C1A17; |
| | color: #F5F1EB; |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | padding: 3rem 2.5rem; |
| | position: relative; |
| | overflow: hidden; |
| | } |
| |
|
| | |
| | .auth-left::before { |
| | content: ''; |
| | position: absolute; |
| | inset: 0; |
| | background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E"); |
| | pointer-events: none; |
| | } |
| |
|
| | |
| | .auth-left::after { |
| | content: ''; |
| | position: absolute; |
| | width: 400px; |
| | height: 400px; |
| | border-radius: 50%; |
| | background: radial-gradient(circle, rgba(201, 100, 62, 0.15) 0%, transparent 70%); |
| | bottom: -120px; |
| | right: -80px; |
| | pointer-events: none; |
| | } |
| |
|
| | .auth-left-content { |
| | position: relative; |
| | z-index: 1; |
| | max-width: 420px; |
| | display: flex; |
| | flex-direction: column; |
| | gap: 2rem; |
| | } |
| |
|
| | .auth-logo { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.6rem; |
| | } |
| |
|
| | .auth-logo-mark { |
| | color: #C9643E; |
| | display: flex; |
| | } |
| |
|
| | .auth-logo-text { |
| | font-size: 1.1rem; |
| | font-weight: 700; |
| | letter-spacing: -0.02em; |
| | color: #F5F1EB; |
| | } |
| |
|
| | .auth-headline { |
| | font-size: 2.4rem; |
| | font-weight: 700; |
| | line-height: 1.15; |
| | letter-spacing: -0.035em; |
| | } |
| |
|
| | .auth-headline-dim { |
| | color: #8A847D; |
| | } |
| |
|
| | .auth-value-prop { |
| | font-size: 0.92rem; |
| | color: #9C9690; |
| | line-height: 1.7; |
| | } |
| |
|
| | .auth-features { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.85rem; |
| | } |
| |
|
| | .auth-feature { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.75rem; |
| | padding: 0.7rem 0.85rem; |
| | border-radius: 10px; |
| | border: 1px solid rgba(255, 255, 255, 0.06); |
| | background: rgba(255, 255, 255, 0.03); |
| | transition: background 0.2s, border-color 0.2s; |
| | } |
| |
|
| | .auth-feature:hover { |
| | background: rgba(255, 255, 255, 0.06); |
| | border-color: rgba(255, 255, 255, 0.1); |
| | } |
| |
|
| | .auth-feature-icon { |
| | font-size: 1.15rem; |
| | flex-shrink: 0; |
| | } |
| |
|
| | .auth-feature-title { |
| | font-size: 0.82rem; |
| | font-weight: 600; |
| | color: #ECE9E4; |
| | margin-bottom: 0.05rem; |
| | } |
| |
|
| | .auth-feature-desc { |
| | font-size: 0.74rem; |
| | color: #8A847D; |
| | } |
| |
|
| | .auth-left-footer { |
| | font-size: 0.72rem; |
| | color: #64605A; |
| | letter-spacing: 0.03em; |
| | margin-top: auto; |
| | padding-top: 2rem; |
| | } |
| |
|
| | |
| | .auth-right { |
| | background: var(--bg); |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | padding: 3rem 2.5rem; |
| | } |
| |
|
| | .auth-form-wrapper { |
| | width: 100%; |
| | max-width: 360px; |
| | } |
| |
|
| | .auth-form-title { |
| | font-size: 1.45rem; |
| | font-weight: 700; |
| | letter-spacing: -0.025em; |
| | margin-bottom: 0.3rem; |
| | color: var(--text); |
| | } |
| |
|
| | .auth-form-sub { |
| | font-size: 0.88rem; |
| | color: var(--text-mid); |
| | margin-bottom: 1.75rem; |
| | } |
| |
|
| | .auth-form { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 1.1rem; |
| | } |
| |
|
| | .auth-field { |
| | display: flex; |
| | flex-direction: column; |
| | gap: 0.35rem; |
| | } |
| |
|
| | .auth-label { |
| | font-size: 0.8rem; |
| | font-weight: 600; |
| | color: var(--text); |
| | letter-spacing: -0.005em; |
| | } |
| |
|
| | .auth-input { |
| | padding: 0.65rem 0.8rem; |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: 8px; |
| | color: var(--text); |
| | font-family: inherit; |
| | font-size: 0.9rem; |
| | outline: none; |
| | transition: border-color 0.15s, box-shadow 0.15s; |
| | } |
| |
|
| | .auth-input:focus { |
| | border-color: var(--accent); |
| | box-shadow: 0 0 0 3px var(--accent-soft); |
| | } |
| |
|
| | .auth-input::placeholder { |
| | color: var(--text-dim); |
| | } |
| |
|
| | |
| | .auth-alert { |
| | display: flex; |
| | align-items: flex-start; |
| | gap: 0.5rem; |
| | padding: 0.6rem 0.8rem; |
| | border-radius: 8px; |
| | font-size: 0.82rem; |
| | line-height: 1.5; |
| | } |
| |
|
| | .auth-alert--error { |
| | background: var(--fail-bg); |
| | border: 1px solid var(--fail-bdr); |
| | color: var(--fail); |
| | } |
| |
|
| | .auth-alert--success { |
| | background: var(--success-bg); |
| | border: 1px solid var(--success-bdr); |
| | color: var(--success); |
| | } |
| |
|
| | .auth-alert-icon { |
| | font-weight: 700; |
| | flex-shrink: 0; |
| | margin-top: 0.05rem; |
| | } |
| |
|
| | |
| | .auth-submit { |
| | padding: 0.7rem; |
| | background: var(--accent); |
| | color: #fff; |
| | border: none; |
| | border-radius: 8px; |
| | font-family: inherit; |
| | font-size: 0.9rem; |
| | font-weight: 600; |
| | cursor: pointer; |
| | transition: opacity 0.15s, transform 0.15s, box-shadow 0.15s; |
| | margin-top: 0.35rem; |
| | } |
| |
|
| | .auth-submit:hover:not(:disabled) { |
| | opacity: 0.92; |
| | transform: translateY(-1px); |
| | box-shadow: 0 4px 14px rgba(201, 100, 62, 0.25); |
| | } |
| |
|
| | .auth-submit:active:not(:disabled) { |
| | transform: translateY(0); |
| | } |
| |
|
| | |
| | .auth-provider-divider { |
| | display: flex; |
| | align-items: center; |
| | margin: 1.5rem 0; |
| | gap: 0.75rem; |
| | } |
| |
|
| | .auth-provider-line { |
| | flex: 1; |
| | height: 1px; |
| | background: var(--border); |
| | } |
| |
|
| | .auth-provider-text { |
| | font-size: 0.7rem; |
| | font-weight: 600; |
| | color: var(--text-dim); |
| | letter-spacing: 0.05em; |
| | } |
| |
|
| | .auth-google-btn { |
| | width: 100%; |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | gap: 0.6rem; |
| | padding: 0.65rem; |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: 8px; |
| | color: var(--text); |
| | font-family: inherit; |
| | font-size: 0.9rem; |
| | font-weight: 500; |
| | cursor: pointer; |
| | transition: background 0.15s, border-color 0.15s; |
| | } |
| |
|
| | .auth-google-btn:hover { |
| | background: var(--bg-hover); |
| | border-color: var(--border-mid); |
| | } |
| |
|
| | .auth-submit:disabled { |
| | opacity: 0.45; |
| | cursor: not-allowed; |
| | } |
| |
|
| | .auth-submit-loading { |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | gap: 0.5rem; |
| | } |
| |
|
| | .auth-spinner { |
| | width: 16px; |
| | height: 16px; |
| | border: 2px solid rgba(255, 255, 255, 0.3); |
| | border-top-color: #fff; |
| | border-radius: 50%; |
| | animation: auth-spin 0.6s linear infinite; |
| | } |
| |
|
| | @keyframes auth-spin { |
| | to { transform: rotate(360deg); } |
| | } |
| |
|
| | |
| | .auth-divider { |
| | text-align: center; |
| | margin: 1.25rem 0 0.75rem; |
| | font-size: 0.8rem; |
| | color: var(--text-dim); |
| | } |
| |
|
| | |
| | .auth-switch { |
| | width: 100%; |
| | padding: 0.6rem; |
| | background: transparent; |
| | border: 1px solid var(--border); |
| | border-radius: 8px; |
| | color: var(--text); |
| | font-family: inherit; |
| | font-size: 0.85rem; |
| | font-weight: 500; |
| | cursor: pointer; |
| | transition: background 0.15s, border-color 0.15s; |
| | } |
| |
|
| | .auth-switch:hover { |
| | background: var(--bg-hover); |
| | border-color: var(--border-mid); |
| | } |
| |
|
| | |
| | .auth-legal { |
| | text-align: center; |
| | font-size: 0.7rem; |
| | color: var(--text-dim); |
| | margin-top: 1.5rem; |
| | line-height: 1.55; |
| | } |
| |
|
| | |
| | .auth-loading { |
| | min-height: 100vh; |
| | display: flex; |
| | flex-direction: column; |
| | align-items: center; |
| | justify-content: center; |
| | gap: 1rem; |
| | background: var(--bg); |
| | color: var(--text-mid); |
| | font-size: 0.88rem; |
| | } |
| |
|
| | .auth-loading-spinner { |
| | width: 26px; |
| | height: 26px; |
| | border: 2.5px solid var(--border); |
| | border-top-color: var(--accent); |
| | border-radius: 50%; |
| | animation: auth-spin 0.7s linear infinite; |
| | } |
| |
|
| | |
| | @media (max-width: 768px) { |
| | .auth-root { |
| | grid-template-columns: 1fr; |
| | } |
| | .auth-left { |
| | padding: 2rem 1.5rem; |
| | } |
| | .auth-headline { |
| | font-size: 1.75rem; |
| | } |
| | .auth-features { |
| | display: none; |
| | } |
| | .auth-left-footer { |
| | display: none; |
| | } |
| | .auth-right { |
| | padding: 2rem 1.5rem; |
| | } |
| | } |
| |
|
| | |
| | .app-user-info { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.55rem; |
| | padding: 0.5rem 0.35rem; |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | background: var(--bg-card); |
| | } |
| |
|
| | .app-user-avatar { |
| | width: 28px; |
| | height: 28px; |
| | border-radius: 50%; |
| | background: var(--accent-soft); |
| | color: var(--accent); |
| | display: grid; |
| | place-items: center; |
| | font-weight: 700; |
| | font-size: 0.78rem; |
| | flex-shrink: 0; |
| | border: 1px solid var(--border); |
| | } |
| |
|
| | .app-user-details { |
| | min-width: 0; |
| | } |
| |
|
| | .app-user-email { |
| | font-size: 0.75rem; |
| | color: var(--text-mid); |
| | white-space: nowrap; |
| | overflow: hidden; |
| | text-overflow: ellipsis; |
| | } |
| |
|
| | .logout-btn { |
| | width: 100%; |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | background: transparent; |
| | color: var(--text-mid); |
| | padding: 0.4rem 0.55rem; |
| | font-size: 0.78rem; |
| | font-family: inherit; |
| | font-weight: 500; |
| | cursor: pointer; |
| | transition: all var(--fast); |
| | } |
| |
|
| | .logout-btn:hover { |
| | background: var(--fail-bg); |
| | color: var(--fail); |
| | border-color: var(--fail-bdr); |
| | } |
| |
|
| | |
| | |
| | |
| |
|
| | .billing-modal-overlay { |
| | position: fixed; |
| | top: 0; |
| | left: 0; |
| | width: 100vw; |
| | height: 100vh; |
| | background: rgba(12, 11, 10, 0.85); |
| | backdrop-filter: blur(8px); |
| | -webkit-backdrop-filter: blur(8px); |
| | z-index: 9999; |
| | display: flex; |
| | align-items: center; |
| | justify-content: center; |
| | padding: 1rem; |
| | } |
| |
|
| | .billing-modal-content { |
| | width: 100%; |
| | max-width: 480px; |
| | position: relative; |
| | padding: 2rem !important; |
| | background: linear-gradient(180deg, var(--bg-card) 0%, var(--bg) 100%) !important; |
| | box-shadow: 0 24px 64px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.05) !important; |
| | overflow: visible !important; |
| | } |
| |
|
| | .billing-modal-close { |
| | position: absolute; |
| | top: 1.25rem; |
| | right: 1.25rem; |
| | background: transparent; |
| | border: none; |
| | color: var(--text-dim); |
| | font-size: 1.2rem; |
| | cursor: pointer; |
| | transition: color var(--fast); |
| | padding: 0.2rem; |
| | } |
| |
|
| | .billing-modal-close:hover { |
| | color: var(--text); |
| | } |
| |
|
| | .billing-header { |
| | display: flex; |
| | align-items: center; |
| | gap: 0.75rem; |
| | margin-bottom: 1rem; |
| | } |
| |
|
| | .billing-icon { |
| | font-size: 1.5rem; |
| | } |
| |
|
| | .billing-title { |
| | font-size: 1.25rem; |
| | font-weight: 700; |
| | color: var(--text); |
| | margin: 0; |
| | letter-spacing: -0.02em; |
| | } |
| |
|
| | .billing-sub { |
| | color: var(--text-mid); |
| | font-size: 0.95rem; |
| | line-height: 1.6; |
| | margin-bottom: 2rem; |
| | } |
| |
|
| | .byok-section { |
| | background: var(--bg); |
| | border: 1px solid var(--border-mid); |
| | border-radius: var(--radius-md); |
| | padding: 1.5rem; |
| | margin-bottom: 1.5rem; |
| | box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.1); |
| | } |
| |
|
| | .byok-title { |
| | font-size: 0.95rem; |
| | font-weight: 600; |
| | color: var(--text); |
| | margin: 0 0 0.5rem 0; |
| | display: flex; |
| | align-items: center; |
| | gap: 0.5rem; |
| | } |
| |
|
| | .byok-title::before { |
| | content: "π"; |
| | font-size: 1rem; |
| | } |
| |
|
| | .byok-desc { |
| | font-size: 0.82rem; |
| | color: var(--text-dim); |
| | margin: 0 0 1.25rem 0; |
| | line-height: 1.5; |
| | } |
| |
|
| | .byok-desc strong { |
| | color: var(--text-mid); |
| | font-weight: 600; |
| | } |
| |
|
| | .byok-input { |
| | width: 100%; |
| | background: var(--bg-card); |
| | border: 1px solid var(--border); |
| | border-radius: var(--radius); |
| | padding: 0.85rem 1rem; |
| | color: var(--text); |
| | font-family: 'Fira Code', monospace; |
| | font-size: 0.9rem; |
| | outline: none; |
| | transition: all var(--fast); |
| | margin-bottom: 1rem; |
| | } |
| |
|
| | .byok-input:focus { |
| | border-color: var(--accent); |
| | box-shadow: 0 0 0 2px rgba(201, 100, 62, 0.15); |
| | } |
| |
|
| | .byok-error { |
| | color: var(--fail); |
| | font-size: 0.85rem; |
| | margin-bottom: 1rem; |
| | display: flex; |
| | align-items: center; |
| | gap: 0.4rem; |
| | } |
| |
|
| | .byok-error::before { |
| | content: "β"; |
| | font-weight: 700; |
| | } |
| |
|
| | .byok-submit { |
| | width: 100%; |
| | background: var(--text); |
| | color: var(--bg); |
| | border: none; |
| | padding: 0.85rem; |
| | display: flex; |
| | justify-content: center; |
| | align-items: center; |
| | } |
| |
|
| | .byok-submit:not(:disabled):hover { |
| | background: #FFF; |
| | transform: translateY(-1px); |
| | box-shadow: 0 4px 12px rgba(255, 255, 255, 0.15); |
| | } |
| |
|
| | .byok-submit:disabled { |
| | opacity: 0.5; |
| | cursor: not-allowed; |
| | } |
| |
|
| | .billing-footer { |
| | text-align: center; |
| | font-size: 0.85rem; |
| | color: var(--text-dim); |
| | } |
| |
|
| | .billing-link { |
| | color: var(--accent); |
| | text-decoration: none; |
| | font-weight: 500; |
| | transition: color var(--fast); |
| | } |
| |
|
| | .billing-link:hover { |
| | text-decoration: underline; |
| | } |
| |
|