:root { --bg: #f5efe3; --panel: rgba(255, 252, 245, 0.88); --panel-strong: rgba(255, 248, 232, 0.96); --ink: #1f2421; --muted: #5f665d; --line: rgba(31, 36, 33, 0.12); --accent: #d46b2f; --accent-soft: rgba(212, 107, 47, 0.14); --good: #1b7f5c; --good-soft: rgba(27, 127, 92, 0.14); --warn: #9f5c12; --warn-soft: rgba(159, 92, 18, 0.16); --bad: #b34036; --bad-soft: rgba(179, 64, 54, 0.16); --shadow: 0 24px 70px rgba(55, 39, 22, 0.12); --radius: 22px; --radius-small: 14px; } * { box-sizing: border-box; } body { margin: 0; min-height: 100vh; color: var(--ink); font-family: "IBM Plex Sans", "Noto Sans", sans-serif; background: radial-gradient(circle at top left, rgba(212, 107, 47, 0.22), transparent 28%), radial-gradient(circle at bottom right, rgba(27, 127, 92, 0.18), transparent 30%), linear-gradient(180deg, #fbf6ea 0%, #efe5d2 100%); } a { color: inherit; } .page-shell { width: min(1320px, calc(100vw - 2rem)); margin: 0 auto; padding: 1.25rem 0 3rem; } .masthead { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.5rem; border: 1px solid var(--line); border-radius: calc(var(--radius) + 4px); background: rgba(255, 250, 240, 0.72); backdrop-filter: blur(12px); box-shadow: var(--shadow); } .masthead h1, .hero-panel h2, .deployment-card h3, .panel-card h3, .service-card h4 { margin: 0; font-family: "IBM Plex Serif", "DejaVu Serif", serif; } .top-nav { display: flex; gap: 0.75rem; flex-wrap: wrap; } .top-nav a, .button-link { display: inline-flex; align-items: center; justify-content: center; padding: 0.75rem 1rem; border-radius: 999px; border: 1px solid rgba(31, 36, 33, 0.14); background: var(--panel-strong); text-decoration: none; transition: transform 120ms ease, background 120ms ease; } .top-nav a:hover, .button-link:hover, .button-link:focus-visible { transform: translateY(-1px); background: white; } .button-link { cursor: pointer; font: inherit; } .button-link.subtle { background: transparent; } .eyebrow, .card-kicker, .metric-label, dt, .muted-copy { color: var(--muted); } .eyebrow, .card-kicker { margin: 0 0 0.35rem; text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.78rem; } .hero-panel, .summary-card, .deployment-card, .panel-card, .metric-card, .service-card { border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); box-shadow: var(--shadow); } .hero-panel { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(280px, 1fr); gap: 1.25rem; margin-top: 1.4rem; padding: 1.6rem; } .hero-copy { max-width: 64ch; margin-bottom: 0; color: var(--muted); } .hero-metrics, .summary-grid, .deployment-grid, .panel-grid, .service-grid, .action-row, .service-pill-row, .health-strip { display: grid; gap: 1rem; } .hero-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .metric-card { padding: 1.1rem; } .metric-card strong { display: block; margin-top: 0.4rem; font-size: clamp(1.6rem, 3vw, 2.3rem); } .accent-good { background: linear-gradient(180deg, rgba(27, 127, 92, 0.14), rgba(255, 252, 245, 0.88)); } .summary-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-top: 1rem; } .summary-card, .deployment-card, .panel-card, .service-card { padding: 1.25rem; } .summary-card strong { display: block; margin-top: 0.6rem; font-size: 2rem; } .deployment-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); margin-top: 1rem; } .card-header, .panel-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.75rem; margin-bottom: 1rem; } .card-meta { margin: 0.3rem 0 0; color: var(--muted); font-size: 0.85rem; word-break: break-all; } .facts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem 1rem; } .facts-grid div { padding: 0.75rem 0.85rem; border-radius: var(--radius-small); background: rgba(255, 255, 255, 0.55); } dt { margin-bottom: 0.35rem; font-size: 0.82rem; } dd { margin: 0; font-size: 0.95rem; word-break: break-word; } .compact-grid { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); } .service-pill-row, .action-row { grid-template-columns: repeat(auto-fit, minmax(140px, max-content)); margin-top: 1rem; } .status-chip, .service-pill { display: inline-flex; align-items: center; gap: 0.4rem; width: fit-content; padding: 0.42rem 0.75rem; border-radius: 999px; font-size: 0.82rem; font-weight: 600; text-transform: capitalize; } .status-queued, .status-provisioning, .status-booting, .health-unreachable, .health-unexpected-payload, .health-not-running, .health-missing, .health-created, .health-configured { background: var(--warn-soft); color: var(--warn); } .status-running, .status-ready, .health-healthy, .health-running { background: var(--good-soft); color: var(--good); } .status-failed, .status-destroyed, .health-unhealthy, .health-exited, .health-dead, .health-stopped { background: var(--bad-soft); color: var(--bad); } .muted-pill { background: rgba(31, 36, 33, 0.08); color: var(--muted); } .error-panel { margin-top: 1rem; padding: 0.95rem; border-radius: var(--radius-small); background: rgba(179, 64, 54, 0.08); border: 1px solid rgba(179, 64, 54, 0.16); } .error-panel h4 { margin: 0 0 0.55rem; } .error-panel pre, .log-output { margin: 0; white-space: pre-wrap; word-break: break-word; font-family: "IBM Plex Mono", "DejaVu Sans Mono", monospace; font-size: 0.84rem; line-height: 1.45; } .panel-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); margin-top: 1rem; } .two-up { grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); } .service-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); } .service-card { background: rgba(255, 255, 255, 0.6); } .health-strip { grid-template-columns: max-content 1fr; align-items: center; } .log-grid { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); } .wide-card { grid-column: 1 / -1; } .log-output { min-height: 180px; max-height: 360px; margin-top: 0.9rem; padding: 1rem; overflow: auto; border-radius: var(--radius-small); background: #1f2421; color: #f6f4ef; } .compact-log { min-height: 110px; } .top-gap { margin-top: 1rem; } .empty-state { text-align: center; } code { font-family: "IBM Plex Mono", "DejaVu Sans Mono", monospace; } @media (max-width: 860px) { .page-shell { width: min(100vw - 1rem, 100%); padding-top: 0.75rem; } .masthead, .hero-panel, .panel-card, .deployment-card, .summary-card, .metric-card { padding: 1rem; } .masthead, .card-header, .panel-header, .hero-panel { grid-template-columns: 1fr; display: grid; } .hero-metrics, .facts-grid { grid-template-columns: 1fr; } .top-nav { width: 100%; } }