.page { display: flex; flex-direction: column; justify-content: center; gap: 64px; min-height: 100vh; padding: 48px 32px; background: radial-gradient(circle at 50% 18%, var(--hero-glow), transparent 34%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), var(--page-bg); background-size: auto, 32px 32px, 32px 32px, auto; background-position: center, center, center, center; color: var(--text-primary); } .hero { text-align: center; } .title { margin: 0 0 16px; color: var(--accent-cool); font-size: 56px; font-weight: 750; letter-spacing: -0.035em; line-height: 1; } .lead { max-width: 760px; margin: 0 auto; color: var(--text-secondary); font-size: 18px; line-height: 1.55; } .controls { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 28px; } .repoLink { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 14px; border: 1px solid var(--border-soft); border-radius: 999px; color: var(--text-secondary); background: var(--surface-soft); box-shadow: 0 1px 2px var(--shadow-subtle); font-size: 13px; font-weight: 700; text-decoration: none; transition: border-color 150ms ease, color 150ms ease, background 150ms ease; } .repoLink:hover { border-color: color-mix(in srgb, var(--accent-cool) 46%, var(--border-soft)); color: var(--text-primary); background: color-mix(in srgb, var(--surface-soft) 92%, var(--accent-cool)); } .repoLink:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; } .themeToggle { display: inline-flex; align-items: stretch; gap: 2px; height: 36px; padding: 4px; border: 1px solid var(--border-soft); border-radius: 999px; background: var(--surface-soft); box-shadow: 0 1px 2px var(--shadow-subtle); } .themeToggleOption { appearance: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; padding: 0; border: 0; border-radius: 999px; color: var(--text-muted); background: transparent; font: inherit; cursor: pointer; transition: background-color 150ms ease, color 150ms ease, box-shadow 150ms ease; } .themeToggleOption:hover { color: var(--text-primary); } .themeToggleOption:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; } .themeToggleOption[data-active='true'] { color: var(--text-primary); background: var(--page-bg); box-shadow: 0 1px 2px var(--shadow-subtle); } .themeToggleIcon { display: inline-flex; width: 16px; height: 16px; } .themeToggleIcon svg { width: 100%; height: 100%; } .docsPanel { display: grid; gap: 14px; width: 100%; max-width: 920px; margin: 0 auto; } .docsPanelHeader { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 0 4px 2px; color: var(--text-muted); font-size: 12px; font-weight: 650; letter-spacing: 0.08em; text-transform: uppercase; } .docItem { --doc-accent: var(--accent-cool); position: relative; display: grid; gap: 18px; padding: 24px; overflow: hidden; border: 1px solid var(--border-soft); border-radius: 20px; color: inherit; background: color-mix(in srgb, var(--surface-soft) 98%, var(--doc-accent)); box-shadow: 0 18px 54px rgb(0 0 0 / 9%); transition: border-color 160ms ease, box-shadow 160ms ease, background 160ms ease; } .docItem[data-accent='blue'] { --doc-accent: #62a5ff; } .docItem[data-accent='cyan'] { --doc-accent: #57d6ff; } .docItem[data-accent='pink'] { --doc-accent: #ff72c6; } .docItem:hover { border-color: color-mix(in srgb, var(--doc-accent) 58%, var(--border-soft)); background: color-mix(in srgb, var(--surface-soft) 94%, var(--doc-accent)); box-shadow: 0 18px 54px rgb(0 0 0 / 10%), 0 0 0 1px color-mix(in srgb, var(--doc-accent) 18%, transparent), 0 0 36px color-mix(in srgb, var(--doc-accent) 14%, transparent); } .docCardLink { position: absolute; inset: 0; z-index: 1; border-radius: inherit; } .docCardLink:focus-visible { outline: 2px solid var(--doc-accent); outline-offset: -3px; } .docMain { position: relative; z-index: 0; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; align-items: center; } .docMark { display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; color: var(--doc-accent); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 13px; font-weight: 760; letter-spacing: -0.03em; } .docIcon { width: 64px; height: 64px; } .docIconSlm { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; } .docIconSlm circle { fill: currentColor; stroke: none; } .docIconNext path:first-child { fill: currentColor; } .docIconNext path:last-child { fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.8; } .docIconReact { fill: none; stroke: currentColor; stroke-width: 1.25; } .docIconReact circle { fill: currentColor; stroke: none; } .docIconFigma { fill: none; stroke: currentColor; stroke-width: 1.3; } .docIconFigma circle { fill: color-mix(in srgb, currentColor 18%, transparent); } .docMeta { margin-bottom: 5px; color: var(--doc-accent); font-size: 11px; font-weight: 760; letter-spacing: 0.09em; line-height: 1; text-transform: uppercase; } .docItem h2 { margin: 0; color: var(--text-primary); font-size: 21px; font-weight: 760; letter-spacing: -0.03em; line-height: 1.15; } .docItem p { max-width: 560px; margin: 8px 0 0; color: var(--text-secondary); font-size: 14px; line-height: 1.55; } .docActions { position: relative; z-index: 2; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding-top: 16px; border-top: 1px solid var(--border-soft); pointer-events: none; } .docStatus, .docLink { display: inline-flex; align-items: center; text-decoration: none; pointer-events: auto; } .docStatus { gap: 8px; padding: 6px 10px; border: 1px solid color-mix(in srgb, var(--doc-accent) 34%, var(--border-soft)); border-radius: 10px; color: var(--doc-accent); background: color-mix(in srgb, var(--surface-soft) 90%, var(--doc-accent)); font-size: 12px; font-weight: 700; transition: border-color 150ms ease, background 150ms ease; } .docStatusLink { padding: 7px 12px; border-color: color-mix(in srgb, var(--accent-cool) 58%, var(--border-soft)); border-radius: 10px; color: var(--accent-cool); background: color-mix(in srgb, var(--surface-soft) 88%, var(--accent-cool)); font-size: 13px; } .docStatusLink:hover { border-color: var(--accent-cool); background: color-mix(in srgb, var(--surface-soft) 80%, var(--accent-cool)); } .docItem[data-state='planned'] .docStatus { color: var(--text-muted); } .docLinks { display: flex; flex-wrap: wrap; gap: 8px; } .docLink { padding: 6px 10px; border: 1px solid var(--border-soft); border-radius: 8px; color: var(--text-primary); background: var(--page-bg); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; font-weight: 500; transition: border-color 150ms ease, color 150ms ease; } .docLink:hover { border-color: var(--doc-accent); color: var(--doc-accent); } .footer { margin: 0; color: var(--text-muted); font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 12px; text-align: center; } .footer a { color: var(--text-secondary); text-decoration: none; } .footer a:hover { color: var(--accent-cool); } @media (max-width: 768px) { .page { justify-content: flex-start; gap: 40px; padding: 48px 20px 56px; } .title { font-size: 38px; } .lead { font-size: 16px; } .docItem { gap: 16px; } .docActions { align-items: flex-start; flex-direction: column; } } @media (max-width: 480px) { .page { gap: 36px; padding: 44px 16px 48px; } .title { font-size: 32px; } .lead { font-size: 15px; line-height: 1.5; } .docItem { padding-right: 16px; padding-left: 16px; } .docsPanelHeader { padding-right: 4px; padding-left: 4px; } .docMain { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; } .docMark { width: 42px; height: 42px; font-size: 12px; } .docIcon { width: 30px; height: 30px; } .docItem h2 { font-size: 19px; } .docStatus, .docLinks, .docLink { width: 100%; } .docStatus, .docLink { justify-content: center; } .docLink { flex: 1; } }