:root { --bg: #f5f7fb; --panel: rgba(255, 255, 255, 0.92); --panel-strong: #ffffff; --ink: #181b24; --muted: #6f7d98; --line: rgba(113, 126, 153, 0.17); --accent: #2c6bff; --accent-soft: #edf3ff; --accent-strong: #0f5eff; --shadow: 0 14px 40px rgba(84, 96, 122, 0.08); --shadow-soft: 0 8px 22px rgba(84, 96, 122, 0.06); --shadow-hover: 0 18px 46px rgba(70, 83, 112, 0.12); --radius-xl: 30px; --radius-lg: 22px; --radius-md: 16px; --container: 1280px; --font-display: "Avenir Next", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; --font-body: "IBM Plex Sans", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; } * { box-sizing: border-box; } html { scroll-behavior: smooth; background: var(--bg); } body { margin: 0; color: var(--ink); font-family: var(--font-body); background: radial-gradient(circle at 12% 0%, rgba(44, 107, 255, 0.07), transparent 28%), radial-gradient(circle at 100% 0%, rgba(44, 107, 255, 0.05), transparent 24%), linear-gradient(180deg, #fafcff 0%, #f5f7fb 100%); min-height: 100vh; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; } a { color: inherit; text-decoration: none; } ::selection { background: rgba(44, 107, 255, 0.14); } button, input, textarea, select { font: inherit; -webkit-tap-highlight-color: transparent; } pre, code { font-family: "SFMono-Regular", "JetBrains Mono", Consolas, monospace; } .site-shell { min-height: 100vh; } .site-header, .site-footer, .main-content { width: min(calc(100% - 44px), var(--container)); margin: 0 auto; } .site-header { position: sticky; top: 0; z-index: 20; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 20px; margin-top: 24px; padding: 18px 22px; border: 1px solid var(--line); border-radius: 999px; backdrop-filter: blur(18px) saturate(130%); background: rgba(255, 255, 255, 0.82); box-shadow: 0 8px 28px rgba(73, 82, 108, 0.06); } .brand-lockup { display: flex; align-items: center; gap: 12px; } .brand-lockup strong, .section-heading h1, .section-heading h2, .hero-copy h1, .pricing-card h2, .feature-card h3, .faq-card h3, .dashboard-card h2, .login-panel h1, .benefit-card h2 { font-family: var(--font-display); } .brand-lockup span { display: block; color: var(--muted); font-size: 12px; letter-spacing: 0.03em; } .brand-mark { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 999px; background: linear-gradient(135deg, #85a4ff 0%, #2c6bff 100%); color: white; font-size: 0; box-shadow: 0 0 0 8px rgba(44, 107, 255, 0.1); } .main-nav, .header-actions, .locale-switch, .auth-cluster, .hero-actions, .hero-proof, .dashboard-actions, .pricing-top, .docs-row, .table-row { display: flex; align-items: center; } .main-nav { gap: 10px; color: var(--muted); font-size: 15px; justify-self: center; flex-wrap: wrap; } .main-nav a:hover, .footer-links a:hover, .locale-switch a:hover, .locale-switch button:hover { color: var(--ink); } .nav-link { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; white-space: nowrap; border-radius: 999px; border: 1px solid transparent; color: var(--muted); transition: border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease; } .nav-link:hover { border-color: rgba(113, 126, 153, 0.12); background: rgba(255, 255, 255, 0.72); } .nav-link-active { border-color: var(--line); background: rgba(255, 255, 255, 0.96); color: var(--ink); box-shadow: 0 6px 18px rgba(84, 94, 126, 0.07); } .header-actions { gap: 14px; justify-self: end; justify-content: flex-end; min-width: 0; flex-wrap: nowrap; } .locale-switch { position: relative; flex-shrink: 0; } .locale-menu-button, .locale-menu-item { color: var(--muted); font-size: 14px; font-weight: 500; white-space: nowrap; border: 0; background: transparent; cursor: pointer; transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease, border-color 180ms ease, transform 180ms ease; } .locale-menu-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 104px; height: 46px; padding: 0 16px; border: 1px solid rgba(113, 126, 153, 0.12); border-radius: 999px; background: rgba(255, 255, 255, 0.78); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72); } .locale-menu-button:hover, .locale-menu-button-open { background: rgba(255, 255, 255, 0.96); color: var(--ink); border-color: rgba(113, 126, 153, 0.22); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84), 0 8px 18px rgba(84, 94, 126, 0.08); } .locale-menu-chevron { font-size: 12px; color: var(--muted); transition: transform 180ms ease, color 180ms ease; } .locale-menu-button-open .locale-menu-chevron, .locale-menu-button:hover .locale-menu-chevron { color: var(--ink); } .locale-menu-chevron-open { transform: rotate(180deg); } .locale-menu-list { position: absolute; right: 0; top: calc(100% + 10px); z-index: 30; display: grid; min-width: 164px; padding: 8px; border: 1px solid rgba(113, 126, 153, 0.14); border-radius: 20px; background: rgba(255, 255, 255, 0.98); box-shadow: 0 20px 44px rgba(84, 96, 122, 0.14); backdrop-filter: blur(18px); } .locale-menu-item { display: flex; align-items: center; width: 100%; min-height: 46px; padding: 0 14px; border-radius: 14px; text-align: left; } .locale-menu-item:hover { background: rgba(44, 107, 255, 0.06); color: var(--ink); } .locale-menu-item-active { background: rgba(44, 107, 255, 0.08); color: var(--ink); font-weight: 600; } .auth-cluster { gap: 10px; min-width: 0; flex-wrap: nowrap; } .session-pill { display: inline-flex; align-items: center; gap: 10px; min-width: 96px; width: 96px; max-width: 96px; padding: 6px 12px 6px 6px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255, 255, 255, 0.72); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6); transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease; } .session-pill:hover { background: rgba(255, 255, 255, 0.92); border-color: rgba(113, 126, 153, 0.24); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72), 0 8px 18px rgba(84, 96, 122, 0.08); } .session-pill:active { transform: scale(0.985); } .session-avatar { display: inline-grid; place-items: center; width: 32px; height: 32px; min-width: 32px; min-height: 32px; flex: 0 0 32px; aspect-ratio: 1 / 1; border-radius: 999px; background: linear-gradient(135deg, #85a4ff 0%, #2c6bff 100%); color: white; font-size: 12px; font-weight: 700; } .session-name, .session-hint { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; } .session-name { flex: 1 1 auto; min-width: 0; } .session-hint { color: var(--muted); } .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; white-space: nowrap; border-radius: 999px; border: 1px solid transparent; font-weight: 600; transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease; } .button:hover { transform: translateY(-1px); } .button:active { transform: translateY(0) scale(0.985); } .button-dark { background: linear-gradient(180deg, #1b1c22 0%, #121318 100%); color: white; box-shadow: 0 12px 24px rgba(23, 27, 36, 0.12); } .button-dark:hover { box-shadow: 0 16px 30px rgba(23, 27, 36, 0.16); } .button-light { background: rgba(255, 255, 255, 0.86); color: var(--ink); border-color: var(--line); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78); } .button-light:hover { background: rgba(255, 255, 255, 0.96); border-color: rgba(113, 126, 153, 0.22); } .button-small { min-height: 40px; min-width: 72px; padding: 0 16px; } .button-auth-stable { min-width: 112px; width: 112px; max-width: 112px; } .main-content { padding: 32px 0 56px; } .page-stack { display: grid; gap: 24px; } .hero-panel, .section-panel, .pricing-card, .docs-card, .dashboard-card, .login-panel, .benefit-card, .faq-card, .feature-card, .step-card, .stat-card { border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--panel); box-shadow: var(--shadow); } .hero-panel, .section-panel, .login-shell, .pricing-grid, .docs-layout, .dashboard-grid, .card-grid, .steps-grid, .stats-grid, .faq-grid { display: grid; gap: 20px; } .hero-panel { grid-template-columns: 1.08fr 0.92fr; padding: 48px; min-height: 470px; overflow: hidden; background: radial-gradient(circle at 100% 0%, rgba(44, 107, 255, 0.08), transparent 32%), linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.9) 100%); } .hero-copy, .hero-stage, .pricing-card, .docs-card, .dashboard-card, .login-panel, .benefit-card, .faq-card, .feature-card, .step-card, .stat-card { position: relative; } .page-stack > * { animation: rise-in 460ms cubic-bezier(0.2, 0.8, 0.2, 1) both; } .page-stack > *:nth-child(2) { animation-delay: 40ms; } .page-stack > *:nth-child(3) { animation-delay: 80ms; } .page-stack > *:nth-child(4) { animation-delay: 120ms; } .hero-copy h1, .section-heading h1 { margin: 0; font-size: clamp(3rem, 5vw, 5.3rem); line-height: 0.95; max-width: 12ch; letter-spacing: -0.04em; } .section-heading h2 { margin: 0; font-size: clamp(2rem, 3vw, 2.85rem); line-height: 1.04; max-width: 14ch; letter-spacing: -0.03em; } .hero-description, .section-heading p, .pricing-summary, .billing-copy, .legal-copy, .feature-card p, .faq-card p, .step-card p, .docs-row p, .table-row p, .login-panel p, .benefit-card p, .stage-card p, .install-note { color: var(--muted); line-height: 1.65; } .hero-description { max-width: 34rem; font-size: 1.14rem; } .hero-actions { gap: 14px; margin-top: 30px; flex-wrap: wrap; } .hero-proof { gap: 18px; margin-top: 20px; flex-wrap: wrap; color: var(--muted); font-size: 14px; } .hero-stage { align-content: center; } .stage-card { padding: 26px; border-radius: 28px; border: 1px solid var(--line); background: rgba(255, 255, 255, 0.96); box-shadow: var(--shadow-soft); } .stage-card + .stage-card { margin-top: 16px; } .stage-card-primary { background: linear-gradient(155deg, rgba(237, 243, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%); } .stage-label, .eyebrow, .card-kicker { color: var(--accent); text-transform: uppercase; letter-spacing: 0.12em; font-size: 12px; font-weight: 700; } .hero-panel-reference { min-height: 580px; padding: 56px 54px; grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr); background: radial-gradient(circle at 100% 0%, rgba(44, 107, 255, 0.06), transparent 30%), linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 255, 0.96) 100%); } .hero-panel-reference .hero-copy { align-self: center; padding-right: 12px; } .hero-panel-reference .eyebrow { margin-bottom: 22px; } .hero-panel-reference .hero-description { max-width: 38rem; font-size: 1.18rem; color: var(--muted); } .hero-panel-reference .hero-actions { margin-top: 36px; } .hero-panel-reference .hero-proof { margin-top: 24px; gap: 22px; font-size: 15px; } .hero-stage-reference { position: relative; min-height: 440px; align-self: stretch; } .hero-pattern { position: absolute; inset: 4px; overflow: hidden; border: 1px solid rgba(113, 126, 153, 0.16); border-radius: 34px; background: radial-gradient(circle at 0% 0%, rgba(44, 107, 255, 0.1), transparent 22%), radial-gradient(circle at 100% 100%, rgba(44, 107, 255, 0.06), transparent 24%), linear-gradient(180deg, #fcfdff 0%, #f2f7ff 100%); } .hero-pattern::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0) 18%), linear-gradient(90deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0) 32%); pointer-events: none; } .hero-pattern-row { display: flex; gap: 18px; white-space: nowrap; padding: 20px 24px 0; color: rgba(44, 107, 255, 0.18); font-size: 13px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; } .hero-pattern-row:nth-child(2n) { transform: translateX(-28px); } .hero-pattern-row:nth-child(3n) { transform: translateX(-12px); } .stage-card-floating { position: absolute; right: 34px; bottom: 34px; width: min(380px, calc(100% - 68px)); border-radius: 32px; box-shadow: 0 16px 34px rgba(84, 96, 122, 0.09); } .scene-card { display: grid; align-content: start; padding: 0; overflow: hidden; } .scene-card > .card-kicker, .scene-card > h3, .scene-card > p, .scene-card > .scene-link { margin-left: 26px; margin-right: 26px; } .scene-card > .card-kicker { margin-top: 18px; } .scene-card > h3 { margin-top: 10px; margin-bottom: 8px; } .scene-card > p { margin-top: 0; margin-bottom: 20px; } .scene-link { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 26px; color: var(--accent); font-weight: 700; } .scene-link::after { content: "→"; } .scene-visual { position: relative; min-height: 212px; border-bottom: 1px solid rgba(173, 185, 214, 0.24); overflow: hidden; } .scene-visual::before, .scene-visual::after { content: ""; position: absolute; border-radius: 999px; opacity: 0.92; } .scene-visual::before { width: 74%; height: 74%; left: -10%; top: -14%; background: rgba(255, 255, 255, 0.72); filter: blur(6px); } .scene-visual::after { width: 44%; height: 44%; right: 8%; bottom: 10%; background: rgba(255, 255, 255, 0.48); filter: blur(2px); } .scene-visual-1 { background: linear-gradient(145deg, #edf3ff 0%, #eef5ff 50%, #fbfdff 100%); } .scene-visual-2 { background: linear-gradient(145deg, #eef7ff 0%, #ebf5ff 45%, #fbfeff 100%); } .scene-visual-3 { background: linear-gradient(145deg, #f3f7ff 0%, #eef4ff 45%, #fbfdff 100%); } .scene-visual-4 { background: linear-gradient(145deg, #edf8ff 0%, #eefcff 45%, #fbffff 100%); } .scene-visual-5 { background: linear-gradient(145deg, #eef4ff 0%, #f2f7ff 48%, #fbfdff 100%); } .scene-visual-6 { background: linear-gradient(145deg, #eef2ff 0%, #f4f8ff 52%, #ffffff 100%); } .scene-visual .card-kicker { position: absolute; left: 22px; bottom: 20px; padding: 8px 12px; border: 1px solid rgba(173, 185, 214, 0.24); border-radius: 999px; background: rgba(255, 255, 255, 0.72); backdrop-filter: blur(10px); } .integration-shell { display: grid; gap: 34px; padding: 30px 0 8px; } .integration-heading { display: grid; gap: 16px; justify-items: center; text-align: center; padding: 22px 0 12px; } .integration-heading .eyebrow { font-size: 14px; letter-spacing: 0.22em; } .integration-heading h2 { margin: 0; max-width: 12ch; font-family: var(--font-display); font-size: clamp(2.7rem, 4.6vw, 4.4rem); line-height: 0.98; letter-spacing: -0.05em; } .integration-heading p { margin: 0; max-width: 30ch; color: var(--muted); font-size: 1.18rem; line-height: 1.62; } .integration-steps { display: grid; gap: 22px; } .integration-step-card { padding: 44px 46px 40px; border: 1px solid rgba(113, 126, 153, 0.18); border-radius: 36px; background: rgba(255, 255, 255, 0.98); box-shadow: var(--shadow-soft); } .integration-step-head { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; } .integration-step-dot { width: 18px; height: 18px; flex: 0 0 auto; border-radius: 999px; background: linear-gradient(135deg, #83a7ff 0%, #2c6bff 100%); box-shadow: 0 0 0 6px rgba(44, 107, 255, 0.08); } .integration-step-label { color: var(--accent); font-size: 15px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; } .integration-step-head h3 { margin: 0; font-family: var(--font-display); font-size: clamp(1.55rem, 2.6vw, 2.2rem); line-height: 1.18; letter-spacing: -0.03em; } .integration-step-body { display: grid; gap: 22px; margin-top: 28px; padding-left: 36px; } .integration-step-body pre { margin: 0; padding: 22px 24px; overflow: auto; border-radius: 26px; background: #161727; color: #f5f7ff; border: 1px solid rgba(255, 255, 255, 0.06); box-shadow: none; } .integration-method-pills { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } .integration-method-pills .pill { min-height: 36px; padding: 0 14px; border: 1px solid rgba(44, 107, 255, 0.12); background: rgba(44, 107, 255, 0.06); color: #4f6fba; } .integration-step-actions { display: flex; align-items: center; justify-content: space-between; gap: 18px; flex-wrap: wrap; } .integration-step-actions span { color: var(--muted); font-size: 1.05rem; line-height: 1.55; } .integration-step-actions .button-dark { min-width: 132px; min-height: 72px; padding: 0 30px; } .integration-step-body-compact { padding-top: 4px; } .integration-docs-link { min-height: 72px; padding: 0 28px; gap: 14px; color: #2371ff; font-size: 1.25rem; font-weight: 700; border-color: rgba(113, 126, 153, 0.2); background: rgba(255, 255, 255, 0.94); } .integration-docs-link span { font-size: 1.4rem; } .stage-stat { margin-top: 12px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1; font-weight: 700; } .stage-mini-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .stage-mini-grid span { padding: 14px 16px; border-radius: 16px; background: rgba(44, 107, 255, 0.055); border: 1px solid rgba(44, 107, 255, 0.08); font-size: 14px; } .section-panel, .docs-card, .dashboard-card, .login-panel, .benefit-card, .pricing-card, .faq-card, .feature-card, .step-card, .stat-card { padding: 30px; } .hero-tight .section-heading h1 { max-width: none; font-size: clamp(2.4rem, 4vw, 4rem); } .section-panel-accent { background: linear-gradient(145deg, rgba(239, 244, 255, 0.88) 0%, rgba(255, 255, 255, 0.98) 100%); } .section-heading { display: grid; gap: 10px; } .section-heading.compact h2 { margin: 0; font-size: 1.6rem; } .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .card-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); } .install-grid { align-items: stretch; } .feature-card h3, .faq-card h3, .step-card h3 { margin: 14px 0 8px; font-size: 1.3rem; } .feature-card, .faq-card, .step-card, .pricing-card, .docs-card, .dashboard-card, .stat-card, .benefit-card { background: rgba(255, 255, 255, 0.96); transition: transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 220ms cubic-bezier(0.2, 0.8, 0.2, 1), border-color 220ms cubic-bezier(0.2, 0.8, 0.2, 1); } .feature-card:hover, .faq-card:hover, .step-card:hover, .pricing-card:hover, .docs-card:hover, .dashboard-card:hover, .stat-card:hover, .benefit-card:hover { transform: translateY(-3px); border-color: rgba(113, 126, 153, 0.24); box-shadow: var(--shadow-hover); } .steps-grid, .stats-grid, .faq-grid, .pricing-grid, .docs-layout, .dashboard-grid, .login-shell { grid-template-columns: repeat(2, minmax(0, 1fr)); } .step-number { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 16px; background: rgba(44, 107, 255, 0.1); color: var(--accent); font-weight: 700; } .stat-card { gap: 10px; } .stat-card strong { display: block; font-size: 2rem; } .stat-card span { color: var(--muted); } .pricing-card { display: grid; gap: 16px; align-content: start; } .pricing-card h3 { margin: 12px 0 8px; font-family: var(--font-display); font-size: 1.35rem; line-height: 1.18; letter-spacing: -0.02em; } .pricing-card-highlight { background: linear-gradient(155deg, rgba(239, 244, 255, 0.96) 0%, rgba(255, 255, 255, 0.98) 100%); } .pricing-top { justify-content: space-between; align-items: flex-start; gap: 18px; } .price-line { text-align: right; } .price-line strong { display: block; font-size: 2.4rem; } .price-line span { color: var(--muted); } .bullet-list, .number-list { margin: 0; padding-left: 20px; color: var(--muted); line-height: 1.8; } .number-list { display: grid; gap: 18px; } .number-list li strong { display: block; margin-bottom: 6px; color: var(--ink); } .docs-card pre, .feature-card pre, .dashboard-card pre, .code-card pre { margin: 14px 0; padding: 16px; overflow: auto; border-radius: 18px; background: #151829; color: #f4f7ff; border: 1px solid rgba(255, 255, 255, 0.06); } .install-card { display: grid; align-content: start; } .install-card pre { margin-top: 18px; } .install-note { margin: 0; font-size: 14px; } .bootstrap-callout { display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: 24px; margin-top: 26px; padding: 26px 28px; border: 1px solid var(--line); border-radius: 28px; background: linear-gradient(145deg, rgba(239, 244, 255, 0.82) 0%, rgba(255, 255, 255, 0.94) 100%); box-shadow: var(--shadow-soft); } .bootstrap-callout h3 { margin: 10px 0 10px; font-size: 1.35rem; } .bootstrap-callout p { color: var(--muted); line-height: 1.65; } .bootstrap-callout pre { margin: 0; } .docs-table, .table-list { display: grid; gap: 14px; } .docs-row, .table-row { justify-content: space-between; gap: 20px; padding: 16px 0; border-bottom: 1px solid var(--line); align-items: flex-start; } .docs-row:last-child, .table-row:last-child { border-bottom: 0; } .docs-row strong, .table-row strong { display: block; } .docs-row span, .table-row span { display: block; margin-top: 4px; color: var(--muted); font-size: 13px; } .login-shell { align-items: stretch; } .login-panel { background: linear-gradient(165deg, rgba(239, 244, 255, 0.98) 0%, rgba(255, 255, 255, 0.96) 100%); } .login-actions { display: grid; gap: 12px; margin-top: 28px; } .login-form-stack { display: grid; gap: 16px; margin-top: 26px; } .auth-form, .search-form { display: grid; gap: 10px; } .field-label { font-size: 14px; font-weight: 600; } .field-hint { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.65; } .text-input { width: 100%; min-height: 52px; padding: 0 16px; border: 1px solid var(--line); border-radius: 18px; background: rgba(255, 255, 255, 0.86); color: var(--ink); transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease; } .text-input:focus { outline: 0; border-color: rgba(44, 107, 255, 0.32); background: rgba(255, 255, 255, 0.96); box-shadow: 0 0 0 4px rgba(44, 107, 255, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8); } .inline-note, .code-card, .session-summary, .status-banner { padding: 18px 20px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255, 255, 255, 0.94); } .inline-note strong, .status-banner strong { display: block; margin-bottom: 6px; } .inline-note p, .status-banner span { color: var(--muted); line-height: 1.65; } .status-banner { display: grid; gap: 6px; } .status-banner-error { background: rgba(171, 60, 60, 0.06); border-color: rgba(171, 60, 60, 0.12); } .session-summary { display: grid; gap: 12px; } .session-summary-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; } .session-summary-row span { color: var(--muted); font-size: 14px; } .code-card { background: #151829; } .code-card pre { margin-bottom: 0; } .search-row, .pill-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .search-row .text-input { flex: 1 1 320px; } .pill { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: 999px; background: rgba(44, 107, 255, 0.06); color: var(--muted); font-size: 13px; } .benefit-card { display: grid; align-content: start; } .login-benefits { display: grid; gap: 20px; } .dashboard-top { display: flex; justify-content: space-between; gap: 18px; align-items: flex-end; margin-bottom: 24px; } .dashboard-actions { gap: 12px; flex-wrap: wrap; } .dashboard-grid { align-items: start; } .console-hero { gap: 18px; } .console-hero .section-heading h1 { max-width: none; font-size: clamp(2.8rem, 5vw, 4.4rem); } .console-metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } .console-metric-card, .console-surface-card, .login-guide-panel { border: 1px solid var(--line); border-radius: 28px; background: rgba(255, 255, 255, 0.96); box-shadow: var(--shadow-soft); } .console-metric-card { display: grid; gap: 14px; padding: 30px; } .console-metric-card span, .console-key-copy span { color: var(--muted); } .console-metric-card strong { font-family: var(--font-display); font-size: clamp(2.5rem, 4vw, 3.4rem); line-height: 1; letter-spacing: -0.04em; } .console-metric-card small { color: var(--muted); font-size: 14px; } .console-surface-card { display: grid; gap: 24px; padding: 30px; } .console-key-list { display: grid; gap: 0; } .console-key-row + .console-key-row { border-top: 1px solid var(--line); } .console-key-copy { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 0; } .console-key-copy strong { display: block; margin-bottom: 8px; font-size: 13px; letter-spacing: 0.08em; } .console-key-copy span { display: block; font-size: 1.02rem; line-height: 1.6; word-break: break-all; } .console-copy-button { min-width: 92px; width: 92px; max-width: 92px; flex: 0 0 92px; } .console-code-block { border-radius: 28px; overflow: hidden; background: #161728; } .console-code-block pre { margin: 0; padding: 26px 28px; overflow: auto; color: #edf2ff; } .login-shell-focused { grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr); align-items: stretch; } .login-panel-plain { background: rgba(255, 255, 255, 0.98); } .login-panel-plain h1 { max-width: 12ch; margin: 8px 0 14px; font-size: clamp(2.4rem, 4vw, 3.7rem); line-height: 1.02; letter-spacing: -0.04em; } .login-guide-panel { display: grid; gap: 18px; padding: 30px; } .login-guide-code { margin-top: 2px; } .billing-card { background: linear-gradient(160deg, rgba(239, 244, 255, 0.98) 0%, rgba(255, 255, 255, 0.98) 100%); } .empty-state-card { align-content: start; } .catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } .skill-card { display: grid; gap: 12px; } .meta-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 0; } .meta-grid dt { color: var(--muted); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; } .meta-grid dd { margin: 6px 0 0; font-size: 14px; line-height: 1.55; } .site-footer { display: flex; justify-content: space-between; gap: 24px; padding: 8px 8px 48px; color: var(--muted); } .footer-links { display: flex; gap: 20px; flex-wrap: wrap; } a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid rgba(44, 107, 255, 0.18); outline-offset: 3px; } @keyframes rise-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation: none !important; transition: none !important; } } @media (max-width: 1100px) { .hero-panel, .card-grid-three, .bootstrap-callout, .pricing-grid, .docs-layout, .dashboard-grid, .catalog-grid, .faq-grid, .steps-grid, .stats-grid, .login-shell, .login-shell-focused, .console-metrics-grid { grid-template-columns: 1fr; } .hero-panel { min-height: auto; } .hero-panel-reference { padding: 42px; } .hero-stage-reference { min-height: 360px; } .stage-card-floating { right: 24px; bottom: 24px; width: min(360px, calc(100% - 48px)); } } @media (max-width: 840px) { .site-header, .site-footer, .main-content { width: min(calc(100% - 20px), var(--container)); } .site-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "brand actions" "nav nav"; gap: 14px; padding: 16px 18px 18px; border-radius: 34px; } .brand-lockup { grid-area: brand; } .main-nav { grid-area: nav; flex-wrap: nowrap; justify-self: stretch; overflow-x: auto; padding-bottom: 4px; -ms-overflow-style: none; scrollbar-width: none; } .main-nav::-webkit-scrollbar { display: none; } .nav-link { flex: 0 0 auto; min-height: 42px; padding: 0 16px; font-size: 14px; } .header-actions { grid-area: actions; justify-self: end; align-items: center; gap: 10px; } .dashboard-top, .site-footer, .pricing-top, .docs-row, .table-row, .session-summary-row, .console-key-copy { flex-direction: column; align-items: stretch; } .auth-cluster { gap: 8px; } .session-hint { display: none; } .session-name { max-width: none; } .hero-panel, .section-panel, .pricing-card, .docs-card, .dashboard-card, .login-panel, .benefit-card, .faq-card, .feature-card, .step-card, .stat-card { padding: 22px; } .hero-copy h1, .section-heading h1 { font-size: clamp(2.2rem, 10vw, 3.2rem); } .section-heading h2 { font-size: clamp(1.75rem, 8vw, 2.35rem); max-width: none; } .hero-panel { padding: 28px 22px; } .hero-panel-reference { padding: 28px 22px 24px; min-height: auto; } .hero-panel-reference .hero-description { font-size: 1rem; } .hero-stage-reference { min-height: 300px; } .hero-pattern { position: relative; min-height: 240px; } .hero-pattern-row { padding: 16px 18px 0; gap: 12px; font-size: 11px; letter-spacing: 0.2em; } .stage-card-floating { position: relative; right: auto; bottom: auto; width: auto; margin: -56px 18px 18px; } .hero-actions > * { width: 100%; } .hero-proof { display: grid; gap: 10px; } .search-row > * { width: 100%; } .card-grid { grid-template-columns: 1fr; } .meta-grid { grid-template-columns: 1fr; } .scene-card > .card-kicker, .scene-card > h3, .scene-card > p, .scene-card > .scene-link { margin-left: 22px; margin-right: 22px; } .scene-visual { min-height: 180px; } .session-pill { min-width: 92px; width: 92px; max-width: 92px; } .integration-shell { gap: 24px; padding-top: 10px; } .integration-heading { justify-items: start; text-align: left; padding: 12px 2px 0; } .integration-heading h2, .integration-heading p { max-width: none; } .integration-step-card { padding: 28px 24px 24px; border-radius: 28px; } .integration-step-head { gap: 14px; } .integration-step-body, .integration-step-body-compact { padding-left: 0; } .integration-step-actions { align-items: stretch; } .integration-step-actions > * { width: 100%; } .integration-step-actions .button-dark, .integration-docs-link { min-height: 58px; width: 100%; justify-content: center; } .console-surface-card, .console-metric-card, .login-guide-panel { padding: 24px; border-radius: 24px; } .console-copy-button { min-width: 100%; width: 100%; max-width: none; flex: 1 1 auto; } .locale-menu-button { min-width: 92px; height: 42px; padding: 0 14px; } .locale-menu-list { min-width: 148px; } } @media (max-width: 640px) { .site-header, .site-footer, .main-content { width: min(calc(100% - 16px), var(--container)); } .main-content { padding: 22px 0 44px; } .page-stack { gap: 18px; } .brand-lockup strong { font-size: 1.1rem; } .brand-lockup span { display: none; } .button { min-height: 46px; } .button-small { min-height: 38px; padding: 0 12px; } .button-auth-stable { min-width: 96px; width: 96px; max-width: 96px; } .locale-menu-button { min-width: 84px; height: 40px; padding: 0 12px; font-size: 13px; } .locale-menu-list { min-width: 136px; padding: 6px; border-radius: 18px; } .locale-menu-item { min-height: 42px; padding: 0 12px; font-size: 13px; } .hero-panel, .section-panel, .pricing-card, .docs-card, .dashboard-card, .login-panel, .benefit-card, .faq-card, .feature-card, .step-card, .stat-card { padding: 20px; border-radius: 24px; } .hero-copy h1, .section-heading h1 { max-width: none; font-size: clamp(2rem, 11vw, 2.8rem); } .hero-description, .section-heading p, .pricing-summary, .billing-copy, .legal-copy, .feature-card p, .faq-card p, .step-card p, .docs-row p, .table-row p, .login-panel p, .benefit-card p, .stage-card p { font-size: 14px; } .hero-stage { gap: 12px; } .stage-card { padding: 20px; border-radius: 22px; } .hero-panel-reference { padding: 20px; } .hero-pattern { min-height: 208px; border-radius: 24px; } .hero-pattern-row { padding: 14px 14px 0; } .stage-card-floating { margin: -42px 14px 14px; border-radius: 24px; } .stage-card + .stage-card { margin-top: 0; } .stage-stat { font-size: clamp(1.8rem, 10vw, 2.5rem); } .stage-mini-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .stage-mini-grid span { padding: 12px; font-size: 13px; } .scene-card > .card-kicker, .scene-card > h3, .scene-card > p, .scene-card > .scene-link { margin-left: 20px; margin-right: 20px; } .scene-visual { min-height: 164px; } .session-pill { min-width: 88px; width: 88px; max-width: 88px; } .integration-heading h2 { font-size: clamp(2.1rem, 12vw, 2.9rem); } .integration-heading p, .integration-step-actions span { font-size: 14px; } .integration-step-card { padding: 22px 20px 20px; border-radius: 24px; } .integration-step-head h3 { font-size: 1.3rem; } .integration-step-body { margin-top: 20px; gap: 16px; } .integration-step-body pre { padding: 18px; border-radius: 18px; } .integration-method-pills .pill { min-height: 34px; padding: 0 12px; font-size: 12px; } .console-metric-card strong { font-size: 2.3rem; } .console-code-block { border-radius: 20px; } .console-code-block pre { padding: 20px; } .section-heading.compact h2, .dashboard-card h2, .pricing-card h2 { font-size: 1.35rem; } .feature-card h3, .faq-card h3, .step-card h3 { font-size: 1.15rem; } .step-number { width: 44px; height: 44px; border-radius: 14px; } .stat-card strong, .price-line strong { font-size: 1.9rem; } .docs-card pre, .feature-card pre, .dashboard-card pre, .code-card pre { padding: 14px; border-radius: 16px; font-size: 12px; } .inline-note, .code-card, .session-summary, .status-banner { padding: 16px; border-radius: 18px; } .site-footer { gap: 14px; padding-bottom: 32px; } }