.home-prototype { padding-bottom: 88px; }
.home-editorial-hero { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr); gap:clamp(44px,7vw,86px); min-height:620px; align-items:end; padding:108px 0 72px; border-bottom:1px solid var(--line); }
.home-editorial-hero__copy { align-self:end; }
.home-editorial-hero__copy h1 { max-width:960px; margin:18px 0 30px; font-family:var(--font-heading,var(--font-sans)); font-size:clamp(64px,8.5vw,116px); font-weight:var(--heading-weight,800); line-height:.88; letter-spacing:-.06em; text-wrap:balance; text-transform:var(--heading-transform,none); }
.home-editorial-hero__copy h1 em { color:var(--accent); font-weight:inherit; }
.home-editorial-hero__copy p { max-width:670px; margin:0; color:var(--muted); font-size:19px; line-height:1.7; }
.home-editorial-side { align-self:end; padding:4px 0 6px 30px; border-left:1px solid var(--line); color:var(--muted); font-size:16px; line-height:1.55; }
.home-editorial-side strong { display:block; margin-bottom:10px; color:var(--text); font-family:var(--font-heading,var(--font-sans)); font-size:38px; font-weight:var(--heading-weight,800); line-height:.95; letter-spacing:-.035em; }
.home-editorial-side__topics { display:block; margin-top:28px; color:var(--accent); font:700 10px/1.65 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }

.home-prototype-featured { position:relative; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr); gap:34px; margin:58px 0 20px; padding:38px; overflow:hidden; border:var(--border-size,1px) solid var(--line); border-radius:calc(var(--radius) + 4px); background:linear-gradient(140deg,var(--surface),var(--surface-2)); box-shadow:var(--card-shadow); }
.home-prototype-featured::after { content:""; position:absolute; inset:auto -8% -55% 42%; height:260px; pointer-events:none; background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 68%); }
.home-prototype-featured__copy { position:relative; z-index:1; display:flex; min-height:300px; flex-direction:column; align-items:flex-start; }
.home-prototype-featured h2 { max-width:690px; margin:14px 0 16px; font-family:var(--font-heading,var(--font-sans)); font-size:clamp(44px,5.5vw,64px); font-weight:var(--heading-weight,800); line-height:.96; letter-spacing:-.05em; text-wrap:balance; text-transform:var(--heading-transform,none); }
.home-prototype-featured h2 a { text-decoration:none; }
.home-prototype-featured h2 a:hover,.home-prototype-featured h2 a:focus-visible { color:var(--accent); }
.home-prototype-featured__copy > p { max-width:610px; margin:0 0 24px; color:var(--muted); font-size:18px; line-height:1.6; }
.home-prototype-meta { margin-top:auto; color:var(--muted); font:700 10px/1.55 var(--font-mono); letter-spacing:.09em; text-transform:uppercase; }
.home-code-panel { position:relative; z-index:1; display:flex; align-items:center; min-height:300px; padding:26px; overflow:auto; border:1px solid var(--line); border-radius:max(4px,calc(var(--radius) - 4px)); background:var(--code-bg); color:var(--code-text); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--text) 5%,transparent); }
.home-code-panel pre { margin:0; white-space:pre-wrap; font:13px/1.75 var(--font-mono); }
.home-code-panel .code-accent { color:var(--accent); }

.home-bento { display:grid; grid-template-columns:1.08fr .92fr .92fr; grid-auto-rows:minmax(260px,auto); gap:18px; margin:18px 0 78px; }
.home-bento-card { min-height:270px; display:flex; flex-direction:column; padding:28px; border:var(--border-size,1px) solid var(--line); border-radius:calc(var(--radius) + 2px); background:var(--surface); box-shadow:var(--card-shadow); transition:transform .18s ease,border-color .18s ease,background-color .18s ease; }
.home-bento-card:hover { transform:translateY(-2px); border-color:color-mix(in srgb,var(--accent) 38%,var(--line)); }
.home-bento-card:first-child { grid-row:span 2; min-height:558px; padding:32px; background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 86%,var(--accent) 14%),var(--surface-2)); }
.home-bento-card:nth-child(4) { background:color-mix(in srgb,var(--surface) 94%,var(--accent) 6%); }
.home-bento-card h3 { margin:auto 0 12px; font-family:var(--font-heading,var(--font-sans)); font-size:clamp(28px,2.7vw,36px); font-weight:var(--heading-weight,800); line-height:1.02; letter-spacing:-.04em; text-wrap:balance; text-transform:var(--heading-transform,none); }
.home-bento-card:first-child h3 { max-width:450px; font-size:clamp(40px,4.4vw,54px); }
.home-bento-card h3 a { text-decoration:none; }
.home-bento-card h3 a:hover,.home-bento-card h3 a:focus-visible { color:var(--accent); }
.home-bento-card p { margin:0; color:var(--muted); line-height:1.58; }
.home-bento-card__meta { color:var(--accent); font:700 10px/1.4 var(--font-mono); letter-spacing:.1em; text-transform:uppercase; }

.home-archive-timeline { display:grid; grid-template-columns:235px 1fr; gap:44px; padding:42px 0 0; border-top:1px solid var(--line); }
.home-archive-timeline__intro p { max-width:220px; color:var(--muted); line-height:1.58; }
.home-archive-timeline .text-link { display:inline-block; margin-top:16px; }
.home-history-graph { min-width:0; }
.home-history-graph__plot { display:grid; grid-template-columns:repeat(var(--year-columns),minmax(0,1fr)); gap:clamp(4px,.7vw,10px); min-height:150px; align-items:end; padding:24px 0 0; border-bottom:1px solid var(--line); }
.home-history-graph__year { position:relative; display:grid; grid-template-rows:112px 24px; align-items:end; min-width:0; }
.home-history-graph__bar { position:relative; display:block; width:100%; height:max(3px,var(--bar-height)); max-height:100%; align-self:end; border:1px solid color-mix(in srgb,var(--accent) 68%,var(--line)); border-bottom:0; background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 82%,var(--surface)),color-mix(in srgb,var(--accent) 36%,var(--surface))); text-decoration:none; transition:filter .15s ease,transform .15s ease; }
.home-history-graph__bar.is-empty { height:3px; border-style:dashed; border-bottom:0; background:transparent; opacity:.45; cursor:default; }
.home-history-graph__bar:hover,.home-history-graph__bar:focus-visible { z-index:4; filter:brightness(1.15); transform:translateY(-2px); outline:2px solid var(--accent); outline-offset:2px; }
.home-history-graph__bar.is-empty:hover,.home-history-graph__bar.is-empty:focus-visible { transform:none; }
.home-history-graph__tooltip { position:absolute; left:50%; bottom:calc(100% + 9px); width:max-content; max-width:140px; transform:translateX(-50%); padding:6px 8px; border:1px solid var(--line); border-radius:4px; background:var(--surface); color:var(--text); box-shadow:var(--card-shadow); font:700 10px/1.2 var(--font-mono); opacity:0; pointer-events:none; white-space:nowrap; }
.home-history-graph__bar:hover .home-history-graph__tooltip,.home-history-graph__bar:focus-visible .home-history-graph__tooltip { opacity:1; }
.home-history-graph__label { display:block; align-self:end; overflow:hidden; color:var(--muted); font:10px/1 var(--font-mono); text-align:center; text-overflow:clip; }
.home-history-graph__label.is-secondary { color:transparent; user-select:none; }
.home-history-graph__summary { margin:14px 0 0; color:var(--muted); font:10px/1.5 var(--font-mono); }

html[data-theme="midnight-editorial"] .home-editorial-hero__copy h1 em { color:#e879f9; font-style:italic; }
html[data-theme="midnight-editorial"] .home-prototype-featured { background:linear-gradient(140deg,#111116,#0c0c10); box-shadow:0 34px 90px rgba(0,0,0,.38); }
html[data-theme="midnight-editorial"] .home-bento-card:first-child { background:linear-gradient(180deg,#17131c,#0e0e12); }
html[data-theme="midnight-editorial"] .home-bento-card { box-shadow:0 18px 48px rgba(0,0,0,.13); }

html[data-theme="neo-industrial"] .home-editorial-hero { background-image:linear-gradient(90deg,transparent 0 72%,color-mix(in srgb,var(--accent) 4%,transparent) 72% 100%); }
html[data-theme="neo-industrial"] .home-prototype-featured { box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 5%,transparent); }
html[data-theme="neo-industrial"] .home-bento-card:first-child { background:linear-gradient(180deg,#12202b,#0e151d); }

html[data-theme="warm-analog"] .home-prototype-featured,
html[data-theme="warm-analog"] .home-bento-card { background-image:linear-gradient(rgba(255,255,255,.015),rgba(255,255,255,.015)); }
html[data-theme="warm-analog"] .home-editorial-hero__copy h1 em { color:#d68a55; font-style:italic; }
html[data-theme="warm-analog"] .home-code-panel { border-color:#4c3a2c; }

html[data-theme="technical-brutalism"] .home-editorial-hero { min-height:auto; border-bottom-width:3px; }
html[data-theme="technical-brutalism"] .home-editorial-side { border-left-width:3px; }
html[data-theme="technical-brutalism"] .home-prototype-featured,
html[data-theme="technical-brutalism"] .home-bento-card { border-radius:0; box-shadow:none; }
html[data-theme="technical-brutalism"] .home-prototype-featured { background:#f7f5ef; }
html[data-theme="technical-brutalism"] .home-bento-card:first-child { background:#111; color:#f7f5ef; }
html[data-theme="technical-brutalism"] .home-bento-card:first-child p { color:#c8c8c8; }
html[data-theme="technical-brutalism"] .home-code-panel { border-width:3px; border-radius:0; }
html[data-theme="technical-brutalism"] .home-bento-card:hover { transform:none; }
html[data-theme="technical-brutalism"] .home-archive-timeline { border-top-width:3px; }
html[data-theme="technical-brutalism"] .home-history-graph__bar,html[data-theme="technical-brutalism"] .home-history-graph__tooltip { border-width:3px; border-radius:0; box-shadow:none; }

@media (max-width:900px) {
  .home-editorial-hero,.home-prototype-featured { grid-template-columns:1fr; }
  .home-editorial-hero { min-height:auto; padding-top:86px; }
  .home-editorial-side { border-left:0; border-top:1px solid var(--line); padding:26px 0 0; }
  .home-prototype-featured__copy { min-height:auto; }
  .home-bento { grid-template-columns:1fr 1fr; }
  .home-bento-card:first-child { grid-row:auto; grid-column:1 / -1; min-height:380px; }
}

@media (max-width:680px) {
  .home-prototype { padding-bottom:64px; }
  .home-editorial-hero { padding:68px 0 50px; }
  .home-editorial-hero__copy h1 { font-size:clamp(52px,15vw,76px); }
  .home-prototype-featured { margin-top:36px; padding:24px; }
  .home-code-panel { min-height:240px; }
  .home-bento { grid-template-columns:1fr; margin-bottom:58px; }
  .home-bento-card:first-child { grid-column:auto; min-height:340px; }
  .home-bento-card { min-height:240px; }
  .home-archive-timeline { grid-template-columns:1fr; gap:24px; }
  .home-archive-timeline__intro p { max-width:none; }
  .home-history-graph__plot { gap:3px; min-height:128px; }
  .home-history-graph__year { grid-template-rows:92px 20px; }
  .home-history-graph__label { font-size:8px; }
  .home-history-graph__label.is-secondary { display:none; }
}
