Files
WRNexusJS/examples/component-showcase/app/styles/global.css
T
2026-07-24 12:46:44 +05:30

2468 lines
48 KiB
CSS

@import "tailwindcss";
@plugin "@iconify/tailwind4";
@source "../**/*.wrn";
@source "../../../packages/ui/components/*.wrn";
:root {
color-scheme: light dark;
}
html[data-ui-palette="violet"] {
--wire-color-primary: #7c3aed;
--wire-color-primary-hover: #6d28d9;
--wire-color-primary-contrast: #fff;
--wire-color-secondary: #db2777;
--wire-color-success: #059669;
--wire-color-warning: #d97706;
--wire-color-danger: #dc2626;
--wire-color-info: #2563eb;
}
html[data-ui-palette="blue"] {
--wire-color-primary: #2563eb;
--wire-color-primary-hover: #1d4ed8;
--wire-color-primary-contrast: #fff;
--wire-color-secondary: #475569;
--wire-color-success: #16a34a;
--wire-color-warning: #d97706;
--wire-color-danger: #dc2626;
--wire-color-info: #0284c7;
}
html[data-ui-palette="emerald"] {
--wire-color-primary: #059669;
--wire-color-primary-hover: #047857;
--wire-color-primary-contrast: #fff;
--wire-color-secondary: #0f766e;
--wire-color-success: #16a34a;
--wire-color-warning: #d97706;
--wire-color-danger: #dc2626;
--wire-color-info: #0284c7;
}
html[data-ui-palette="rose"] {
--wire-color-primary: #e11d48;
--wire-color-primary-hover: #be123c;
--wire-color-primary-contrast: #fff;
--wire-color-secondary: #9333ea;
--wire-color-success: #059669;
--wire-color-warning: #d97706;
--wire-color-danger: #dc2626;
--wire-color-info: #2563eb;
}
html[data-ui-palette="amber"] {
--wire-color-primary: #d97706;
--wire-color-primary-hover: #b45309;
--wire-color-primary-contrast: #fff;
--wire-color-secondary: #92400e;
--wire-color-success: #15803d;
--wire-color-warning: #d97706;
--wire-color-danger: #dc2626;
--wire-color-info: #0284c7;
}
html[data-ui-palette="cyan"] {
--wire-color-primary: #0891b2;
--wire-color-primary-hover: #0e7490;
--wire-color-primary-contrast: #fff;
--wire-color-secondary: #2563eb;
--wire-color-success: #16a34a;
--wire-color-warning: #d97706;
--wire-color-danger: #dc2626;
--wire-color-info: #0284c7;
}
html[data-ui-palette="slate"] {
--wire-color-primary: #475569;
--wire-color-primary-hover: #334155;
--wire-color-primary-contrast: #fff;
--wire-color-secondary: #0f172a;
--wire-color-success: #15803d;
--wire-color-warning: #b45309;
--wire-color-danger: #b91c1c;
--wire-color-info: #0369a1;
}
* {
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
body {
margin: 0;
color: var(--wire-color-text);
background: var(--wire-color-bg);
font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;
}
html[data-ui-font="system"] body {
font-family: ui-sans-serif, system-ui, sans-serif;
}
html[data-ui-font="serif"] body {
font-family: Georgia, "Times New Roman", serif;
}
html[data-ui-font="mono"] body {
font-family: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
}
html[data-ui-scale="compact"] {
font-size: 14px;
}
html[data-ui-scale="comfortable"] {
font-size: 17px;
}
html[data-ui-scale="large"] {
font-size: 19px;
}
html[data-ui-style="soft"] {
--wire-radius-sm: 0.85rem;
--wire-radius: 1.35rem;
--wire-shadow-1: 0 16px 40px color-mix(in srgb, var(--wire-color-primary) 10%, transparent);
}
html[data-ui-style="sharp"] {
--wire-radius-sm: 0.15rem;
--wire-radius: 0.25rem;
--wire-shadow-1: none;
}
html[data-ui-style="glass"] {
--wire-radius-sm: 0.8rem;
--wire-radius: 1.1rem;
--wire-shadow-1: 0 20px 50px color-mix(in srgb, var(--wire-color-primary) 12%, transparent);
}
html[data-ui-style="glass"] :is(.wire-next, .showcase-card, .catalog-card) {
background: color-mix(in srgb, var(--wire-color-surface) 76%, transparent);
backdrop-filter: blur(18px);
}
.showcase-shell {
min-height: 100vh;
}
.showcase-header {
position: sticky;
top: 0;
z-index: 70;
display: flex;
align-items: center;
gap: 1rem;
padding: 0.75rem clamp(1rem, 3vw, 2.5rem);
border-bottom: 1px solid var(--wire-color-border);
background: color-mix(in srgb, var(--wire-color-surface) 92%, transparent);
backdrop-filter: blur(16px);
}
.showcase-header-start,
.showcase-header-end {
display: flex;
align-items: center;
gap: 0.9rem;
}
.showcase-brand {
display: inline-flex;
flex: 0 0 auto;
align-items: center;
gap: 0.5rem;
color: var(--wire-color-text);
font-weight: 800;
text-decoration: none;
}
.showcase-nav {
display: flex;
flex: 1;
gap: 0.25rem;
overflow-x: auto;
scrollbar-width: thin;
}
.showcase-nav a,
.showcase-theme {
min-height: 2.5rem;
display: inline-flex;
align-items: center;
white-space: nowrap;
padding: 0.5rem 0.75rem;
border: 0;
border-radius: var(--wire-radius-sm);
color: var(--wire-color-muted);
background: transparent;
font: inherit;
font-size: 0.82rem;
font-weight: 700;
text-decoration: none;
cursor: pointer;
}
.showcase-nav a:hover,
.showcase-theme:hover {
color: var(--wire-color-primary);
background: var(--wire-color-surface-2);
}
.showcase-main {
width: min(100% - 2rem, 100rem);
margin-inline: auto;
padding-block: clamp(2rem, 5vw, 4rem);
}
.docs-shell:has(.page-home, .page-marketplace) .docs-directory {
display: none;
}
.docs-shell:has(.page-home, .page-marketplace) {
display: block;
}
.docs-shell:has(.page-home, .page-marketplace) .showcase-main {
width: min(100% - 2rem, 90rem);
}
.design-panel {
position: fixed;
top: 4.75rem;
right: 1rem;
z-index: 120;
display: grid;
width: min(23rem, calc(100vw - 2rem));
gap: 1rem;
padding: 1.25rem;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius);
background: var(--wire-color-surface);
box-shadow: 0 2rem 5rem rgb(0 0 0 / 25%);
opacity: 0;
visibility: hidden;
transform: translateY(-0.75rem);
transition: 180ms ease;
}
html[data-design-panel-open] .design-panel {
opacity: 1;
visibility: visible;
transform: none;
}
.design-panel header,
.design-panel label {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
}
.design-panel header div {
display: grid;
gap: 0.2rem;
}
.design-panel header span {
color: var(--wire-color-muted);
font-size: 0.72rem;
}
.design-panel header button,
.design-reset {
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius-sm);
color: var(--wire-color-text);
background: var(--wire-color-surface-2);
cursor: pointer;
}
.design-panel header button {
display: grid;
width: 2.25rem;
height: 2.25rem;
place-items: center;
}
.design-panel label > span {
font-size: 0.82rem;
font-weight: 700;
}
.design-panel select {
width: 11rem;
padding: 0.55rem 0.7rem;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius-sm);
color: var(--wire-color-text);
background: var(--wire-color-bg);
font: inherit;
font-size: 0.8rem;
}
.design-reset {
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
min-height: 2.6rem;
font: inherit;
font-size: 0.8rem;
font-weight: 700;
}
.docs-directory-guides > strong {
display: block;
padding-inline: 0.5rem;
color: var(--wire-color-muted);
font-size: 0.65rem;
font-weight: 800;
letter-spacing: 0.09em;
text-transform: uppercase;
}
.docs-directory-guides small {
margin-left: 0.35rem;
padding: 0.1rem 0.35rem;
border: 1px solid var(--wire-color-success);
border-radius: 999px;
color: var(--wire-color-success);
font-size: 0.58rem;
}
.page-home {
padding-top: clamp(2rem, 7vw, 6rem);
}
.showcase-hero--home {
max-width: 62rem;
margin-inline: auto;
text-align: center;
}
.showcase-hero--home .showcase-description {
margin-inline: auto;
}
.home-actions,
.home-install {
display: flex;
align-items: center;
justify-content: center;
gap: 0.75rem;
}
.home-install {
width: fit-content;
margin: 0.5rem auto 0;
padding: 0.7rem 0.8rem;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius-sm);
background: var(--wire-color-surface);
}
.home-install span {
color: var(--wire-color-primary);
}
.home-install button {
display: grid;
border: 0;
color: var(--wire-color-muted);
background: none;
cursor: pointer;
}
.home-product-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
margin-block: clamp(3rem, 7vw, 6rem);
}
.home-product-grid article {
display: grid;
gap: 0.8rem;
padding: 1.5rem;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius);
background: var(--wire-color-surface);
}
.home-product-grid article > span,
.home-product-grid a {
color: var(--wire-color-primary);
}
.home-product-grid p {
margin: 0;
color: var(--wire-color-muted);
}
.home-product-grid a {
font-size: 0.8rem;
font-weight: 800;
text-decoration: none;
}
.page-docs {
max-width: 52rem;
}
.docs-intro {
padding-bottom: 2rem;
border-bottom: 1px solid var(--wire-color-border);
}
.docs-intro h1,
.page-marketplace h1 {
margin: 0.5rem 0;
font-size: clamp(2rem, 4vw, 3.5rem);
letter-spacing: -0.045em;
}
.docs-intro p,
.page-marketplace > header p,
.guide-section p {
color: var(--wire-color-muted);
}
.guide-section {
padding-block: 2.4rem;
border-bottom: 1px solid var(--wire-color-border);
}
.guide-section h2 {
margin: 0 0 0.65rem;
}
.guide-section pre {
padding: 1rem;
overflow: auto;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius-sm);
background: var(--wire-color-surface-2);
}
.guide-next {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 1rem;
padding-top: 2.5rem;
}
.guide-next a {
padding: 1rem;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius-sm);
color: var(--wire-color-text);
background: var(--wire-color-surface);
font-size: 0.82rem;
font-weight: 800;
text-decoration: none;
}
.guide-next a:hover {
border-color: var(--wire-color-primary);
color: var(--wire-color-primary);
}
.market-tabs {
display: flex;
gap: 2rem;
margin: -1rem 0 4rem;
padding: 1rem 0;
overflow-x: auto;
border-bottom: 1px solid var(--wire-color-border);
}
.market-tabs a {
flex: 0 0 auto;
color: var(--wire-color-muted);
font-size: 0.78rem;
text-decoration: none;
}
.market-tabs a:first-child {
color: var(--wire-color-text);
font-weight: 800;
}
.page-marketplace > header {
max-width: 48rem;
margin-bottom: 2.5rem;
}
.market-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.4rem;
}
.market-card {
overflow: hidden;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius);
background: var(--wire-color-surface);
}
.market-preview {
display: grid;
min-height: 12rem;
place-items: center;
color: var(--wire-color-primary);
background:
radial-gradient(
circle at 50% 100%,
color-mix(in srgb, var(--wire-color-primary) 25%, transparent),
transparent 60%
),
var(--wire-color-bg);
}
.market-preview div {
display: grid;
width: 45%;
gap: 0.4rem;
}
.market-preview i {
height: 0.35rem;
border-radius: 1rem;
background: var(--wire-color-border);
}
.market-card > div:last-child {
padding: 1.1rem;
}
.market-card small,
.template-card small {
color: var(--wire-color-primary);
font-weight: 700;
}
.market-card h2 {
margin: 0.35rem 0;
font-size: 1rem;
}
.market-card p,
.template-card p {
color: var(--wire-color-muted);
font-size: 0.78rem;
}
.market-card a,
.template-card a {
color: var(--wire-color-text);
font-size: 0.75rem;
font-weight: 800;
text-decoration: none;
}
.template-list {
display: grid;
gap: 2rem;
}
.template-card {
display: grid;
grid-template-columns: minmax(16rem, 0.8fr) minmax(24rem, 1.8fr);
min-height: 20rem;
gap: 2rem;
padding: 2rem;
overflow: hidden;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius);
background: var(--wire-color-surface-2);
}
.template-card h2 {
margin: 1rem 0 0.5rem;
font-size: 1.5rem;
}
.template-scenes {
position: relative;
min-height: 16rem;
}
.template-scenes i {
position: absolute;
width: 55%;
height: 85%;
border: 1px solid var(--wire-color-border);
border-radius: 0.6rem;
background:
linear-gradient(90deg, var(--wire-color-surface) 18%, transparent 18%),
repeating-linear-gradient(0deg, transparent 0 1.4rem, var(--wire-color-border) 1.45rem 1.5rem),
var(--wire-color-bg);
box-shadow: var(--wire-shadow-1);
}
.template-scenes i:nth-child(1) {
left: 0;
top: 8%;
}
.template-scenes i:nth-child(2) {
left: 27%;
top: 0;
}
.template-scenes i:nth-child(3) {
right: 0;
top: 12%;
}
@media (max-width: 980px) {
.market-grid {
grid-template-columns: repeat(2, 1fr);
}
.template-card {
grid-template-columns: 1fr;
}
}
@media (max-width: 700px) {
.home-product-grid,
.market-grid {
grid-template-columns: 1fr;
}
.showcase-header .docs-search {
display: none;
}
.market-tabs {
margin-bottom: 2rem;
}
.guide-next {
grid-template-columns: 1fr;
}
}
.showcase-hero {
display: grid;
gap: 1rem;
margin-bottom: 2rem;
}
.showcase-eyebrow {
color: var(--wire-color-primary);
font-size: 0.75rem;
font-weight: 800;
letter-spacing: 0.14em;
text-transform: uppercase;
}
.showcase-title {
margin: 0;
font-size: clamp(2rem, 5vw, 4.5rem);
line-height: 0.98;
letter-spacing: -0.05em;
}
.showcase-description {
max-width: 52rem;
margin: 0;
color: var(--wire-color-muted);
font-size: 1.05rem;
}
.showcase-stats,
.showcase-category-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr));
gap: 1rem;
}
.showcase-stat,
.showcase-category {
padding: 1.25rem;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius);
color: var(--wire-color-text);
background: var(--wire-color-surface);
box-shadow: var(--wire-shadow-1);
text-decoration: none;
}
.showcase-stat strong {
display: block;
color: var(--wire-color-primary);
font-size: 2rem;
}
.showcase-category:hover {
border-color: var(--wire-color-primary);
transform: translateY(-2px);
}
.showcase-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr));
align-items: start;
gap: 1.25rem;
}
.showcase-card {
min-width: 0;
overflow: clip;
border: 1px solid var(--wire-color-border);
border-radius: var(--wire-radius);
background: var(--wire-color-surface);
box-shadow: var(--wire-shadow-1);
}
.showcase-card:target {
outline: 3px solid color-mix(in srgb, var(--wire-color-primary) 40%, transparent);
outline-offset: 3px;
}
.showcase-card-header {
display: flex;
align-items: start;
justify-content: space-between;
gap: 1rem;
padding: 1rem 1.1rem;
border-bottom: 1px solid var(--wire-color-border);
background: var(--wire-color-surface-2);
}
.showcase-card-title {
margin: 0;
font-size: 1rem;
}
.showcase-card-purpose {
margin: 0.3rem 0 0;
color: var(--wire-color-muted);
font-size: 0.78rem;
}
.showcase-card-count {
flex: 0 0 auto;
color: var(--wire-color-primary);
font-size: 0.72rem;
font-weight: 800;
}
.showcase-stage {
min-height: 10rem;
overflow: auto;
padding: 1.25rem;
background:
linear-gradient(var(--wire-color-border) 1px, transparent 1px),
linear-gradient(90deg, var(--wire-color-border) 1px, transparent 1px), var(--wire-color-bg);
background-size: 1.5rem 1.5rem;
}
.showcase-instance {
max-width: 100%;
}
/* Keep overlay/fixed components inspectable inside their card instead of
covering the complete catalog page. */
.showcase-stage .fixed,
.showcase-stage [class*="fixed"] {
position: relative !important;
inset: auto !important;
z-index: auto !important;
max-height: 24rem;
}
.showcase-stage .min-h-screen {
min-height: 14rem !important;
}
.showcase-slot {
padding: 0.75rem;
border: 1px dashed var(--wire-color-border);
border-radius: var(--wire-radius-sm);
color: var(--wire-color-muted);
background: var(--wire-color-surface-2);
font-size: 0.8rem;
}
@media (max-width: 720px) {
.showcase-header {
align-items: stretch;
flex-wrap: wrap;
}
.showcase-brand {
flex: 1;
}
.showcase-nav {
order: 3;
flex-basis: 100%;
}
.showcase-main {
width: min(100% - 1rem, 100rem);
}
}
/* Documentation shell ----------------------------------------------------- */
.showcase-header {
z-index: 100;
min-height: 4rem;
justify-content: space-between;
padding: 0.65rem 1.25rem;
border-bottom: 1px solid var(--wire-color-border);
background: color-mix(in srgb, var(--wire-color-bg) 94%, transparent);
box-shadow: none;
}
.showcase-header-start,
.showcase-header-end {
display: flex;
align-items: center;
gap: 1rem;
}
.showcase-brand {
gap: 0.6rem;
font-size: 0.86rem;
font-weight: 850;
letter-spacing: -0.02em;
}
.showcase-brand-mark {
display: grid;
width: 1.8rem;
height: 1.8rem;
place-items: center;
border-radius: 0.5rem;
color: var(--wire-color-primary-contrast);
background: var(--wire-color-primary);
}
.showcase-nav {
gap: 0.15rem;
}
.showcase-nav a {
padding: 0.48rem 0.6rem;
border-radius: 0.45rem;
color: var(--wire-color-muted);
font-size: 0.76rem;
font-weight: 700;
}
.showcase-nav a:hover {
color: var(--wire-color-text);
background: var(--wire-color-surface-2);
}
.docs-search {
display: flex;
width: min(18rem, 25vw);
min-height: 2.25rem;
align-items: center;
gap: 0.55rem;
padding: 0.35rem 0.45rem 0.35rem 0.7rem;
border: 1px solid var(--wire-color-border);
border-radius: 0.65rem;
color: var(--wire-color-muted);
background: var(--wire-color-surface-2);
}
.docs-search input {
min-width: 0;
flex: 1;
border: 0;
outline: 0;
color: var(--wire-color-text);
background: transparent;
font: inherit;
font-size: 0.72rem;
}
.docs-search kbd {
padding: 0.18rem 0.35rem;
border: 1px solid var(--wire-color-border);
border-radius: 0.35rem;
color: var(--wire-color-muted);
background: var(--wire-color-surface);
font-size: 0.6rem;
}
.showcase-github,
.showcase-theme,
.docs-menu-toggle {
display: grid;
width: 2.25rem;
height: 2.25rem;
place-items: center;
padding: 0;
border: 1px solid transparent;
border-radius: 0.6rem;
color: var(--wire-color-muted);
background: transparent;
}
.showcase-github:hover,
.showcase-theme:hover,
.docs-menu-toggle:hover {
color: var(--wire-color-text);
border-color: var(--wire-color-border);
background: var(--wire-color-surface-2);
}
.docs-menu-toggle {
display: none;
}
.docs-shell {
display: grid;
min-height: calc(100vh - 4rem);
grid-template-columns: 17rem minmax(0, 1fr);
}
.docs-directory {
position: sticky;
top: 4rem;
height: calc(100vh - 4rem);
overflow: auto;
padding: 1.5rem 1rem 3rem;
border-right: 1px solid var(--wire-color-border);
background: var(--wire-color-bg);
scrollbar-width: thin;
}
.docs-directory-intro {
display: grid;
gap: 0.25rem;
margin-bottom: 1.5rem;
padding-inline: 0.45rem;
}
.docs-directory-intro strong {
font-size: 0.82rem;
}
.docs-directory-intro span {
color: var(--wire-color-muted);
font-size: 0.66rem;
}
.docs-directory nav,
.docs-directory-group,
.docs-directory-group > div {
display: grid;
}
.docs-directory nav {
gap: 1.4rem;
}
.docs-directory-group {
gap: 0.4rem;
}
.docs-directory-group > div {
gap: 0.1rem;
}
.docs-directory-heading {
padding-inline: 0.5rem;
color: var(--wire-color-muted);
font-size: 0.65rem;
font-weight: 800;
letter-spacing: 0.09em;
text-decoration: none;
text-transform: uppercase;
}
.docs-directory-group > div > a {
overflow: hidden;
padding: 0.42rem 0.55rem;
border-radius: 0.45rem;
color: var(--wire-color-muted);
font-size: 0.72rem;
font-weight: 600;
text-decoration: none;
text-overflow: ellipsis;
white-space: nowrap;
}
.docs-directory-group > div > a:hover,
.docs-directory-group > div > a[aria-current="page"] {
color: var(--wire-color-text);
background: var(--wire-color-surface-2);
}
.docs-directory-group > div > a[aria-current="page"] {
box-shadow: inset 2px 0 var(--wire-color-primary);
}
.docs-directory-empty {
margin: 1rem 0.5rem;
color: var(--wire-color-muted);
font-size: 0.72rem;
}
.showcase-main {
width: 100%;
max-width: 100rem;
margin: 0 auto;
padding: clamp(1.5rem, 3vw, 3rem);
}
.docs-breadcrumbs {
margin-bottom: 1.5rem;
}
.detail-hero {
grid-template-columns: 1fr;
gap: 1rem;
margin-bottom: 3rem;
padding: 0;
border: 0;
border-radius: 0;
background: transparent;
box-shadow: none;
}
.detail-hero-copy {
max-width: 52rem;
gap: 0.85rem;
}
.detail-hero h1 {
font-size: clamp(2.4rem, 5vw, 4rem);
line-height: 1;
letter-spacing: -0.055em;
}
.detail-hero p {
font-size: 0.95rem;
}
.detail-hero-icon {
display: none;
}
.detail-badges span,
.category-meta span {
padding: 0.32rem 0.55rem;
font-size: 0.64rem;
}
.detail-layout {
grid-template-columns: minmax(0, 1fr) 11rem;
gap: clamp(2rem, 4vw, 4rem);
}
.detail-toc {
padding-left: 0;
border-left: 0;
}
.detail-toc strong {
color: var(--wire-color-muted);
font-size: 0.64rem;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.detail-toc a {
padding: 0.3rem 0;
font-size: 0.68rem;
}
.playground-workbench,
.demo-case,
.docs-table-wrap {
border-radius: 0.85rem;
box-shadow: none;
}
.playground-section {
margin-bottom: 4rem;
}
.playground-workbench {
grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
}
.demo-case-header {
padding: 1.15rem 1.25rem;
}
.detail-section-heading h2 {
letter-spacing: -0.035em;
}
@media (max-width: 1180px) {
.showcase-nav {
display: none;
}
.detail-layout {
grid-template-columns: 1fr;
}
.detail-aside {
display: none;
}
}
@media (max-width: 900px) {
.docs-menu-toggle {
display: grid;
}
.docs-shell {
grid-template-columns: 1fr;
}
.docs-directory {
position: fixed;
z-index: 90;
inset: 4rem auto 0 0;
width: min(20rem, 86vw);
height: auto;
transform: translateX(-105%);
transition: transform 180ms ease;
box-shadow: var(--wire-shadow-2);
}
[data-docs-menu-open] .docs-directory {
transform: translateX(0);
}
.docs-search {
width: min(15rem, 36vw);
}
}
@media (max-width: 640px) {
.showcase-header {
padding-inline: 0.75rem;
}
.showcase-brand {
font-size: 0;
}
.showcase-brand-mark {
font-size: initial;
}
.docs-search {
width: min(12rem, 44vw);
}
.docs-search kbd,
.showcase-github {
display: none;
}
.showcase-main {
padding: 1rem;
}
.playground-workbench {
grid-template-columns: 1fr;
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
scroll-behavior: auto !important;
transition-duration: 0.01ms !important;
animation-duration: 0.01ms !important;
}
}
/* --- Modern documentation experience ----------------------------------- */
body {
background:
radial-gradient(
circle at 10% -10%,
color-mix(in srgb, var(--wire-color-primary) 16%, transparent),
transparent 32rem
),
radial-gradient(
circle at 92% 8%,
color-mix(in srgb, var(--wire-color-info) 12%, transparent),
transparent 28rem
),
var(--wire-color-bg);
}
.showcase-header {
min-height: 4.5rem;
padding-inline: clamp(1rem, 4vw, 4rem);
border-color: color-mix(in srgb, var(--wire-color-border) 72%, transparent);
box-shadow: 0 1px 0 color-mix(in srgb, var(--wire-color-surface) 80%, transparent);
}
.showcase-brand {
font-size: 0.94rem;
letter-spacing: -0.02em;
}
.showcase-main {
width: min(100% - 2rem, 92rem);
padding-block: clamp(2.5rem, 6vw, 6rem);
}
.showcase-hero {
position: relative;
max-width: 68rem;
gap: 1.25rem;
margin-bottom: clamp(3rem, 7vw, 6rem);
}
.showcase-hero--home {
max-width: 76rem;
padding-block: clamp(2rem, 6vw, 5rem);
}
.showcase-eyebrow,
.demo-case-eyebrow,
.catalog-card-category,
.detail-section-heading > span,
.home-section-heading > span {
display: inline-flex;
width: max-content;
align-items: center;
gap: 0.45rem;
color: var(--wire-color-primary);
font-size: 0.72rem;
font-weight: 850;
letter-spacing: 0.15em;
text-transform: uppercase;
}
.showcase-eyebrow::before {
width: 1.75rem;
height: 2px;
border-radius: 999px;
background: var(--wire-color-primary);
content: "";
}
.showcase-title {
max-width: 72rem;
font-size: clamp(3rem, 8vw, 7.5rem);
font-weight: 850;
line-height: 0.9;
letter-spacing: -0.075em;
}
.showcase-title em {
color: var(--wire-color-primary);
font-family: Georgia, "Times New Roman", serif;
font-weight: 500;
}
.showcase-hero--category .showcase-title {
font-size: clamp(3.25rem, 7vw, 6.5rem);
}
.showcase-description {
max-width: 59rem;
font-size: clamp(1rem, 2vw, 1.25rem);
line-height: 1.75;
}
.home-actions {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
margin-top: 0.75rem;
}
.home-primary-action,
.home-secondary-action {
display: inline-flex;
min-height: 3.25rem;
align-items: center;
justify-content: center;
gap: 0.65rem;
padding: 0.8rem 1.2rem;
border: 1px solid var(--wire-color-border);
border-radius: 0.85rem;
color: var(--wire-color-text);
background: var(--wire-color-surface);
font-size: 0.9rem;
font-weight: 800;
text-decoration: none;
box-shadow: var(--wire-shadow-1);
transition:
transform 180ms ease,
box-shadow 180ms ease;
}
.home-primary-action {
border-color: var(--wire-color-primary);
color: var(--wire-color-primary-contrast);
background: var(--wire-color-primary);
box-shadow: 0 1rem 2.5rem color-mix(in srgb, var(--wire-color-primary) 24%, transparent);
}
.home-primary-action:hover,
.home-secondary-action:hover {
transform: translateY(-2px);
text-decoration: none;
}
.showcase-stats {
grid-template-columns: repeat(4, 1fr);
gap: 0;
overflow: hidden;
margin-bottom: clamp(4rem, 8vw, 7rem);
border: 1px solid var(--wire-color-border);
border-radius: 1.5rem;
background: var(--wire-color-surface);
box-shadow: var(--wire-shadow-1);
}
.showcase-stat {
border: 0;
border-right: 1px solid var(--wire-color-border);
border-radius: 0;
padding: clamp(1.25rem, 3vw, 2rem);
box-shadow: none;
}
.showcase-stat:last-child {
border-right: 0;
}
.showcase-stat strong {
font-size: clamp(2rem, 4vw, 3.25rem);
letter-spacing: -0.06em;
}
.showcase-stat span {
color: var(--wire-color-muted);
font-size: 0.8rem;
font-weight: 700;
}
.home-categories {
display: grid;
gap: 2rem;
}
.home-section-heading,
.detail-section-heading {
display: grid;
max-width: 48rem;
gap: 0.6rem;
}
.home-section-heading h2,
.detail-section-heading h2 {
margin: 0;
font-size: clamp(2rem, 4vw, 3.5rem);
line-height: 1;
letter-spacing: -0.055em;
}
.detail-section-heading p {
margin: 0;
color: var(--wire-color-muted);
}
.home-category-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 0.9rem;
}
.home-category {
position: relative;
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 1.25rem;
min-height: 8rem;
overflow: hidden;
padding: 1.5rem;
border: 1px solid var(--wire-color-border);
border-radius: 1.25rem;
color: var(--wire-color-text);
background: linear-gradient(
135deg,
color-mix(in srgb, var(--wire-color-primary) 7%, var(--wire-color-surface)),
var(--wire-color-surface)
);
text-decoration: none;
box-shadow: var(--wire-shadow-1);
transition:
transform 180ms ease,
border-color 180ms ease,
box-shadow 180ms ease;
}
.home-category:hover {
border-color: color-mix(in srgb, var(--wire-color-primary) 55%, var(--wire-color-border));
transform: translateY(-3px);
box-shadow: var(--wire-shadow-2);
text-decoration: none;
}
.home-category-index {
color: color-mix(in srgb, var(--wire-color-primary) 65%, var(--wire-color-muted));
font-family: ui-monospace, monospace;
font-size: 0.72rem;
}
.home-category strong {
display: block;
font-size: 1.2rem;
letter-spacing: -0.025em;
}
.home-category p {
margin: 0.3rem 0 0;
color: var(--wire-color-muted);
font-size: 0.8rem;
}
.category-meta,
.detail-badges {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.category-meta span,
.detail-badges span {
padding: 0.42rem 0.7rem;
border: 1px solid var(--wire-color-border);
border-radius: 999px;
color: var(--wire-color-muted);
background: color-mix(in srgb, var(--wire-color-surface) 82%, transparent);
font-size: 0.72rem;
font-weight: 750;
}
.catalog-grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
align-items: start;
gap: 1.25rem;
}
.catalog-card {
overflow: hidden;
border: 1px solid var(--wire-color-border);
border-radius: 1.4rem;
background: var(--wire-color-surface);
box-shadow: var(--wire-shadow-1);
transition:
transform 200ms ease,
border-color 200ms ease,
box-shadow 200ms ease;
}
.catalog-card:hover {
border-color: color-mix(in srgb, var(--wire-color-primary) 45%, var(--wire-color-border));
transform: translateY(-4px);
box-shadow: var(--wire-shadow-2);
}
.catalog-card-preview {
position: relative;
display: grid;
min-height: 18rem;
place-items: center;
overflow: hidden;
padding: 2rem;
border-bottom: 1px solid var(--wire-color-border);
color: var(--wire-color-text);
background:
radial-gradient(
circle at 50% 20%,
color-mix(in srgb, var(--wire-color-primary) 14%, transparent),
transparent 58%
),
linear-gradient(135deg, var(--wire-color-bg), var(--wire-color-surface-2));
text-decoration: none;
}
.catalog-card-preview::before {
position: absolute;
inset: 0;
opacity: 0.38;
background-image:
linear-gradient(var(--wire-color-border) 1px, transparent 1px),
linear-gradient(90deg, var(--wire-color-border) 1px, transparent 1px);
background-size: 2rem 2rem;
mask-image: linear-gradient(to bottom, black, transparent);
content: "";
}
.catalog-card-stage {
position: relative;
z-index: 1;
width: min(100%, 32rem);
}
.catalog-card-preview .fixed,
.catalog-card-preview [class*="fixed"] {
position: relative !important;
inset: auto !important;
z-index: auto !important;
max-height: 16rem;
}
.catalog-card-body {
display: grid;
min-height: 13rem;
align-content: space-between;
gap: 1.25rem;
padding: 1.35rem;
}
.catalog-card-body h2 {
margin: 0.45rem 0 0;
font-size: 1.25rem;
letter-spacing: -0.035em;
}
.catalog-card-body p {
margin: 0.55rem 0 0;
color: var(--wire-color-muted);
font-size: 0.83rem;
line-height: 1.65;
}
.catalog-card-footer {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding-top: 1rem;
border-top: 1px solid var(--wire-color-border);
font-size: 0.72rem;
}
.catalog-card-footer > span {
color: var(--wire-color-muted);
}
.catalog-card-footer a {
color: var(--wire-color-primary);
font-weight: 800;
text-decoration: none;
}
.docs-breadcrumbs {
display: flex;
align-items: center;
gap: 0.6rem;
margin-bottom: 2rem;
color: var(--wire-color-muted);
font-size: 0.78rem;
}
.docs-breadcrumbs a {
color: var(--wire-color-muted);
text-decoration: none;
}
.docs-breadcrumbs a:hover {
color: var(--wire-color-primary);
}
.detail-hero {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
gap: 3rem;
margin-bottom: clamp(4rem, 8vw, 7rem);
padding: clamp(2rem, 5vw, 4.5rem);
border: 1px solid var(--wire-color-border);
border-radius: 2rem;
background:
radial-gradient(
circle at 86% 15%,
color-mix(in srgb, var(--wire-color-primary) 18%, transparent),
transparent 22rem
),
linear-gradient(135deg, var(--wire-color-surface), var(--wire-color-surface-2));
box-shadow: var(--wire-shadow-2);
}
.detail-hero-copy {
display: grid;
max-width: 60rem;
gap: 1rem;
}
.detail-hero h1 {
margin: 0;
font-size: clamp(3rem, 7vw, 6rem);
line-height: 0.92;
letter-spacing: -0.07em;
}
.detail-hero p {
max-width: 50rem;
margin: 0;
color: var(--wire-color-muted);
font-size: 1.05rem;
line-height: 1.7;
}
.detail-hero-icon {
display: grid;
width: clamp(6rem, 12vw, 10rem);
aspect-ratio: 1;
place-items: center;
border: 1px solid color-mix(in srgb, var(--wire-color-primary) 30%, var(--wire-color-border));
border-radius: 2rem;
color: var(--wire-color-primary);
background: color-mix(in srgb, var(--wire-color-primary) 10%, var(--wire-color-surface));
box-shadow:
inset 0 1px 0 color-mix(in srgb, white 35%, transparent),
0 2rem 4rem color-mix(in srgb, var(--wire-color-primary) 15%, transparent);
transform: rotate(3deg);
}
.detail-layout {
display: grid;
grid-template-columns: minmax(0, 1fr) 13rem;
align-items: start;
gap: clamp(2rem, 5vw, 5rem);
}
.playground-section {
margin-bottom: clamp(4rem, 8vw, 7rem);
}
.playground-workbench {
display: grid;
min-height: 38rem;
grid-template-columns: minmax(0, 1.25fr) minmax(20rem, 0.75fr);
overflow: hidden;
border: 1px solid var(--wire-color-border);
border-radius: 1.5rem;
background: var(--wire-color-surface);
box-shadow: var(--wire-shadow-2);
}
.playground-preview {
position: relative;
display: grid;
min-width: 0;
grid-template-rows: auto minmax(24rem, 1fr) auto;
border-right: 1px solid var(--wire-color-border);
background:
radial-gradient(
circle at 50% 18%,
color-mix(in srgb, var(--wire-color-primary) 14%, transparent),
transparent 48%
),
linear-gradient(145deg, var(--wire-color-bg), var(--wire-color-surface-2));
}
.playground-preview-source {
display: grid;
min-height: 24rem;
place-items: center;
overflow: auto;
padding: clamp(1.25rem, 5vw, 4rem);
transition: opacity 150ms ease;
}
.playground-preview-source > * {
width: min(100%, 62rem);
}
.playground-preview-source > .wire-action:not(.w-full) {
width: fit-content;
}
.playground-preview-source .fixed,
.playground-preview-source [class*="fixed"] {
position: relative !important;
inset: auto !important;
z-index: auto !important;
max-height: 30rem;
}
.playground-preview-source .min-h-screen {
min-height: 22rem !important;
}
[data-playground][data-updating="true"] .playground-preview-source {
opacity: 0.55;
}
.playground-status {
position: absolute;
inset-block-start: 0.85rem;
inset-inline-end: 8rem;
min-height: 1rem;
color: var(--wire-color-muted);
font-size: 0.68rem;
font-weight: 700;
}
.playground-code {
display: grid;
min-width: 0;
grid-template-rows: auto 1fr;
border-top: 1px solid var(--wire-color-border);
background: color-mix(in srgb, var(--wire-color-bg) 84%, black);
}
.playground-code header {
display: flex;
min-height: 2.75rem;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding-inline: 1rem;
border-bottom: 1px solid var(--wire-color-border);
background: color-mix(in srgb, var(--wire-color-surface) 92%, transparent);
}
.playground-code header > span,
.playground-code button {
display: inline-flex;
align-items: center;
gap: 0.45rem;
font-size: 0.7rem;
font-weight: 750;
}
.playground-code header > span {
color: var(--wire-color-muted);
}
.playground-code button {
padding: 0.42rem 0.6rem;
border: 1px solid var(--wire-color-border);
border-radius: 0.55rem;
color: var(--wire-color-text);
background: var(--wire-color-surface);
font-family: inherit;
cursor: pointer;
}
.playground-code button:hover {
color: var(--wire-color-primary);
border-color: color-mix(in srgb, var(--wire-color-primary) 50%, var(--wire-color-border));
}
.playground-code pre {
max-width: 100%;
max-height: 15rem;
overflow: auto;
margin: 0;
padding: 1rem;
color: var(--wire-color-text);
font-size: 0.72rem;
line-height: 1.65;
white-space: pre;
}
.playground-controls {
display: grid;
min-width: 0;
max-height: 48rem;
grid-template-rows: auto 1fr;
background: var(--wire-color-surface);
}
.playground-controls > header {
display: flex;
min-height: 4.5rem;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding: 0.9rem 1rem;
border-bottom: 1px solid var(--wire-color-border);
background: var(--wire-color-surface-2);
}
.playground-controls > header div,
.playground-field > span,
.playground-toggle > span {
display: grid;
gap: 0.2rem;
}
.playground-controls > header span {
color: var(--wire-color-primary);
font-size: 0.68rem;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.playground-controls > header strong {
font-size: 0.84rem;
}
.playground-controls > header button {
display: inline-flex;
align-items: center;
gap: 0.4rem;
padding: 0.5rem 0.65rem;
border: 1px solid var(--wire-color-border);
border-radius: 0.65rem;
color: var(--wire-color-text);
background: var(--wire-color-surface);
font: inherit;
font-size: 0.72rem;
font-weight: 750;
cursor: pointer;
}
.playground-fields {
display: grid;
align-content: start;
gap: 1rem;
overflow: auto;
padding: 1rem;
}
.playground-field,
.playground-toggle {
display: grid;
gap: 0.55rem;
}
.playground-field strong,
.playground-toggle strong {
font-size: 0.78rem;
}
.playground-field small,
.playground-toggle small {
color: var(--wire-color-muted);
font-size: 0.65rem;
}
.playground-field input,
.playground-field textarea,
.playground-field select {
width: 100%;
border: 1px solid var(--wire-color-border);
border-radius: 0.7rem;
outline: 0;
color: var(--wire-color-text);
background: var(--wire-color-bg);
font: inherit;
font-size: 0.76rem;
}
.playground-field input {
min-height: 2.5rem;
padding: 0.55rem 0.7rem;
}
.playground-field select {
min-height: 2.5rem;
padding: 0.55rem 2rem 0.55rem 0.7rem;
cursor: pointer;
}
.playground-field input[type="color"] {
padding: 0.25rem;
}
.playground-field textarea {
min-height: 7rem;
padding: 0.7rem;
font-family: ui-monospace, monospace;
line-height: 1.5;
resize: vertical;
}
.playground-field input:focus,
.playground-field textarea:focus,
.playground-field select:focus {
border-color: var(--wire-color-primary);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--wire-color-primary) 15%, transparent);
}
.playground-field [aria-invalid="true"] {
border-color: var(--wire-color-danger);
}
.playground-field em {
min-height: 0.8rem;
color: var(--wire-color-danger);
font-size: 0.65rem;
font-style: normal;
}
.playground-toggle {
position: relative;
grid-template-columns: minmax(0, 1fr) auto;
align-items: center;
cursor: pointer;
}
.playground-toggle input {
position: absolute;
z-index: 1;
inset-block: 0;
inset-inline-end: 0;
width: 2.4rem;
height: 100%;
margin: 0;
opacity: 0;
cursor: pointer;
}
.playground-toggle i {
position: relative;
width: 2.4rem;
height: 1.4rem;
border: 1px solid var(--wire-color-border);
border-radius: 999px;
background: var(--wire-color-surface-2);
transition: background 150ms ease;
}
.playground-toggle i::after {
position: absolute;
inset-block-start: 0.19rem;
inset-inline-start: 0.2rem;
width: 0.9rem;
height: 0.9rem;
border-radius: 50%;
background: var(--wire-color-muted);
transition: transform 150ms ease;
content: "";
}
.playground-toggle input:checked + i {
background: var(--wire-color-primary);
}
.playground-toggle input:checked + i::after {
background: var(--wire-color-primary-contrast);
transform: translateX(1rem);
}
.playground-toggle input:focus-visible + i {
outline: 2px solid var(--wire-color-primary);
outline-offset: 2px;
}
.playground-empty {
margin: 0;
color: var(--wire-color-muted);
font-size: 0.78rem;
line-height: 1.6;
}
.detail-content,
.detail-section,
.demo-list {
display: grid;
gap: clamp(2rem, 5vw, 4rem);
}
.detail-section {
scroll-margin-top: 6rem;
}
.demo-list {
gap: 2rem;
}
.pin-length-demo {
display: grid;
width: 100%;
align-content: center;
justify-items: center;
gap: 1rem;
}
.pin-length-demo .wire-next--pin-input {
width: fit-content;
}
.pin-length-demo .wire-next__pin-heading {
display: none;
}
.pin-length-demo .wire-next__pin-cells {
justify-content: center;
overflow: visible;
}
.detail-events-grid {
display: grid;
grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
overflow: hidden;
border: 1px solid var(--wire-color-border);
border-radius: 1.25rem;
background: var(--wire-color-surface);
}
.detail-events-list {
display: grid;
align-content: start;
padding: 1rem;
}
.detail-events-list > div {
display: grid;
gap: 0.3rem;
padding: 0.85rem;
border-bottom: 1px solid var(--wire-color-border);
}
.detail-events-list > div:last-child {
border-bottom: 0;
}
.detail-events-list code {
width: fit-content;
color: var(--wire-color-primary);
font-size: 0.78rem;
font-weight: 750;
}
.detail-events-list span {
color: var(--wire-color-muted);
font-size: 0.76rem;
line-height: 1.55;
}
@media (max-width: 760px) {
.detail-events-grid {
grid-template-columns: 1fr;
}
}
.demo-case {
overflow: hidden;
border: 1px solid var(--wire-color-border);
border-radius: 1.5rem;
background: var(--wire-color-surface);
box-shadow: var(--wire-shadow-1);
}
.demo-case-header {
display: flex;
align-items: start;
justify-content: space-between;
gap: 2rem;
padding: 1.5rem;
}
.demo-case-header h2 {
margin: 0.4rem 0 0;
font-size: 1.4rem;
letter-spacing: -0.035em;
}
.demo-case-header p {
max-width: 42rem;
margin: 0.45rem 0 0;
color: var(--wire-color-muted);
font-size: 0.84rem;
}
.demo-case-number {
color: color-mix(in srgb, var(--wire-color-primary) 45%, var(--wire-color-border));
font-family: ui-monospace, monospace;
font-size: 1.6rem;
font-weight: 800;
}
.demo-workbench {
display: grid;
grid-template-columns: minmax(0, 1.08fr) minmax(22rem, 0.92fr);
border-top: 1px solid var(--wire-color-border);
}
.demo-canvas {
position: relative;
min-height: 24rem;
overflow: auto;
border-right: 1px solid var(--wire-color-border);
background:
radial-gradient(
circle at 50% 20%,
color-mix(in srgb, var(--wire-color-primary) 12%, transparent),
transparent 48%
),
var(--wire-color-bg);
}
.demo-canvas--2 {
background:
radial-gradient(
circle at 20% 20%,
color-mix(in srgb, var(--wire-color-info) 12%, transparent),
transparent 42%
),
var(--wire-color-bg);
}
.demo-canvas--3 {
background:
radial-gradient(
circle at 80% 20%,
color-mix(in srgb, var(--wire-color-success) 12%, transparent),
transparent 42%
),
var(--wire-color-bg);
}
.demo-browser-chrome {
display: flex;
height: 2.75rem;
align-items: center;
gap: 0.4rem;
padding-inline: 1rem;
border-bottom: 1px solid var(--wire-color-border);
background: color-mix(in srgb, var(--wire-color-surface) 92%, transparent);
}
.demo-browser-chrome > span {
width: 0.62rem;
height: 0.62rem;
border-radius: 999px;
background: var(--wire-color-danger);
}
.demo-browser-chrome > span:nth-child(2) {
background: var(--wire-color-warning);
}
.demo-browser-chrome > span:nth-child(3) {
background: var(--wire-color-success);
}
.demo-browser-chrome small {
margin-left: auto;
color: var(--wire-color-muted);
font-size: 0.66rem;
font-weight: 750;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.demo-render {
display: grid;
min-height: 21rem;
place-items: center;
padding: clamp(1.25rem, 5vw, 4rem);
}
.demo-render > * {
width: min(100%, 58rem);
}
.demo-render > .wire-action:not(.w-full) {
width: fit-content;
}
.demo-validation-form {
display: grid;
width: min(100%, 32rem);
gap: 1rem;
}
.demo-validation-form > .wire-btn {
width: fit-content;
}
.demo-render .fixed,
.demo-render [class*="fixed"] {
position: relative !important;
inset: auto !important;
z-index: auto !important;
max-height: 24rem;
}
.demo-render .min-h-screen {
min-height: 16rem !important;
}
.showcase-instance--2 {
max-width: 42rem;
}
.showcase-instance--3 {
max-width: 58rem;
}
.demo-code {
display: grid;
min-width: 0;
grid-template-rows: auto 1fr;
background: color-mix(in srgb, var(--wire-color-bg) 82%, black);
}
.demo-code header {
display: flex;
min-height: 2.75rem;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding-inline: 1rem;
border-bottom: 1px solid var(--wire-color-border);
background: color-mix(in srgb, var(--wire-color-surface) 92%, transparent);
}
.demo-code header > span {
display: inline-flex;
align-items: center;
gap: 0.5rem;
color: var(--wire-color-muted);
font-size: 0.75rem;
font-weight: 750;
}
.demo-code header small {
color: var(--wire-color-primary);
font-family: ui-monospace, monospace;
font-size: 0.68rem;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.demo-code pre {
max-width: 100%;
max-height: 24rem;
overflow: auto;
margin: 0;
padding: 1.25rem;
color: var(--wire-color-text);
background: transparent;
font-size: 0.72rem;
line-height: 1.7;
white-space: pre;
}
.detail-aside {
position: sticky;
top: 6.5rem;
}
.detail-toc {
display: grid;
gap: 0.25rem;
padding-left: 1rem;
border-left: 1px solid var(--wire-color-border);
}
.detail-toc strong {
margin-bottom: 0.5rem;
font-size: 0.76rem;
}
.detail-toc a {
padding-block: 0.35rem;
color: var(--wire-color-muted);
font-size: 0.72rem;
text-decoration: none;
}
.detail-toc a:hover {
color: var(--wire-color-primary);
}
.docs-table-wrap {
overflow: auto;
border: 1px solid var(--wire-color-border);
border-radius: 1.25rem;
background: var(--wire-color-surface);
box-shadow: var(--wire-shadow-1);
}
.docs-table {
width: 100%;
border-collapse: collapse;
text-align: left;
font-size: 0.78rem;
}
.docs-table th,
.docs-table td {
padding: 0.85rem 1rem;
border-bottom: 1px solid var(--wire-color-border);
}
.docs-table th {
color: var(--wire-color-muted);
background: var(--wire-color-surface-2);
font-size: 0.67rem;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.docs-table tr:last-child td {
border-bottom: 0;
}
.docs-table code {
padding: 0.18rem 0.38rem;
border-radius: 0.35rem;
color: var(--wire-color-primary);
background: color-mix(in srgb, var(--wire-color-primary) 8%, transparent);
font-size: 0.72rem;
}
.docs-required {
color: var(--wire-color-danger);
font-weight: 800;
}
.docs-empty {
display: flex;
align-items: center;
gap: 0.7rem;
padding: 1.25rem;
border: 1px dashed var(--wire-color-border);
border-radius: 1rem;
color: var(--wire-color-muted);
}
.detail-pagination {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem;
margin-top: clamp(4rem, 8vw, 7rem);
padding-top: 2rem;
border-top: 1px solid var(--wire-color-border);
}
.detail-pagination a {
display: grid;
gap: 0.35rem;
padding: 1.15rem;
border: 1px solid var(--wire-color-border);
border-radius: 1rem;
color: var(--wire-color-text);
background: var(--wire-color-surface);
text-decoration: none;
}
.detail-pagination a:last-child {
text-align: right;
}
.detail-pagination small {
color: var(--wire-color-muted);
font-size: 0.65rem;
text-transform: uppercase;
}
@media (max-width: 960px) {
.playground-workbench {
grid-template-columns: 1fr;
}
.playground-preview {
border-right: 0;
border-bottom: 1px solid var(--wire-color-border);
}
.playground-controls {
max-height: 34rem;
}
.demo-workbench {
grid-template-columns: 1fr;
}
.demo-canvas {
border-right: 0;
border-bottom: 1px solid var(--wire-color-border);
}
.showcase-stats {
grid-template-columns: repeat(2, 1fr);
}
.showcase-stat:nth-child(2) {
border-right: 0;
}
.showcase-stat:nth-child(-n + 2) {
border-bottom: 1px solid var(--wire-color-border);
}
.catalog-grid {
grid-template-columns: 1fr;
}
.detail-layout {
grid-template-columns: 1fr;
}
.detail-aside {
display: none;
}
}
@media (max-width: 720px) {
.showcase-main {
width: min(100% - 1rem, 92rem);
}
.showcase-title {
font-size: clamp(2.8rem, 15vw, 5rem);
}
.home-category-grid {
grid-template-columns: 1fr;
}
.detail-hero {
grid-template-columns: 1fr;
padding: 1.5rem;
border-radius: 1.4rem;
}
.detail-hero-icon {
display: none;
}
.detail-hero h1 {
font-size: clamp(2.7rem, 14vw, 4.5rem);
}
.demo-case-header {
padding: 1.15rem;
}
.demo-case-number {
display: none;
}
.demo-render {
min-height: 17rem;
padding: 1rem;
}
.detail-pagination {
grid-template-columns: 1fr;
}
}