:root { --ht-bg: #070b18; --ht-bg-2: #0d1630; --ht-surface: rgba(13, 20, 41, 0.82); --ht-surface-strong: rgba(14, 23, 48, 0.94); --ht-border: rgba(113, 213, 255, 0.18); --ht-border-strong: rgba(247, 178, 103, 0.34); --ht-text: #eef4ff; --ht-muted: #b9c8e0; --ht-cyan: #54cbff; --ht-cyan-soft: rgba(84, 203, 255, 0.16); --ht-amber: #f7b267; --ht-amber-soft: rgba(247, 178, 103, 0.12); --ht-success: #9effc7; --ht-grid: rgba(148, 201, 255, 0.06); --font-display: "Space Grotesk", "IBM Plex Sans", sans-serif; --font-body: "IBM Plex Sans", system-ui, sans-serif; } html[data-theme="light"] { --ht-bg: #f4f8ff; --ht-bg-2: #dbeaff; --ht-surface: rgba(255, 255, 255, 0.85); --ht-surface-strong: rgba(255, 255, 255, 0.96); --ht-border: rgba(9, 54, 122, 0.14); --ht-border-strong: rgba(194, 104, 15, 0.3); --ht-text: #081426; --ht-muted: #4f6686; --ht-cyan: #0d80b8; --ht-cyan-soft: rgba(13, 128, 184, 0.12); --ht-amber: #c8680f; --ht-amber-soft: rgba(200, 104, 15, 0.12); --ht-success: #0f8b56; --ht-grid: rgba(35, 90, 167, 0.08); } * { box-sizing: border-box; } html, body, #root { min-height: 100%; } body { margin: 0; font-family: var(--font-body); color: var(--ht-text); background: radial-gradient(circle at top, rgba(84, 203, 255, 0.18), transparent 30%), radial-gradient(circle at 85% 15%, rgba(247, 178, 103, 0.18), transparent 26%), linear-gradient(180deg, var(--ht-bg), var(--ht-bg-2)); background-attachment: fixed; } body::before { content: ""; position: fixed; inset: 0; pointer-events: none; background-image: linear-gradient(var(--ht-grid) 1px, transparent 1px), linear-gradient(90deg, var(--ht-grid) 1px, transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(180deg, rgba(255,255,255,0.28), transparent 68%); } a { color: inherit; text-decoration: none; } img { max-width: 100%; display: block; } .site-shell, .app-shell { min-height: 100vh; } .site-header, .page-main, .site-footer, .app-topbar, .app-main { position: relative; z-index: 1; } .site-header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.25rem clamp(1rem, 3vw, 2.25rem); border-bottom: 1px solid var(--ht-border); backdrop-filter: blur(18px); background: rgba(8, 12, 22, 0.42); position: sticky; top: 0; } .brand-mark { display: flex; align-items: center; gap: 0.9rem; min-width: 0; } .brand-mark__image, .app-sidebar__brand-image { width: 3rem; height: 3rem; object-fit: contain; filter: drop-shadow(0 0 18px rgba(84, 203, 255, 0.2)); } .brand-mark strong, .app-sidebar__brand strong { display: block; font-family: var(--font-display); letter-spacing: 0.02em; } .brand-mark small, .app-sidebar__brand p, .site-footer__brand p, .app-topbar__user span { display: block; color: var(--ht-muted); } .site-nav, .site-header__actions, .button-row, .feature-band, .metric-grid, .surface-matrix, .card-grid, .split-grid, .panel-grid, .app-nav, .site-footer__links { display: flex; gap: 1rem; } .site-nav { flex-wrap: wrap; justify-content: center; } .button-row { flex-wrap: wrap; } .button-row > * { min-width: 0; } .site-nav__link, .app-nav__link { padding: 0.7rem 0.95rem; border-radius: 999px; color: var(--ht-muted); transition: 160ms ease; } .site-nav__link:hover, .site-nav__link.is-active, .app-nav__link:hover, .app-nav__link.is-active { color: var(--ht-text); background: var(--ht-cyan-soft); } .button { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 2.8rem; padding: 0.8rem 1.1rem; border-radius: 999px; border: 1px solid transparent; font-weight: 700; cursor: pointer; transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, color 160ms ease; } .button:hover { transform: translateY(-1px); } .button--primary { background: linear-gradient(120deg, var(--ht-amber), #ffc788); color: #09111d; } .button--ghost { background: rgba(255, 255, 255, 0.02); border-color: var(--ht-border); color: var(--ht-text); } .button--full { width: 100%; } .button.is-disabled, .button:disabled { opacity: 0.62; cursor: not-allowed; transform: none; } .page-main { width: min(1180px, calc(100vw - 2rem)); margin: 0 auto; padding-bottom: 4rem; } .page-hero { padding: clamp(2.25rem, 6vw, 5rem) 0 1.5rem; } .eyebrow { margin: 0 0 0.65rem; font-size: 0.79rem; text-transform: uppercase; letter-spacing: 0.16em; color: var(--ht-cyan); font-weight: 700; } .page-hero h1, .app-topbar h1, .auth-card h1 { margin: 0; font-family: var(--font-display); font-size: clamp(2.4rem, 6vw, 4.8rem); line-height: 0.98; } .page-hero__lede, .section-heading p, .hero-copy p, .card p, .callout p, .panel p, .timeline-entry p, .auth-card__subtitle { color: var(--ht-muted); line-height: 1.7; overflow-wrap: anywhere; word-break: break-word; } .hero-panel, .page-section, .site-footer, .auth-card, .app-sidebar, .app-topbar, .panel, .hero-visual-card, .metric-card, .card, .callout, .timeline-entry { border: 1px solid var(--ht-border); background: var(--ht-surface); border-radius: 1.5rem; box-shadow: 0 24px 90px rgba(0, 0, 0, 0.15); backdrop-filter: blur(18px); } .hero-panel { padding: clamp(1.25rem, 3vw, 2rem); } .hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.85fr); gap: 1.5rem; align-items: center; } .hero-copy { display: grid; gap: 1.2rem; } .hero-visual-card { padding: 1.2rem; background: radial-gradient(circle at top, rgba(84, 203, 255, 0.18), transparent 42%), linear-gradient(180deg, rgba(15, 24, 48, 0.96), rgba(10, 16, 30, 0.94)); } .hero-visual-card__image { width: min(320px, 100%); margin: 0 auto; } .hero-visual-card__caption { margin: 1rem 0 0; color: var(--ht-muted); text-align: center; } .metric-grid { margin-top: 1rem; flex-wrap: wrap; } .metric-card { flex: 1 1 210px; padding: 1rem 1.1rem; } .metric-card strong { display: block; font-family: var(--font-display); font-size: 1.45rem; } .metric-card span { color: var(--ht-muted); } .page-section { margin-top: 1.4rem; padding: clamp(1.25rem, 3vw, 1.85rem); } .section-heading { margin-bottom: 1rem; } .section-heading h2, .card h3, .panel h2, .timeline-entry h3 { margin: 0; font-family: var(--font-display); } .card-grid, .split-grid, .surface-matrix, .panel-grid { flex-wrap: wrap; } .card-grid > *, .split-grid > *, .surface-matrix > *, .panel-grid > * { flex: 1 1 280px; min-width: 0; } .card, .panel, .callout, .timeline-entry { padding: 1.15rem; } .card--selected { border-color: var(--ht-border-strong); box-shadow: inset 0 0 0 1px rgba(247, 178, 103, 0.16); } .card--compact { display: grid; gap: 0.8rem; } .card--pricing { display: grid; gap: 1rem; } .top-gap { margin-top: 1rem; } .status-pill { display: inline-flex; align-items: center; gap: 0.4rem; margin: 0 0 0.6rem; padding: 0.3rem 0.65rem; border-radius: 999px; background: var(--ht-amber-soft); color: var(--ht-amber); font-size: 0.8rem; font-weight: 700; } .status-pill--info { background: var(--ht-cyan-soft); color: var(--ht-cyan); } .status-pill--success { background: rgba(158, 255, 199, 0.14); color: var(--ht-success); } .status-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem; } .status-row .status-pill { margin-bottom: 0; } .site-status-banner { margin-bottom: 1.4rem; } .site-status-banner .inline-link { margin-top: 0; } .list { margin: 0; padding-left: 1.15rem; display: grid; gap: 0.6rem; color: var(--ht-muted); } .list li, .auth-card__footer { overflow-wrap: anywhere; word-break: break-word; } .feature-band { flex-wrap: wrap; } .feature-band__card { flex: 1 1 280px; display: block; padding: 1.2rem; border: 1px solid var(--ht-border); border-radius: 1.3rem; background: rgba(10, 16, 30, 0.56); } .feature-band__card--link { transition: border-color 160ms ease, transform 160ms ease; } .feature-band__card--link:hover { transform: translateY(-2px); border-color: var(--ht-border-strong); } .surface-matrix__card { display: grid; gap: 0.9rem; } .surface-matrix__section { display: grid; gap: 0.45rem; } .surface-matrix__section h4 { margin: 0; color: var(--ht-cyan); font-size: 0.82rem; letter-spacing: 0.1em; text-transform: uppercase; } .surface-matrix__next { margin: 0; color: var(--ht-muted); } .surface-matrix__next strong { color: var(--ht-text); } .inline-link { display: inline-flex; align-items: center; gap: 0.45rem; margin-top: 0.8rem; color: var(--ht-cyan); font-weight: 700; } .timeline { display: grid; gap: 1rem; } .timeline-entry { border-left: 4px solid var(--ht-amber); } .timeline-entry__date { margin: 0 0 0.4rem; color: var(--ht-cyan); font-size: 0.85rem; font-weight: 700; } .site-footer { width: min(1180px, calc(100vw - 2rem)); margin: 1rem auto 2rem; padding: 1.2rem; display: grid; gap: 0.9rem; } .site-footer__links { flex-wrap: wrap; } .site-footer__note { color: var(--ht-muted); } .auth-shell { min-height: 100vh; display: grid; place-items: center; padding: 1.25rem; } .fatal-app-shell { min-height: 100vh; width: min(960px, calc(100vw - 2rem)); margin: 0 auto; display: grid; place-items: center; padding: 1.25rem 0 4rem; } .fatal-app-card { width: min(100%, 42rem); padding: 1.8rem; } .fatal-app-card__lede { margin: 1rem 0 1.25rem; color: var(--ht-muted); line-height: 1.6; } .auth-card { width: min(760px, 100%); padding: 1.6rem; display: grid; gap: 1rem; } .auth-form { display: grid; gap: 0.7rem; } .input-label { font-size: 0.92rem; color: var(--ht-muted); } .input { width: 100%; min-height: 2.9rem; padding: 0.85rem 0.95rem; border-radius: 1rem; border: 1px solid var(--ht-border); background: rgba(7, 12, 24, 0.7); color: var(--ht-text); } .input:focus { outline: 2px solid rgba(84, 203, 255, 0.24); outline-offset: 1px; } .form-error { color: #ff9f9f; margin: 0; } .provider-row { display: grid; gap: 0.7rem; } .auth-card__footer { color: var(--ht-muted); } .app-shell { display: grid; grid-template-columns: 280px minmax(0, 1fr); } .app-sidebar { min-height: 100vh; margin: 0.8rem; padding: 1rem; position: sticky; top: 0.8rem; align-self: start; } .app-sidebar__brand { display: flex; align-items: center; gap: 0.85rem; margin-bottom: 1.2rem; } .app-nav { flex-direction: column; } .app-nav__link { display: flex; align-items: center; gap: 0.7rem; } .app-sidebar__footer { margin-top: 1.25rem; display: grid; gap: 0.65rem; } .app-main-shell { padding: 0.8rem 0.8rem 0.8rem 0; } .app-topbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; padding: 1rem 1.2rem; } .app-main { padding-top: 0.9rem; } .code-block { padding: 0.9rem 1rem; border-radius: 1rem; background: rgba(3, 9, 20, 0.74); border: 1px solid var(--ht-border); overflow-x: auto; } code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; color: var(--ht-success); } .general-page-loader-shell { position: relative; min-height: calc(100vh - 10rem); display: grid; place-items: center; overflow: hidden; padding: 1.5rem; background: radial-gradient(circle at top, rgba(84, 203, 255, 0.12), transparent 40%), radial-gradient(circle at bottom, rgba(247, 178, 103, 0.1), transparent 48%), linear-gradient(180deg, rgba(6, 10, 20, 0.9), rgba(7, 11, 19, 0.96)); } .general-page-loader-shell--fullscreen { min-height: 100vh; } .general-page-loader-frame { position: relative; display: inline-flex; min-width: min(24rem, 82vw); flex-direction: column; align-items: center; gap: 0.9rem; border: 1px solid var(--ht-border-strong); border-radius: 1.2rem; padding: 1.35rem 1.2rem 1.1rem; background: rgba(12, 18, 35, 0.72); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 0 28px rgba(84, 203, 255, 0.15); backdrop-filter: blur(14px); } .general-page-loader-frame::before { content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; background: radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 58%); } .general-page-loader-brand { position: relative; z-index: 1; display: grid; place-items: center; width: 4.5rem; height: 4.5rem; border-radius: 1.4rem; border: 1px solid rgba(84, 203, 255, 0.24); background: radial-gradient(circle at top, rgba(84, 203, 255, 0.12), transparent 58%), rgba(8, 13, 26, 0.9); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04), 0 0 22px rgba(84, 203, 255, 0.16); } .general-page-loader-brand__image { width: 2.4rem; height: 2.4rem; object-fit: contain; } .general-page-loader-eyebrow { position: relative; z-index: 1; margin: 0; font-size: 0.73rem; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255, 255, 255, 0.62); } .general-page-loader-text { position: relative; z-index: 1; display: inline-flex; font-size: 0.81rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ht-muted); } .general-page-loader-body { position: relative; z-index: 1; margin: 0; max-width: 32rem; text-align: center; color: var(--ht-muted); line-height: 1.7; } .general-page-loader-extra { position: relative; z-index: 1; width: 100%; } .general-page-loader-actions { justify-content: center; } .loading-spinner { color: var(--ht-cyan); text-shadow: 0 0 6px rgba(84, 203, 255, 0.9), 0 0 18px rgba(84, 203, 255, 0.55), 0 0 32px rgba(84, 203, 255, 0.28); } .loading-spinner.is-completing { color: var(--ht-amber); text-shadow: 0 0 6px rgba(247, 178, 103, 0.95), 0 0 18px rgba(247, 178, 103, 0.55), 0 0 32px rgba(247, 178, 103, 0.28); } @media (max-width: 980px) { .hero-grid, .app-shell { grid-template-columns: 1fr; } .site-header, .app-topbar { align-items: flex-start; flex-direction: column; } .app-sidebar { position: static; } .app-main-shell { padding: 0 0.8rem 0.8rem; } } @media (max-width: 720px) { .site-header, .page-main, .site-footer { width: min(100vw - 1rem, 100%); } .site-header { padding-inline: 0.8rem; } .page-main { padding-bottom: 2rem; } .site-nav, .site-header__actions, .button-row { width: 100%; flex-direction: column; } .button-row > * { width: 100%; } .button-row .button { width: 100%; max-width: 100%; white-space: normal; } }