:root { color-scheme: dark; /* Ground is neutral black. Blue lives on component surfaces, not the page. */ --canvas: #000000; --soft: #0c0c0e; --soft-blue: #0a0d12; --ink: #f2f3f5; --muted: #a0a2a8; --quiet: #787a82; --line: rgba(140, 190, 255, 0.13); --line-strong: rgba(140, 190, 255, 0.28); --accent: #4cc2ff; --accent-strong: #8ad9ff; --accent-soft: rgba(76, 194, 255, 0.11); --observed: #6ea6ff; --observed-soft: rgba(110, 166, 255, 0.13); --warning: #f5b76b; --warning-soft: rgba(245, 183, 107, 0.12); --night: #000000; --night-muted: #8a8c94; --chrome-0: #ffffff; --chrome-1: #cfe4f7; --chrome-2: #7f9ec2; --chrome-3: #33506f; --shadow-frame: 0 28px 80px rgba(0, 0, 0, 0.66), 0 2px 10px rgba(0, 0, 0, 0.5); --font-body: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Helvetica Neue", "Pretendard", "Noto Sans KR", "Noto Sans JP", "Noto Sans SC", Arial, sans-serif; --font-display: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Helvetica Neue", "Pretendard", "Noto Sans KR", "Noto Sans JP", "Noto Sans SC", Arial, sans-serif; --font-mono: "SFMono-Regular", "SF Mono", ui-monospace, Consolas, "Liberation Mono", monospace; --page: 1184px; --measure: 720px; --gutter: 56px; --section: 72px; --radius-frame: 8px; --radius-control: 6px; --transition: 160ms ease; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; background: var(--canvas); color: var(--ink); font-family: var(--font-body); font-size: 16px; line-height: 1.5; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; } img, svg { display: block; max-width: 100%; } button, input, select, textarea { font: inherit; } a { color: inherit; } h1, h2, h3, p, figure, blockquote, dl, dd { margin-top: 0; } h1, h2 { font-family: var(--font-display); font-weight: 400; letter-spacing: 0; } h1 { font-size: 52px; line-height: 1.08; } h2 { font-size: 38px; line-height: 1.16; } h3 { font-size: 18px; line-height: 1.33; letter-spacing: 0; } code, pre { font-family: var(--font-mono); } code { overflow-wrap: anywhere; } .skip-link { position: fixed; top: 8px; left: 8px; z-index: 100; padding: 10px 14px; transform: translateY(-160%); border-radius: var(--radius-control); background: var(--ink); color: var(--canvas); text-decoration: none; } .skip-link:focus { transform: translateY(0); } .topbar { position: sticky; top: 0; z-index: 20; min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 12px max(var(--gutter), calc((100vw - var(--page)) / 2)); border-bottom: 1px solid var(--line); background: rgba(0, 0, 0, 0.74); backdrop-filter: blur(22px) saturate(160%); -webkit-backdrop-filter: blur(22px) saturate(160%); } .brand { min-height: 40px; display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 700; } .brand--link { text-decoration: none; } .brand-mark { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 8px; background: linear-gradient(150deg, #eaf6ff 0%, #9fc4e6 26%, #2c4767 52%, #d8ecff 74%, #6f9dc9 100%); color: #05131f; font-family: var(--font-display); font-size: 13px; font-weight: 700; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85), inset 0 -1px 2px rgba(0, 0, 0, 0.5), 0 4px 14px rgba(76, 194, 255, 0.24); } .brand::before { content: none; } .nav { display: flex; align-items: center; gap: 4px; color: var(--muted); font-size: 14px; font-weight: 500; } .nav a { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border-radius: var(--radius-control); text-decoration: none; transition: color var(--transition), background-color var(--transition); } .nav a:hover, .nav a[aria-current="page"] { background: var(--soft); color: var(--ink); } .nav__icon { width: 40px; padding: 0; } .nav__icon svg { width: 18px; height: 18px; fill: currentColor; } .button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 10px 18px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: var(--canvas); color: var(--ink); font-size: 14px; font-weight: 600; text-decoration: none; cursor: pointer; transition: transform var(--transition), background-color var(--transition), border-color var(--transition); } .button:hover { transform: translateY(-1px); border-color: var(--line-strong); background: var(--soft); } .button:active { transform: scale(0.98); } .button:disabled, .button[aria-disabled="true"] { color: var(--quiet); border-color: var(--line); background: var(--soft); cursor: not-allowed; transform: none; } .button--primary { border-color: var(--ink); background: var(--ink); color: var(--canvas); } .button--primary:hover { border-color: var(--accent-strong); background: var(--accent-strong); color: var(--night); } .button--secondary { background: var(--soft); } .text-link { display: inline-flex; align-items: center; gap: 6px; color: var(--accent-strong); font-size: 14px; font-weight: 600; text-underline-offset: 4px; } .text-link::after { content: "\2192"; transition: transform var(--transition); } .text-link:hover::after { transform: translateX(3px); } :focus-visible { outline: 3px solid var(--accent-strong); outline-offset: 3px; } .trust-pill, .new-badge { width: fit-content; display: inline-flex; align-items: center; min-height: 28px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--soft); color: var(--muted); font-size: 12px; font-weight: 600; line-height: 16px; } .eyebrow, .home-kicker, .article-section-label, .blog-kicker { margin-bottom: 12px; color: var(--accent-strong); font-size: 12px; font-weight: 700; line-height: 16px; letter-spacing: 0; text-transform: uppercase; } .state-label { width: fit-content; display: inline-flex; align-items: center; gap: 6px; min-height: 24px; padding: 3px 8px; border-radius: 999px; background: var(--soft); color: var(--muted); font-size: 11px; font-weight: 700; line-height: 16px; text-transform: uppercase; } .state-label i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; } .state-label--ready { background: var(--accent-soft); color: var(--accent-strong); } .state-label--prepared { background: var(--warning-soft); color: var(--warning); } .state-label--observed { background: var(--observed-soft); color: var(--observed); } .state-label--waiting { background: var(--soft); color: var(--quiet); } .product-frame { overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-frame); background: var(--canvas); box-shadow: var(--shadow-frame); } .product-frame__bar { min-height: 48px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; padding: 8px 14px; border-bottom: 1px solid var(--line); color: var(--quiet); font-size: 12px; text-align: center; } .product-frame__bar > :last-child { justify-self: end; } .product-frame__mark { justify-self: start; color: var(--ink); font-weight: 800; } .product-frame__body { min-height: 430px; display: grid; grid-template-columns: 148px minmax(0, 1fr); } .product-frame__rail { display: flex; flex-direction: column; gap: 4px; padding: 16px 12px; border-right: 1px solid var(--line); background: rgba(126, 186, 255, 0.05); } .product-frame__rail span { min-height: 36px; display: flex; align-items: center; padding: 8px 10px; border-radius: var(--radius-control); color: var(--muted); font-size: 12px; font-weight: 600; } .product-frame__rail .is-active { background: var(--canvas); color: var(--ink); box-shadow: inset 0 0 0 1px var(--line); } .product-frame__main { display: grid; align-content: start; gap: 18px; padding: 24px; } .message-intake { display: grid; gap: 6px; padding-bottom: 18px; border-bottom: 1px solid var(--line); } .message-intake span, .contract-list dt, .route-lens span { color: var(--quiet); font-size: 11px; font-weight: 700; line-height: 16px; text-transform: uppercase; } .message-intake strong { font-family: var(--font-display); font-size: 24px; font-weight: 400; line-height: 1.3; } .contract-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(220px, 0.9fr); gap: 16px; } .contract-list { margin: 0; border-top: 1px solid var(--line); } .contract-list div { min-height: 46px; display: grid; grid-template-columns: 92px 1fr; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); } .contract-list dt, .contract-list dd { margin: 0; } .contract-list dd { font-size: 13px; font-weight: 600; } .evidence-stack { border: 1px solid var(--line); border-radius: var(--radius-control); } .evidence-stack > div { min-height: 54px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 10px; padding: 10px 12px; } .evidence-stack > div + div { border-top: 1px solid var(--line); } .evidence-stack strong { font-size: 12px; line-height: 18px; } .boundary-note, .claim-boundary { margin: 0; padding: 12px 14px; border-left: 3px solid var(--warning); background: var(--warning-soft); color: #f7d5a4; font-size: 13px; line-height: 20px; } .command, .install-terminal { overflow-x: auto; padding: 18px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: var(--night); color: var(--ink); } .command code, .install-terminal code { font-size: 13px; line-height: 1.7; white-space: pre-wrap; } .footer { display: flex; justify-content: space-between; gap: 24px; padding: 28px max(var(--gutter), calc((100vw - var(--page)) / 2)); border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; } .showcase-page { background: var(--soft); } .showcase-shell { width: min(calc(100% - (2 * var(--gutter))), var(--page)); margin: 0 auto; padding: 64px 0 96px; } .showcase-header { max-width: var(--measure); margin-bottom: 56px; } .showcase-header h1 { margin: 18px 0 12px; } .showcase-header p { color: var(--muted); } .showcase-section { padding: 32px 0; border-top: 1px solid var(--line); } .showcase-section h2 { margin-bottom: 20px; font-family: var(--font-body); font-size: 20px; font-weight: 700; line-height: 28px; } .showcase-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; } .home-page { background: var(--canvas); } .home-main { overflow: clip; } .home-hero { width: min(calc(100% - (2 * var(--gutter))), var(--page)); min-height: calc(100vh - 64px); margin: 0 auto; display: grid; grid-template-columns: minmax(360px, 0.8fr) minmax(560px, 1.2fr); align-items: center; gap: 56px; padding: 72px 0 64px; } .home-hero__content { min-width: 0; max-width: 520px; } .home-hero__visual { position: relative; min-width: 0; margin: 0; overflow: hidden; aspect-ratio: 4 / 3; border: 1px solid var(--line-strong); border-radius: var(--radius-frame); background: var(--night); box-shadow: var(--shadow-frame); } .home-hero__visual::after { content: ""; position: absolute; inset: 0; border: 1px solid rgba(255, 255, 255, 0.12); border-radius: inherit; pointer-events: none; } .home-hero__visual img { width: 100%; height: 100%; object-fit: cover; } .home-hero h1 { margin: 18px 0 16px; } .home-tagline { margin-bottom: 16px; font-family: var(--font-display); font-size: 26px; line-height: 1.3; } .home-lead { margin-bottom: 24px; color: var(--muted); font-size: 16px; line-height: 1.6; } .hero-install { min-width: 0; max-width: 100%; margin: 24px 0 18px; overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-frame); background: var(--night); color: var(--ink); box-shadow: 0 18px 44px rgba(0, 0, 0, 0.55); } .hero-install__bar { min-height: 34px; display: flex; align-items: center; gap: 6px; padding: 8px 12px; border-bottom: 1px solid var(--line-strong); color: var(--night-muted); } .hero-install__bar span { width: 7px; height: 7px; border-radius: 50%; background: var(--quiet); } .hero-install__bar strong { margin-left: 5px; font-family: var(--font-mono); font-size: 10px; font-weight: 600; letter-spacing: 0; } .hero-install code { display: block; max-width: 100%; padding: 14px 16px 16px; font-size: 12px; line-height: 1.7; overflow-wrap: anywhere; white-space: pre-wrap; } .home-actions, .feature-actions, .button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; } .hero-proof { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; color: var(--muted); font-size: 12px; } .hero-proof span { display: inline-flex; align-items: center; gap: 6px; } .hero-proof span::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); } .hero-workbench { width: min(calc(100% - (2 * var(--gutter))), var(--page)); margin: 0 auto; } .workbench-section { padding: 56px 0; border-top: 1px solid var(--line); background: var(--soft-blue); } .proof-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); } .proof-rail > div { min-height: 128px; display: grid; align-content: center; gap: 4px; padding: 24px; } .proof-rail > div + div { border-left: 1px solid var(--line); } .proof-rail strong { font-family: var(--font-display); font-size: 30px; font-weight: 400; } .proof-rail span { color: var(--muted); font-size: 13px; } .home-section { border-bottom: 1px solid var(--line); } .home-section__inner, .section-heading, .install-panel { width: min(calc(100% - (2 * var(--gutter))), var(--page)); margin: 0 auto; } .home-section__inner { padding: var(--section) 0; } .section-heading { padding: var(--section) 0 36px; } .surfaces-section { background: var(--soft); } .surfaces-section .home-section__inner { padding-top: 0; } .surface-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; } .surface-card { display: flex; flex-direction: column; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--canvas); box-shadow: var(--shadow-frame); } .surface-card img { width: 100%; height: auto; border-bottom: 1px solid var(--line); } .surface-card figcaption { display: grid; gap: 4px; margin-top: auto; padding: 16px 20px 18px; } .surface-card figcaption strong { font-size: 15px; } .surface-card figcaption code { font-family: var(--font-mono); font-size: 13px; } .surface-card figcaption span { color: var(--muted); font-size: 13px; } .section-heading--split { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.7fr); gap: 72px; align-items: end; } .section-heading h2, .capability-band h2 { margin-bottom: 12px; } .section-heading p, .capability-band__copy > p, .feature-copy > p, .docs-section > p { color: var(--muted); } .family-nav { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid var(--line); } .family-nav a { min-height: 86px; display: grid; align-content: center; gap: 4px; padding: 16px; border-bottom: 1px solid var(--line); color: var(--muted); text-decoration: none; transition: background-color var(--transition), color var(--transition); } .family-nav a + a { border-left: 1px solid var(--line); } .family-nav a:hover { background: var(--soft); color: var(--ink); } .family-nav span { font-size: 11px; font-weight: 700; text-transform: uppercase; } .family-nav strong { font-size: 13px; line-height: 18px; } .capability-band { display: grid; grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr); gap: 72px; align-items: center; padding: var(--section) 0; } .capability-band + .capability-band { border-top: 1px solid var(--line); } .capability-band--reverse .capability-band__copy { order: 2; } .capability-band--reverse .capability-band__specimen { order: 1; } .capability-band__copy h3 { margin-bottom: 12px; font-family: var(--font-display); font-size: 32px; font-weight: 400; line-height: 1.2; } .capability-band__copy ul { margin: 20px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); } .capability-band__copy li { padding: 10px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 13px; } .capability-band__specimen { min-width: 0; } .specimen-panel { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--canvas); } .specimen-panel__head { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 12px; border-bottom: 1px solid var(--line); background: var(--soft); color: var(--muted); font-size: 12px; } .specimen-panel__body { padding: 18px; } .route-list, .impact-list, .provider-list, .memory-list { display: grid; gap: 0; border-top: 1px solid var(--line); } .route-list > div, .impact-list > div, .provider-list > div, .memory-list > div { min-height: 52px; display: grid; grid-template-columns: 136px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 13px; } .route-list span:first-child, .impact-list span:first-child, .provider-list span:first-child, .memory-list span:first-child { color: var(--quiet); font-size: 11px; font-weight: 700; text-transform: uppercase; } .handoff-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); border-radius: var(--radius-control); } .handoff-flow > div { min-height: 108px; display: grid; align-content: space-between; gap: 16px; padding: 14px; } .handoff-flow > div + div { border-left: 1px solid var(--line); } .handoff-flow span { color: var(--quiet); font-size: 11px; font-weight: 700; text-transform: uppercase; } .handoff-flow strong { font-size: 13px; line-height: 18px; } .impact-callout { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; padding: 18px; background: var(--soft-blue); } .impact-callout strong { display: block; margin-bottom: 4px; } .impact-callout p { margin: 0; color: var(--muted); font-size: 13px; } .reference-grid, .docs-grid, .usecase-grid, .image-format-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; } .reference-link, .case-card, .image-format-card, .docs-start-card, .docs-lane-map a { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--canvas); } a.reference-link, .docs-start-card, .docs-lane-map a { color: inherit; text-decoration: none; transition: transform var(--transition), border-color var(--transition), background-color var(--transition); } a.reference-link:hover, .docs-start-card:hover, .docs-lane-map a:hover { transform: translateY(-2px); border-color: var(--line-strong); background: var(--soft); } .reference-link span, .docs-start-card span, .docs-lane-map span { display: block; margin-bottom: 10px; color: var(--accent-strong); font-size: 11px; font-weight: 700; text-transform: uppercase; } .reference-link h3, .case-card h3, .image-format-card h3 { margin-bottom: 8px; } .reference-link p, .case-card p, .image-format-card p { margin-bottom: 0; color: var(--muted); font-size: 14px; line-height: 21px; } .reference-link figure { margin: -20px -20px 18px; overflow: hidden; border-bottom: 1px solid var(--line); aspect-ratio: 16 / 10; background: var(--soft); } .reference-link img { width: 100%; height: 100%; object-fit: cover; } .install-section { background: var(--soft); } .install-panel { display: grid; grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr); gap: 72px; align-items: center; padding: var(--section) 0; } .install-panel h2 { margin-bottom: 12px; } .install-panel p { color: var(--muted); } .feature-contract, .docs-note { padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--soft); } .route-lens { display: grid; gap: 8px; } .route-lens span { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--line); } .lifecycle-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line); } .lifecycle-step { min-height: 150px; padding: 18px; } .lifecycle-step + .lifecycle-step { border-left: 1px solid var(--line); } .lifecycle-step > span { color: var(--accent-strong); font-size: 11px; font-weight: 700; text-transform: uppercase; } .button-row button, .button-row span { min-height: 40px; display: inline-flex; align-items: center; padding: 8px 12px; border: 1px solid var(--line-strong); border-radius: var(--radius-control); background: var(--canvas); } .button-row button:disabled { color: var(--quiet); background: var(--soft); } .docs-page { background: var(--canvas); } .docs-shell { width: min(calc(100% - (2 * var(--gutter))), var(--page)); margin: 0 auto; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 56px; padding: 48px 0 96px; } .docs-toc { position: sticky; top: 88px; align-self: start; max-height: calc(100vh - 112px); overflow-y: auto; display: grid; gap: 2px; padding-right: 16px; } .docs-toc--mobile { display: none; } .docs-toc a { padding: 7px 10px; border-radius: var(--radius-control); color: var(--muted); font-size: 13px; text-decoration: none; } .docs-toc a:hover { background: var(--soft); color: var(--ink); } .docs-content { min-width: 0; } .docs-hero, .feature-hero, .architecture-article-hero { padding: 32px 0 48px; border-bottom: 1px solid var(--line); } .docs-hero h1, .feature-hero h1, .architecture-article-hero h1 { max-width: 860px; margin-bottom: 16px; font-size: 44px; line-height: 1.1; } .docs-hero > p:last-child, .feature-hero > p, .feature-hero__copy > p, .architecture-article-hero > p { max-width: var(--measure); color: var(--muted); } .docs-start-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 32px 0; border-bottom: 1px solid var(--line); } .docs-start-card { display: grid; gap: 4px; } .docs-start-card strong { font-size: 16px; } .docs-start-card em, .docs-lane-map em { color: var(--muted); font-size: 13px; font-style: normal; } .docs-section, .feature-section, .architecture-article-section, .architecture-blog-section, .architecture-longform { padding: 48px 0; border-bottom: 1px solid var(--line); } .docs-section h2, .feature-section h2, .architecture-article-section h2, .architecture-blog-section h2, .architecture-longform h2 { margin-bottom: 14px; font-size: 32px; line-height: 1.2; } .docs-section h3, .feature-section h3, .architecture-longform h3 { margin-top: 28px; } .docs-section p, .docs-section li, .feature-section p, .feature-section li, .architecture-prose p, .architecture-prose li { color: var(--muted); } .docs-value-rail { display: grid; gap: 0; } .docs-value-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 24px; border: 1px solid var(--line); } .docs-value-rail article { min-height: 168px; padding: 16px; } .docs-value-rail article + article { border-left: 1px solid var(--line); } .docs-value-rail article:nth-child(3n + 1) { border-left: 0; } .docs-value-rail article:nth-child(n + 4) { border-top: 1px solid var(--line); } .docs-value-rail span { color: var(--accent-strong); font-size: 11px; font-weight: 700; } .docs-value-rail strong { display: block; margin: 24px 0 8px; font-size: 14px; } .docs-value-rail p { font-size: 13px; line-height: 19px; } .docs-lane-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; } .docs-lane-map a { display: grid; gap: 4px; } .docs-two-column, .feature-section--split { display: grid; grid-template-columns: minmax(260px, 0.75fr) minmax(0, 1.25fr); gap: 40px; align-items: start; } .docs-list { margin: 16px 0 0; padding-left: 20px; } .feature-shell, .architecture-post-shell { width: min(calc(100% - (2 * var(--gutter))), 1000px); margin: 0 auto; padding: 32px 0 96px; } .feature-hero--imagegen, .feature-hero--loop { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 0.7fr); gap: 40px; align-items: center; } .feature-actions { margin-top: 24px; } .feature-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 20px; border: 1px solid var(--line); } .feature-flow span { min-height: 72px; display: grid; place-items: center; padding: 12px; overflow-wrap: anywhere; text-align: center; font-size: 13px; font-weight: 600; } .feature-flow span + span { border-left: 1px solid var(--line); } .feature-section--split .feature-flow { grid-template-columns: 1fr; } .feature-section--split .feature-flow span { min-height: 48px; justify-items: start; text-align: left; } .feature-section--split .feature-flow span + span { border-top: 1px solid var(--line); border-left: 0; } .loop-image-frame, .imagegen-doc-poster { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--soft); } .loop-image-frame img, .imagegen-doc-poster img { width: 100%; height: auto; } .discord-frame { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--soft); } .discord-channel { padding: 10px 14px; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 700; } .discord-message { display: grid; grid-template-columns: 36px 1fr; gap: 12px; padding: 14px; } .discord-message + .discord-message { border-top: 1px solid var(--line); } .avatar { width: 36px; height: 36px; display: grid; place-items: center; border-radius: var(--radius-control); background: var(--ink); color: var(--canvas); font-size: 12px; font-weight: 700; } .avatar--bot { background: var(--accent); } .message-meta { margin-bottom: 4px; font-size: 12px; } .message-body p { margin-bottom: 0; } .architecture-mermaid-map { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 24px; } .arch-node { min-height: 118px; display: grid; align-content: center; gap: 8px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--soft); } .arch-node span { color: var(--accent-strong); font-size: 11px; font-weight: 700; text-transform: uppercase; } .arch-node strong { font-size: 13px; line-height: 18px; } .architecture-article-hero { min-height: 0; } .architecture-hero-board, .platform-chip-wall, .source-chip-grid, .architecture-example-lines { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; } .architecture-hero-board span, .platform-chip-wall span, .source-chip-grid a, .architecture-example-lines span { min-height: 34px; display: inline-flex; align-items: center; padding: 7px 10px; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--soft); color: var(--muted); font-size: 12px; text-decoration: none; } .language-switch { display: flex; gap: 8px; margin-bottom: 24px; } .language-radio { position: absolute; opacity: 0; pointer-events: none; } #arch-lang-en:focus-visible ~ .architecture-post-shell label[for="arch-lang-en"], #arch-lang-ko:focus-visible ~ .architecture-post-shell label[for="arch-lang-ko"] { outline: 3px solid color-mix(in srgb, var(--accent) 45%, transparent); outline-offset: 3px; } .language-switch label { min-height: 40px; display: inline-flex; align-items: center; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--radius-control); cursor: pointer; } .lang-panel--ko { display: none; } #arch-lang-ko:checked ~ .architecture-post-shell .lang-panel--en { display: none; } #arch-lang-ko:checked ~ .architecture-post-shell .lang-panel--ko { display: block; } #arch-lang-en:checked ~ .architecture-post-shell label[for="arch-lang-en"], #arch-lang-ko:checked ~ .architecture-post-shell label[for="arch-lang-ko"] { border-color: var(--accent); background: var(--accent-soft); color: var(--accent-strong); } .feature-section--split .usecase-grid { grid-template-columns: 1fr; } .architecture-prose { max-width: 760px; } .architecture-prose p, .architecture-prose li { font-size: 16px; line-height: 1.75; } .architecture-thesis, .article-callout, .loop-post { margin: 24px 0; padding: 20px; border-left: 3px solid var(--accent); background: var(--accent-soft); color: var(--ink); } .comparison-shell { width: min(calc(100% - (2 * var(--gutter))), var(--page)); margin: 0 auto; padding: 64px 0 88px; } .comparison-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 0.38fr); gap: 48px; align-items: end; padding-bottom: 48px; border-bottom: 1px solid var(--line); } .comparison-hero--baseline { display: block; max-width: 760px; } .comparison-hero h1 { max-width: 820px; margin-bottom: 16px; font-size: clamp(42px, 5vw, 66px); } .comparison-hero > p, .comparison-hero--applied > div > p, .comparison-hero__state span, .comparison-section > .section-heading > p, .comparison-evidence > div > p { color: var(--muted); } .comparison-hero__state { display: grid; gap: 10px; align-content: start; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--soft); } .comparison-hero__state strong, .baseline-brief__message strong { font-family: var(--font-display); font-size: 22px; font-weight: 400; line-height: 1.2; } .baseline-brief { max-width: 860px; padding: 40px 0 56px; } .baseline-brief__message { display: grid; gap: 10px; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--soft); } .baseline-brief__message > span, .baseline-brief__cards span, .direction-grid span, .intent-grid dt { color: var(--quiet); font-size: 11px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase; } .baseline-brief__cards, .baseline-wall, .direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; } .baseline-brief__cards { margin-top: 12px; } .baseline-brief__cards article, .baseline-wall article { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--canvas); } .baseline-brief__cards article { display: grid; gap: 8px; } .baseline-brief__cards article strong { font-size: 15px; } .baseline-brief__cards article p, .baseline-wall p { margin: 0; color: var(--muted); font-size: 13px; } .comparison-section { padding: 64px 0; border-top: 1px solid var(--line); } .comparison-section .section-heading { width: auto; padding: 0 0 32px; } .baseline-wall { grid-template-columns: repeat(3, minmax(0, 1fr)); } .baseline-wall article { min-height: 168px; } .baseline-wall h3 { margin-bottom: 10px; } .orchestration-frame { overflow: hidden; border: 1px solid var(--line-strong); border-radius: var(--radius-frame); box-shadow: var(--shadow-frame); } .orchestration-frame__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 10px 16px; border-bottom: 1px solid var(--line); background: var(--night); color: var(--night-muted); font-family: var(--font-mono); font-size: 12px; } .orchestration-frame__body { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); } .orchestration-intent, .orchestration-direction { padding: 32px; } .orchestration-intent { background: var(--soft-blue); } .orchestration-direction { border-left: 1px solid var(--line); } .orchestration-frame h2, .comparison-evidence h2 { margin-bottom: 18px; font-size: 30px; } .intent-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 28px 0 0; border-top: 1px solid var(--line); } .intent-grid div { display: grid; gap: 3px; padding: 12px 0; border-bottom: 1px solid var(--line); } .intent-grid dd { margin: 0; font-size: 15px; font-weight: 700; } .direction-grid { grid-template-columns: 1fr 1fr; } .direction-grid div { display: grid; gap: 5px; min-height: 82px; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-control); } .direction-grid strong { font-size: 14px; line-height: 18px; } .lane-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border: 1px solid var(--line); border-radius: var(--radius-frame); } .lane-rail li { display: grid; grid-template-rows: auto 1fr auto; gap: 16px; min-height: 208px; padding: 18px; } .lane-rail li + li { border-left: 1px solid var(--line); } .lane-rail li > span, .lane-rail em { color: var(--accent-strong); font-family: var(--font-mono); font-size: 11px; font-style: normal; font-weight: 700; } .lane-rail strong { display: block; margin-bottom: 8px; font-size: 15px; } .lane-rail p { margin: 0; color: var(--muted); font-size: 13px; } .comparison-evidence { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 48px; align-items: start; padding: 64px 0; border-top: 1px solid var(--line); } .evidence-rail { display: grid; border: 1px solid var(--line); border-radius: var(--radius-frame); } .evidence-rail > div { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-items: center; padding: 16px; } .evidence-rail > div + div { border-top: 1px solid var(--line); } .evidence-rail p { grid-column: 2; margin: 2px 0 0; color: var(--muted); font-size: 13px; } .comparison-boundary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-frame); background: var(--soft); } .comparison-boundary p { margin: 0; color: var(--muted); font-size: 14px; } .comparison-boundary--applied { grid-template-columns: auto minmax(0, 1fr); } .comparison-boundary--applied .button-row { grid-column: 2; } @media (max-width: 1120px) { .home-hero { grid-template-columns: 1fr; min-height: 0; } .home-hero__content { max-width: 680px; } } @media (max-width: 1040px) { :root { --gutter: 32px; } .family-nav { grid-template-columns: repeat(3, minmax(0, 1fr)); } .family-nav a:nth-child(4) { border-left: 0; } .capability-band { gap: 40px; } .docs-shell { grid-template-columns: 180px minmax(0, 1fr); gap: 32px; } .docs-two-column { grid-template-columns: minmax(0, 1fr); gap: 24px; } .handoff-flow { grid-template-columns: 1fr 1fr; } .handoff-flow > div + div { border-left: 0; } .handoff-flow > div:nth-child(even) { border-left: 1px solid var(--line); } .handoff-flow > div:nth-child(n + 3) { border-top: 1px solid var(--line); } .docs-value-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } .docs-value-rail article + article { border-left: 0; border-top: 1px solid var(--line); } .docs-value-rail article:nth-child(even) { border-left: 1px solid var(--line); } .architecture-mermaid-map { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 760px) { :root { --gutter: 20px; --section: 48px; } .surface-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; } h1 { font-size: 38px; line-height: 1.1; } h2 { font-size: 30px; line-height: 1.2; } .topbar { min-height: 60px; padding-top: 10px; padding-bottom: 10px; } .brand { font-size: 0; } .brand-mark { font-size: 14px; } .nav { gap: 0; } .nav a { padding: 8px; font-size: 13px; } .nav a:nth-child(n + 4):not(.nav__icon) { display: none; } .showcase-shell { padding-top: 40px; } .home-hero { width: min(calc(100% - (2 * var(--gutter))), var(--page)); gap: 44px; padding: 48px 0 56px; } .home-tagline { font-size: 22px; } .product-frame__bar { grid-template-columns: 1fr auto; } .product-frame__bar > :nth-child(2) { display: none; } .product-frame__body { min-height: 0; grid-template-columns: 1fr; } .product-frame__rail { overflow-x: auto; flex-direction: row; border-right: 0; border-bottom: 1px solid var(--line); } .product-frame__rail span { min-width: max-content; } .product-frame__main { padding: 18px; } .message-intake strong { font-size: 20px; } .contract-grid, .capability-band, .install-panel, .docs-two-column, .feature-section--split, .feature-hero--imagegen, .feature-hero--loop { grid-template-columns: minmax(0, 1fr); } .capability-band--reverse .capability-band__copy, .capability-band--reverse .capability-band__specimen { order: initial; } .proof-rail { grid-template-columns: repeat(2, minmax(0, 1fr)); } .proof-rail > div + div { border-left: 0; } .proof-rail > div:nth-child(even) { border-left: 1px solid var(--line); } .proof-rail > div:nth-child(n + 3) { border-top: 1px solid var(--line); } .family-nav { grid-template-columns: 1fr 1fr; } .family-nav a:nth-child(odd) { border-left: 0; } .family-nav a:nth-child(even) { border-left: 1px solid var(--line); } .section-heading--split { grid-template-columns: 1fr; gap: 20px; } .route-list > div, .impact-list > div, .provider-list > div, .memory-list > div { grid-template-columns: 100px minmax(0, 1fr); } .route-list > div > :last-child, .impact-list > div > :last-child, .provider-list > div > :last-child, .memory-list > div > :last-child { grid-column: 2; } .handoff-flow, .lifecycle-strip, .feature-flow { grid-template-columns: 1fr 1fr; } .handoff-flow > div + div, .lifecycle-step + .lifecycle-step, .feature-flow span + span { border-left: 0; } .handoff-flow > div:nth-child(even), .lifecycle-step:nth-child(even), .feature-flow span:nth-child(even) { border-left: 1px solid var(--line); } .handoff-flow > div:nth-child(n + 3), .lifecycle-step:nth-child(n + 3), .feature-flow span:nth-child(n + 3) { border-top: 1px solid var(--line); } .reference-grid, .docs-grid, .usecase-grid, .image-format-grid, .docs-start-grid, .docs-lane-map { grid-template-columns: 1fr; } .impact-callout { grid-template-columns: 1fr; } .workbench-section { padding: 40px 0; } .docs-shell { width: 100%; display: flex; flex-direction: column; gap: 0; padding: 0 0 72px; } .docs-toc--desktop { display: none; } .docs-toc--mobile { position: static; width: 100%; min-width: 0; max-width: 100vw; display: grid; overflow-x: auto; grid-auto-flow: column; grid-auto-columns: max-content; padding: 12px var(--gutter); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); } .docs-content { order: 1; padding: 0 var(--gutter); } .docs-hero, .feature-hero, .architecture-article-hero { padding-top: 40px; } .docs-hero h1, .feature-hero h1, .architecture-article-hero h1 { font-size: 34px; line-height: 1.16; } .docs-value-rail { grid-template-columns: 1fr; } .docs-value-rail article:nth-child(even) { border-left: 0; } .feature-shell, .architecture-post-shell { padding-top: 20px; } .architecture-mermaid-map { grid-template-columns: 1fr; } .footer { flex-direction: column; } } @media (max-width: 760px) { .comparison-shell { width: min(calc(100% - (2 * var(--gutter))), var(--page)); padding: 40px 0 64px; } .comparison-hero, .orchestration-frame__body, .comparison-evidence { grid-template-columns: 1fr; } .comparison-hero { gap: 24px; padding-bottom: 32px; } .comparison-hero h1 { font-size: 38px; } .baseline-brief__cards, .baseline-wall, .lane-rail { grid-template-columns: 1fr; } .baseline-wall article { min-height: 0; } .orchestration-intent, .orchestration-direction { padding: 24px; } .orchestration-direction { border-top: 1px solid var(--line); border-left: 0; } .orchestration-frame__bar { align-items: flex-start; flex-direction: column; } .lane-rail li { min-height: 0; } .lane-rail li + li { border-top: 1px solid var(--line); border-left: 0; } .comparison-evidence { gap: 24px; padding: 40px 0; } .comparison-boundary, .comparison-boundary--applied { grid-template-columns: 1fr; align-items: start; } .comparison-boundary--applied .button-row { grid-column: auto; } } @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } }