Spaces:
Running
Running
| @import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap"); | |
| :root { | |
| --bg: #f4ede2; | |
| --bg-accent: #e7f1f0; | |
| --surface: rgba(255, 251, 246, 0.9); | |
| --surface-strong: rgba(255, 255, 255, 0.94); | |
| --border: rgba(24, 46, 56, 0.12); | |
| --text: #13232c; | |
| --muted: #5d6a70; | |
| --accent: #c5532f; | |
| --accent-deep: #7a2f1a; | |
| --signal: #0d7c66; | |
| --signal-soft: rgba(13, 124, 102, 0.14); | |
| --shadow: 0 24px 50px rgba(33, 48, 55, 0.12); | |
| --shadow-hover: 0 32px 70px rgba(33, 48, 55, 0.18); | |
| --radius-xl: 28px; | |
| --radius-lg: 20px; | |
| --radius-md: 14px; | |
| --gap-sm: 14px; | |
| --gap-md: 24px; | |
| --gap-lg: 36px; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| html { | |
| scroll-behavior: smooth; | |
| } | |
| body { | |
| margin: 0; | |
| min-height: 100vh; | |
| color: var(--text); | |
| background: | |
| radial-gradient(circle at top left, rgba(197, 83, 47, 0.16), transparent 28%), | |
| radial-gradient(circle at top right, rgba(13, 124, 102, 0.18), transparent 26%), | |
| linear-gradient(145deg, #f7efe4 0%, #edf6f4 48%, #f5ebdf 100%); | |
| font-family: "Space Grotesk", "Avenir Next", sans-serif; | |
| } | |
| body::before, | |
| body::after { | |
| content: ""; | |
| position: fixed; | |
| inset: auto; | |
| width: 320px; | |
| height: 320px; | |
| border-radius: 50%; | |
| filter: blur(12px); | |
| opacity: 0.4; | |
| pointer-events: none; | |
| z-index: 0; | |
| } | |
| body::before { | |
| right: -80px; | |
| top: 120px; | |
| background: rgba(197, 83, 47, 0.18); | |
| } | |
| body::after { | |
| left: -100px; | |
| bottom: 40px; | |
| background: rgba(13, 124, 102, 0.14); | |
| } | |
| a { | |
| color: inherit; | |
| text-decoration: none; | |
| } | |
| code, | |
| pre, | |
| .mono-label { | |
| font-family: "IBM Plex Mono", "SFMono-Regular", monospace; | |
| } | |
| .page-shell { | |
| position: relative; | |
| z-index: 1; | |
| width: min(1240px, calc(100vw - 48px)); | |
| margin: 0 auto; | |
| padding: 24px 0 80px; | |
| } | |
| main { | |
| display: grid; | |
| gap: var(--gap-lg); | |
| } | |
| .topbar { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 20px; | |
| padding: 14px 0 24px; | |
| } | |
| .brand { | |
| display: inline-flex; | |
| flex-direction: column; | |
| gap: 2px; | |
| } | |
| .brand-kicker, | |
| .eyebrow { | |
| color: var(--accent-deep); | |
| font-size: 0.78rem; | |
| font-weight: 700; | |
| letter-spacing: 0.18em; | |
| text-transform: uppercase; | |
| } | |
| .brand-title { | |
| font-size: 1.35rem; | |
| font-weight: 700; | |
| } | |
| .nav-links { | |
| display: flex; | |
| gap: 12px; | |
| flex-wrap: wrap; | |
| } | |
| .nav-links a { | |
| min-height: 38px; | |
| padding: 9px 14px; | |
| border: 1px solid rgba(19, 35, 44, 0.08); | |
| border-radius: 999px; | |
| background: rgba(255, 255, 255, 0.42); | |
| color: var(--muted); | |
| font-weight: 500; | |
| transition: color 180ms ease, transform 180ms ease, background 180ms ease, border-color 180ms ease; | |
| } | |
| .nav-links a:hover { | |
| background: rgba(255, 255, 255, 0.86); | |
| border-color: rgba(197, 83, 47, 0.18); | |
| color: var(--text); | |
| transform: translateY(-1px); | |
| } | |
| .hero, | |
| .dual-grid, | |
| .brief-grid, | |
| .playground-grid, | |
| .playground-summary, | |
| .guide-grid, | |
| .status-overview, | |
| .feature-strip, | |
| .stats-grid, | |
| .route-grid, | |
| .task-grid { | |
| display: grid; | |
| gap: var(--gap-md); | |
| } | |
| .hero { | |
| grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr); | |
| align-items: stretch; | |
| min-height: 520px; | |
| } | |
| .hero-copy, | |
| .floating-panel, | |
| .feature-card, | |
| .task-card, | |
| .route-card, | |
| .stat-card { | |
| background: var(--surface); | |
| backdrop-filter: blur(18px); | |
| border: 1px solid var(--border); | |
| box-shadow: var(--shadow); | |
| } | |
| .hero-copy, | |
| .floating-panel { | |
| border-radius: var(--radius-xl); | |
| } | |
| .hero-copy { | |
| padding: 44px; | |
| display: flex; | |
| flex-direction: column; | |
| justify-content: center; | |
| animation: rise-in 650ms ease both; | |
| } | |
| .hero-copy h1, | |
| .section-heading h1 { | |
| margin: 12px 0; | |
| font-size: clamp(2.8rem, 6vw, 5.6rem); | |
| line-height: 0.95; | |
| letter-spacing: -0.05em; | |
| } | |
| .hero-text, | |
| .section-copy { | |
| max-width: 56ch; | |
| font-size: 1.05rem; | |
| line-height: 1.7; | |
| color: var(--muted); | |
| } | |
| .hero-actions { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 14px; | |
| margin-top: 26px; | |
| } | |
| .button { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| min-height: 46px; | |
| padding: 0 20px; | |
| border-radius: 999px; | |
| border: 1px solid transparent; | |
| font-weight: 700; | |
| cursor: pointer; | |
| box-shadow: 0 12px 22px rgba(33, 48, 55, 0.08); | |
| transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease; | |
| } | |
| .button:hover { | |
| transform: translateY(-1px); | |
| box-shadow: 0 18px 34px rgba(33, 48, 55, 0.14); | |
| } | |
| .button:disabled { | |
| cursor: not-allowed; | |
| opacity: 0.58; | |
| transform: none; | |
| } | |
| .button-primary { | |
| background: linear-gradient(135deg, var(--accent), #dd7e36); | |
| color: #fff; | |
| } | |
| .button-secondary { | |
| background: rgba(19, 35, 44, 0.06); | |
| border-color: rgba(19, 35, 44, 0.08); | |
| } | |
| .hero-panel, | |
| .big-status-card { | |
| padding: 24px; | |
| animation: rise-in 800ms ease both; | |
| } | |
| .panel-header { | |
| display: flex; | |
| align-items: center; | |
| justify-content: space-between; | |
| gap: 16px; | |
| margin-bottom: 18px; | |
| font-weight: 700; | |
| } | |
| .live-pill, | |
| .badge, | |
| .status-chip { | |
| display: inline-flex; | |
| align-items: center; | |
| gap: 8px; | |
| min-height: 32px; | |
| padding: 0 12px; | |
| border-radius: 999px; | |
| background: var(--signal-soft); | |
| color: var(--signal); | |
| font-size: 0.86rem; | |
| font-weight: 700; | |
| } | |
| .live-pill.is-pending, | |
| .status-chip.is-pending { | |
| background: rgba(197, 83, 47, 0.12); | |
| color: var(--accent-deep); | |
| } | |
| .stats-grid, | |
| .feature-strip, | |
| .status-overview { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .hero-panel .stats-grid { | |
| gap: 22px; | |
| } | |
| .hero-panel .stat-card { | |
| display: grid; | |
| align-content: space-between; | |
| min-height: 142px; | |
| min-width: 0; | |
| overflow: hidden; | |
| background: | |
| linear-gradient(145deg, rgba(255, 255, 255, 0.78), rgba(255, 247, 241, 0.84)); | |
| } | |
| .hero-panel .stat-card-text { | |
| background: | |
| linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(238, 250, 247, 0.9)); | |
| } | |
| .feature-strip { | |
| margin-top: 0; | |
| } | |
| .guide-grid { | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| } | |
| .guide-card { | |
| min-height: 168px; | |
| padding: 24px; | |
| border: 1px solid rgba(19, 35, 44, 0.1); | |
| border-radius: var(--radius-lg); | |
| background: rgba(255, 255, 255, 0.68); | |
| box-shadow: 0 16px 34px rgba(33, 48, 55, 0.08); | |
| } | |
| .guide-card span { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| min-width: 34px; | |
| min-height: 34px; | |
| padding: 0 10px; | |
| border-radius: 999px; | |
| background: rgba(197, 83, 47, 0.12); | |
| color: var(--accent-deep); | |
| font-weight: 700; | |
| } | |
| .guide-card strong { | |
| display: block; | |
| margin-top: 16px; | |
| font-size: 1.2rem; | |
| } | |
| .guide-card p { | |
| margin: 10px 0 0; | |
| color: var(--muted); | |
| line-height: 1.65; | |
| } | |
| .stat-card, | |
| .feature-card, | |
| .task-card, | |
| .route-card, | |
| .endpoint-card, | |
| .flow-card { | |
| border-radius: var(--radius-lg); | |
| padding: 24px; | |
| } | |
| .stat-card, | |
| .feature-card, | |
| .task-card, | |
| .route-card, | |
| .guide-card, | |
| .summary-card, | |
| .endpoint-card, | |
| .flow-card { | |
| transition: transform 190ms ease, box-shadow 190ms ease, border-color 190ms ease, background 190ms ease; | |
| } | |
| .stat-card:hover, | |
| .feature-card:hover, | |
| .task-card:hover, | |
| .route-card:hover, | |
| .guide-card:hover, | |
| .summary-card:hover, | |
| .endpoint-card:hover, | |
| .flow-card:hover { | |
| transform: translateY(-5px); | |
| border-color: rgba(197, 83, 47, 0.22); | |
| box-shadow: var(--shadow-hover); | |
| } | |
| .stat-label, | |
| .status-caption { | |
| display: block; | |
| color: var(--muted); | |
| font-size: 0.84rem; | |
| text-transform: uppercase; | |
| letter-spacing: 0.08em; | |
| } | |
| .stat-value, | |
| .status-display { | |
| display: block; | |
| margin-top: 12px; | |
| font-size: clamp(1.8rem, 4vw, 3.2rem); | |
| line-height: 1; | |
| } | |
| .hero-panel .stat-value { | |
| white-space: nowrap; | |
| } | |
| .hero-panel .stat-value-text { | |
| font-size: clamp(1.55rem, 2.8vw, 2.35rem); | |
| letter-spacing: -0.04em; | |
| } | |
| .stat-note { | |
| display: inline-flex; | |
| width: fit-content; | |
| margin-top: 14px; | |
| padding: 7px 10px; | |
| border-radius: 999px; | |
| background: rgba(19, 35, 44, 0.06); | |
| color: var(--muted); | |
| font-size: 0.78rem; | |
| font-weight: 700; | |
| letter-spacing: 0.06em; | |
| text-transform: uppercase; | |
| } | |
| .feature-card { | |
| min-height: 220px; | |
| } | |
| .feature-index { | |
| color: var(--accent); | |
| font-size: 0.9rem; | |
| font-weight: 700; | |
| letter-spacing: 0.16em; | |
| } | |
| .feature-card h2, | |
| .task-card h3, | |
| .route-card strong { | |
| margin: 16px 0 12px; | |
| font-size: 1.4rem; | |
| } | |
| .feature-card p, | |
| .task-card p, | |
| .route-card span, | |
| .status-helper, | |
| .copy-block p, | |
| .bullet-list { | |
| color: var(--muted); | |
| line-height: 1.7; | |
| } | |
| .tasks-section, | |
| .stack-layout { | |
| display: grid; | |
| gap: var(--gap-lg); | |
| margin-top: 0; | |
| } | |
| .section-heading { | |
| padding-top: 8px; | |
| } | |
| .section-heading h2 { | |
| margin: 8px 0 0; | |
| font-size: clamp(1.9rem, 4vw, 3.4rem); | |
| line-height: 1.02; | |
| } | |
| .section-heading.compact h2 { | |
| font-size: clamp(1.35rem, 3vw, 2rem); | |
| } | |
| .task-grid, | |
| .route-grid { | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| gap: var(--gap-md); | |
| } | |
| .task-card { | |
| position: relative; | |
| overflow: hidden; | |
| display: grid; | |
| min-height: 245px; | |
| grid-template-rows: 32px minmax(92px, auto) minmax(36px, auto) minmax(72px, 1fr); | |
| align-content: start; | |
| gap: 16px; | |
| } | |
| .task-card::after { | |
| content: ""; | |
| position: absolute; | |
| inset: auto -20% -60% auto; | |
| width: 180px; | |
| height: 180px; | |
| border-radius: 50%; | |
| background: radial-gradient(circle, rgba(13, 124, 102, 0.12), transparent 70%); | |
| } | |
| .task-meta, | |
| .task-values { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 8px; | |
| margin-top: 0; | |
| } | |
| .task-card-content { | |
| display: grid; | |
| align-content: start; | |
| min-height: 92px; | |
| } | |
| .task-card > .badge:first-child { | |
| width: fit-content; | |
| } | |
| .task-card h3 { | |
| min-height: 3.05em; | |
| } | |
| .task-card p { | |
| margin: 0; | |
| } | |
| .task-values { | |
| align-content: start; | |
| } | |
| .badge { | |
| background: rgba(19, 35, 44, 0.06); | |
| color: var(--text); | |
| } | |
| .difficulty-easy { | |
| background: rgba(13, 124, 102, 0.14); | |
| color: var(--signal); | |
| } | |
| .difficulty-medium { | |
| background: rgba(227, 154, 52, 0.16); | |
| color: #8b5a12; | |
| } | |
| .difficulty-hard { | |
| background: rgba(197, 83, 47, 0.14); | |
| color: var(--accent-deep); | |
| } | |
| .routes-section { | |
| margin-top: 0; | |
| padding: 32px; | |
| } | |
| .routes-section .route-grid { | |
| gap: 28px; | |
| margin-top: 24px; | |
| } | |
| .route-card { | |
| min-height: 150px; | |
| display: grid; | |
| align-content: start; | |
| gap: 12px; | |
| } | |
| .status-overview { | |
| grid-template-columns: 1.2fr 1fr 1fr; | |
| } | |
| .big-status-card { | |
| background: linear-gradient(145deg, rgba(255, 247, 241, 0.92), rgba(243, 255, 251, 0.82)); | |
| } | |
| .dual-grid { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| } | |
| .brief-grid { | |
| grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr); | |
| align-items: stretch; | |
| } | |
| .floating-panel { | |
| padding: 34px; | |
| } | |
| .playground-grid { | |
| grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 1fr); | |
| align-items: start; | |
| gap: 30px; | |
| } | |
| .control-panel { | |
| min-height: 100%; | |
| } | |
| .preset-row { | |
| display: grid; | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| gap: 10px; | |
| margin: 20px 0; | |
| } | |
| .preset-button { | |
| min-height: 44px; | |
| border: 1px solid rgba(19, 35, 44, 0.1); | |
| border-radius: 999px; | |
| background: rgba(255, 255, 255, 0.72); | |
| color: var(--text); | |
| font: inherit; | |
| font-size: 0.92rem; | |
| font-weight: 700; | |
| cursor: pointer; | |
| transition: transform 180ms ease, border-color 180ms ease, background 180ms ease; | |
| } | |
| .preset-button:hover { | |
| transform: translateY(-1px); | |
| border-color: rgba(197, 83, 47, 0.28); | |
| background: rgba(255, 255, 255, 0.94); | |
| } | |
| .ui-message { | |
| margin-top: 18px; | |
| padding: 14px 16px; | |
| border-radius: var(--radius-md); | |
| background: rgba(19, 35, 44, 0.05); | |
| color: var(--muted); | |
| line-height: 1.5; | |
| } | |
| .ui-message[data-mode="success"] { | |
| background: var(--signal-soft); | |
| color: var(--signal); | |
| } | |
| .ui-message[data-mode="error"] { | |
| background: rgba(197, 83, 47, 0.14); | |
| color: var(--accent-deep); | |
| } | |
| .playground-summary { | |
| grid-template-columns: repeat(4, minmax(0, 1fr)); | |
| gap: var(--gap-md); | |
| } | |
| .summary-card { | |
| padding: 18px 20px; | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius-lg); | |
| background: var(--surface-strong); | |
| box-shadow: 0 14px 30px rgba(33, 48, 55, 0.08); | |
| } | |
| .summary-card span { | |
| display: block; | |
| color: var(--muted); | |
| font-size: 0.8rem; | |
| font-weight: 700; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| } | |
| .summary-card strong { | |
| display: block; | |
| margin-top: 10px; | |
| font-size: clamp(1.2rem, 3vw, 2rem); | |
| } | |
| .brief-card { | |
| display: grid; | |
| align-content: start; | |
| gap: 22px; | |
| min-height: 420px; | |
| } | |
| .brief-alert { | |
| margin: 0; | |
| padding: 22px; | |
| border: 1px solid rgba(197, 83, 47, 0.14); | |
| border-radius: var(--radius-lg); | |
| background: | |
| linear-gradient(145deg, rgba(255, 247, 241, 0.92), rgba(255, 255, 255, 0.76)); | |
| color: var(--text); | |
| font-size: clamp(1.02rem, 2vw, 1.28rem); | |
| font-weight: 700; | |
| line-height: 1.55; | |
| } | |
| .brief-meta-grid { | |
| display: grid; | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| gap: 14px; | |
| } | |
| .brief-meta-grid > div { | |
| min-height: 96px; | |
| padding: 16px; | |
| border: 1px solid var(--border); | |
| border-radius: var(--radius-md); | |
| background: rgba(255, 255, 255, 0.62); | |
| } | |
| .brief-meta-grid span, | |
| .brief-label { | |
| display: block; | |
| color: var(--muted); | |
| font-size: 0.78rem; | |
| font-weight: 700; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| } | |
| .brief-meta-grid strong { | |
| display: block; | |
| margin-top: 10px; | |
| font-size: clamp(1.05rem, 2vw, 1.45rem); | |
| line-height: 1.18; | |
| overflow-wrap: anywhere; | |
| } | |
| .brief-block { | |
| display: grid; | |
| gap: 12px; | |
| } | |
| .brief-chip-row, | |
| .context-chip-grid { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 10px; | |
| } | |
| .context-chip { | |
| display: inline-grid; | |
| gap: 4px; | |
| max-width: 100%; | |
| padding: 12px 14px; | |
| border: 1px solid rgba(19, 35, 44, 0.08); | |
| border-radius: 16px; | |
| background: rgba(19, 35, 44, 0.04); | |
| color: var(--muted); | |
| font-size: 0.9rem; | |
| line-height: 1.35; | |
| } | |
| .context-chip strong { | |
| color: var(--text); | |
| font-size: 0.78rem; | |
| letter-spacing: 0.08em; | |
| text-transform: uppercase; | |
| } | |
| .result-brief-card { | |
| background: | |
| radial-gradient(circle at 100% 0%, rgba(13, 124, 102, 0.16), transparent 30%), | |
| var(--surface); | |
| } | |
| .result-verdict { | |
| min-height: 72px; | |
| padding: 18px 20px; | |
| border-radius: var(--radius-lg); | |
| background: rgba(19, 35, 44, 0.06); | |
| color: var(--muted); | |
| font-size: clamp(1.4rem, 3vw, 2.2rem); | |
| font-weight: 700; | |
| letter-spacing: -0.04em; | |
| } | |
| .result-verdict[data-outcome="correct"] { | |
| background: var(--signal-soft); | |
| color: var(--signal); | |
| } | |
| .result-verdict[data-outcome="partial"] { | |
| background: rgba(227, 154, 52, 0.16); | |
| color: #8b5a12; | |
| } | |
| .result-verdict[data-outcome="incorrect"] { | |
| background: rgba(197, 83, 47, 0.14); | |
| color: var(--accent-deep); | |
| } | |
| .result-verdict[data-outcome="waiting"] { | |
| background: rgba(19, 35, 44, 0.06); | |
| color: var(--muted); | |
| } | |
| .brief-reason { | |
| margin: 0; | |
| color: var(--muted); | |
| font-size: 1rem; | |
| line-height: 1.7; | |
| } | |
| .badge-grid { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 10px; | |
| } | |
| .copy-block, | |
| .bullet-list { | |
| margin: 0; | |
| padding: 0; | |
| } | |
| .bullet-list { | |
| list-style: none; | |
| display: grid; | |
| gap: 10px; | |
| margin-top: 14px; | |
| } | |
| .bullet-list li { | |
| padding: 12px 14px; | |
| border-radius: var(--radius-md); | |
| background: rgba(19, 35, 44, 0.04); | |
| } | |
| .form-grid { | |
| display: grid; | |
| gap: 18px; | |
| } | |
| .form-grid label { | |
| display: grid; | |
| gap: 8px; | |
| color: var(--muted); | |
| font-weight: 500; | |
| } | |
| .form-grid input, | |
| .form-grid select, | |
| .form-grid small, | |
| .form-grid button { | |
| width: 100%; | |
| } | |
| .form-grid input, | |
| .form-grid select { | |
| min-height: 50px; | |
| padding: 0 16px; | |
| border-radius: 16px; | |
| border: 1px solid rgba(19, 35, 44, 0.12); | |
| background: rgba(255, 255, 255, 0.9); | |
| color: var(--text); | |
| font: inherit; | |
| } | |
| .form-grid input:focus, | |
| .form-grid select:focus { | |
| border-color: rgba(197, 83, 47, 0.45); | |
| box-shadow: 0 0 0 4px rgba(197, 83, 47, 0.1); | |
| outline: none; | |
| } | |
| .form-grid small { | |
| display: block; | |
| color: var(--muted); | |
| line-height: 1.45; | |
| } | |
| .form-grid input:disabled { | |
| color: var(--muted); | |
| } | |
| .inline-status { | |
| display: flex; | |
| align-items: center; | |
| gap: 10px; | |
| margin-top: 20px; | |
| color: var(--muted); | |
| overflow-wrap: anywhere; | |
| } | |
| .code-panel { | |
| min-height: 340px; | |
| margin: 0; | |
| padding: 24px; | |
| border-radius: var(--radius-lg); | |
| border: 1px solid rgba(255, 255, 255, 0.08); | |
| background: | |
| linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 32%), | |
| #101a21; | |
| color: #e7f3f0; | |
| overflow: auto; | |
| font-size: 0.92rem; | |
| line-height: 1.6; | |
| } | |
| .api-hero { | |
| display: grid; | |
| grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr); | |
| gap: var(--gap-md); | |
| align-items: stretch; | |
| background: | |
| radial-gradient(circle at 12% 12%, rgba(197, 83, 47, 0.16), transparent 28%), | |
| linear-gradient(135deg, rgba(255, 251, 246, 0.95), rgba(235, 248, 245, 0.9)); | |
| } | |
| .api-hero h1 { | |
| margin: 10px 0; | |
| max-width: 10ch; | |
| font-size: clamp(2.5rem, 5.4vw, 5rem); | |
| line-height: 0.96; | |
| letter-spacing: -0.05em; | |
| } | |
| .api-health-card { | |
| display: grid; | |
| align-content: center; | |
| min-height: 240px; | |
| padding: 26px; | |
| border: 1px solid rgba(19, 35, 44, 0.1); | |
| border-radius: var(--radius-lg); | |
| background: rgba(255, 255, 255, 0.72); | |
| } | |
| .api-health-card strong { | |
| display: block; | |
| margin-top: 14px; | |
| font-size: clamp(2.2rem, 4vw, 4rem); | |
| letter-spacing: -0.05em; | |
| } | |
| .api-health-card p { | |
| color: var(--muted); | |
| line-height: 1.7; | |
| } | |
| .api-flow-grid, | |
| .endpoint-grid { | |
| display: grid; | |
| gap: var(--gap-md); | |
| } | |
| .api-flow-grid { | |
| grid-template-columns: repeat(3, minmax(0, 1fr)); | |
| } | |
| .flow-card, | |
| .endpoint-card { | |
| border: 1px solid var(--border); | |
| background: var(--surface-strong); | |
| box-shadow: 0 16px 34px rgba(33, 48, 55, 0.08); | |
| } | |
| .flow-card span { | |
| display: inline-flex; | |
| align-items: center; | |
| justify-content: center; | |
| min-width: 38px; | |
| min-height: 38px; | |
| border-radius: 999px; | |
| background: rgba(13, 124, 102, 0.14); | |
| color: var(--signal); | |
| font-weight: 700; | |
| } | |
| .flow-card strong, | |
| .endpoint-card h3 { | |
| display: block; | |
| margin-top: 16px; | |
| font-size: 1.35rem; | |
| } | |
| .flow-card p, | |
| .endpoint-card p { | |
| color: var(--muted); | |
| line-height: 1.7; | |
| } | |
| .endpoint-grid { | |
| grid-template-columns: repeat(2, minmax(0, 1fr)); | |
| margin-top: var(--gap-md); | |
| } | |
| .endpoint-card { | |
| display: grid; | |
| gap: 14px; | |
| min-height: 290px; | |
| align-content: start; | |
| } | |
| .endpoint-card-header, | |
| .endpoint-meta { | |
| display: flex; | |
| flex-wrap: wrap; | |
| gap: 10px; | |
| align-items: center; | |
| } | |
| .endpoint-card-header code { | |
| padding: 8px 10px; | |
| border-radius: 999px; | |
| background: rgba(19, 35, 44, 0.06); | |
| color: var(--text); | |
| } | |
| .endpoint-link { | |
| width: fit-content; | |
| margin-top: auto; | |
| } | |
| .method-get { | |
| background: rgba(13, 124, 102, 0.14); | |
| color: var(--signal); | |
| } | |
| .method-post { | |
| background: rgba(197, 83, 47, 0.14); | |
| color: var(--accent-deep); | |
| } | |
| .output-grid { | |
| align-items: stretch; | |
| } | |
| .skeleton-card { | |
| min-height: 220px; | |
| background: | |
| linear-gradient(90deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.55)); | |
| background-size: 200% 100%; | |
| animation: shimmer 1.2s infinite linear; | |
| } | |
| @keyframes shimmer { | |
| from { background-position: 200% 0; } | |
| to { background-position: -200% 0; } | |
| } | |
| @keyframes rise-in { | |
| from { | |
| opacity: 0; | |
| transform: translateY(18px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @media (max-width: 1080px) { | |
| .hero, | |
| .dual-grid, | |
| .brief-grid, | |
| .playground-grid, | |
| .playground-summary, | |
| .guide-grid, | |
| .status-overview, | |
| .task-grid, | |
| .route-grid, | |
| .api-hero, | |
| .api-flow-grid, | |
| .endpoint-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .stats-grid, | |
| .feature-strip, | |
| .brief-meta-grid { | |
| grid-template-columns: 1fr 1fr; | |
| } | |
| } | |
| @media (max-width: 720px) { | |
| .page-shell { | |
| width: min(100vw - 24px, 1180px); | |
| padding-top: 12px; | |
| padding-bottom: 40px; | |
| } | |
| .topbar { | |
| flex-direction: column; | |
| align-items: flex-start; | |
| } | |
| .hero-copy, | |
| .floating-panel, | |
| .routes-section { | |
| padding: 24px; | |
| } | |
| .preset-row { | |
| grid-template-columns: 1fr; | |
| } | |
| .stats-grid, | |
| .feature-strip, | |
| .brief-meta-grid { | |
| grid-template-columns: 1fr; | |
| } | |
| .hero-copy h1, | |
| .section-heading h1 { | |
| font-size: clamp(2.4rem, 14vw, 3.6rem); | |
| } | |
| .section-heading h2 { | |
| font-size: clamp(1.6rem, 8vw, 2.4rem); | |
| } | |
| .hero-actions { | |
| flex-direction: column; | |
| } | |
| } | |