:root { --color-bg: #f7f7f5; --color-surface: #ffffff; --color-surface-2: #efefec; --color-text: #171717; --color-muted: #686868; --color-border: #deded9; --color-accent: #111111; --color-accent-2: #525252; --radius-xs: 4px; --radius-sm: 8px; --radius-md: 12px; --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.04); --shadow-md: 0 14px 40px rgba(0, 0, 0, 0.08); } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--color-bg); color: var(--color-text); font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 15px; line-height: 1.55; text-rendering: optimizeLegibility; } .skip-link { left: 1rem; position: absolute; top: -4rem; z-index: 2000; background: var(--color-text); color: #fff; padding: .55rem .8rem; border-radius: var(--radius-xs); } .skip-link:focus { top: 1rem; } a { color: var(--color-text); text-underline-offset: 3px; } .navbar { min-height: 66px; } .navbar-brand { font-weight: 800; letter-spacing: -0.03em; } .nav-link { color: #353535; font-weight: 600; font-size: .92rem; } .nav-link:hover, .nav-link:focus { color: #000; } .brand-mark { align-items: center; background: #111; border-radius: var(--radius-xs); color: #fff; display: inline-flex; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .78rem; height: 28px; justify-content: center; letter-spacing: -.08em; width: 28px; } .hero-section { background: var(--color-surface); } .py-lg-6 { padding-bottom: 5.5rem; padding-top: 5.5rem; } .text-balance { text-wrap: balance; } .lead { font-size: 1.08rem; max-width: 720px; } .eyebrow { color: #4d4d4d; font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; } .btn { border-radius: var(--radius-sm); font-weight: 700; } .btn-lg { --bs-btn-padding-y: .78rem; --bs-btn-padding-x: 1rem; --bs-btn-font-size: .98rem; } .btn-dark { background: var(--color-accent); border-color: var(--color-accent); } .btn-dark:hover { background: #2b2b2b; border-color: #2b2b2b; } .btn-outline-secondary { border-color: #c9c9c3; color: #252525; } .hero-panel, .app-shell, .provider-card { background: var(--color-surface); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); } .hero-panel { border: 1px solid var(--color-border); padding: 1.15rem; } .panel-topline { color: var(--color-muted); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .82rem; } .status-dot { color: #1f6b3a; font-weight: 800; } .code-window { background: #151515; border: 1px solid #2b2b2b; border-radius: var(--radius-sm); color: #f6f6f3; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .9rem; line-height: 1.9; overflow-x: auto; padding: 1rem; } .code-window .muted { color: #9ca3af; } .code-window .string { color: #d8d8d2; } .runtime-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); } .runtime-grid div { background: var(--color-surface-2); border-radius: var(--radius-sm); padding: .75rem; } .runtime-grid dt { color: var(--color-muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; } .runtime-grid dd { font-size: .88rem; font-weight: 700; margin: .1rem 0 0; } .section-pad { padding: 4.5rem 0; } .bg-subtle { background: var(--color-surface-2); } .narrow { max-width: 560px; } .section-heading { max-width: 760px; } .app-shell { overflow: hidden; } .search-card { padding: 1.15rem; } .form-label { color: #303030; font-size: .82rem; font-weight: 800; } .form-control, .form-select { border-color: #cfcfca; border-radius: var(--radius-sm); color: var(--color-text); } .form-control:focus, .form-select:focus, .btn:focus-visible, .chip:focus-visible, .result-item:focus-visible, .language-card:focus-visible { border-color: #111; box-shadow: 0 0 0 .2rem rgba(17, 17, 17, .14); outline: 0; } .quick-searches { display: flex; flex-wrap: wrap; gap: .5rem; } .chip { background: var(--color-surface-2); border: 1px solid var(--color-border); border-radius: 999px; color: #252525; cursor: pointer; font-size: .82rem; font-weight: 700; padding: .4rem .7rem; } .chip:hover { background: #e7e7e1; } .results-column { background: #fbfbfa; min-height: 540px; } .detail-column { background: var(--color-surface); min-height: 540px; } .results-toolbar { align-items: center; border-bottom: 1px solid var(--color-border); display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; } .results-list { display: grid; gap: .65rem; padding: 1rem; } .result-item { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-sm); cursor: pointer; padding: .95rem; text-align: left; transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease; width: 100%; } .result-item:hover { border-color: #b9b9b3; box-shadow: var(--shadow-sm); transform: translateY(-1px); } .result-item.active { border-color: #111; box-shadow: 0 0 0 1px #111 inset; } .result-title { font-weight: 800; letter-spacing: -.02em; margin-bottom: .25rem; } .result-excerpt { color: var(--color-muted); font-size: .88rem; margin-bottom: .75rem; } .badge-soft { background: var(--color-surface-2); border: 1px solid var(--color-border); border-radius: 999px; color: #333; display: inline-block; font-size: .72rem; font-weight: 800; margin: 0 .3rem .3rem 0; padding: .25rem .5rem; } .score { color: var(--color-muted); font-size: .78rem; font-weight: 700; } .detail-panel { min-height: 100%; padding: 1.25rem; } .empty-state { align-items: center; display: flex; flex-direction: column; justify-content: center; min-height: 420px; text-align: center; } .empty-icon { align-items: center; background: var(--color-surface-2); border: 1px solid var(--color-border); border-radius: var(--radius-md); display: inline-flex; font-size: 1.5rem; height: 54px; justify-content: center; margin-bottom: 1rem; width: 54px; } .detail-meta { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1rem; } .detail-summary { color: #333; font-size: 1rem; } .code-block { background: #151515; border-radius: var(--radius-sm); color: #f7f7f5; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .86rem; overflow-x: auto; padding: 1rem; white-space: pre; } .detail-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; } .language-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); color: var(--color-text); cursor: pointer; display: flex; flex-direction: column; min-height: 112px; padding: 1rem; text-align: left; transition: border-color .15s ease, transform .15s ease; width: 100%; } .language-card:hover { border-color: #111; transform: translateY(-1px); } .language-card span { font-size: 1rem; font-weight: 800; } .language-card small { color: var(--color-muted); margin-top: .35rem; } .provider-card { padding: 1.25rem; } .checklist { color: #333; padding-left: 1.2rem; } .checklist li + li { margin-top: .55rem; } .site-footer { background: var(--color-surface); color: #333; font-size: .9rem; } @media (max-width: 991.98px) { .py-lg-6 { padding-bottom: 3.5rem; padding-top: 3.5rem; } .section-pad { padding: 3.25rem 0; } .results-column { border-right: 0 !important; min-height: auto; } .detail-column { border-top: 1px solid var(--color-border); min-height: auto; } } @media (max-width: 575.98px) { body { font-size: 14px; } .display-5 { font-size: 2.1rem; } .runtime-grid { grid-template-columns: 1fr; } .results-toolbar { align-items: flex-start; flex-direction: column; } }