/* Warm glass surfaces and system typography. Shared structures live in site.css. */
.glass-theme { display:flow-root; min-height:100vh; position:relative; isolation:isolate; background:transparent; --surface-fill:#ffffff07; --surface-border:#ffffff16; --surface-glint:#ffffff0c; --surface-shadow:#0000001c; --surface-aura:#aa514426; --surface-aura-secondary:#b09c7314; }
.glass-theme::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 86% 0%,var(--surface-aura),transparent 55%),radial-gradient(ellipse at 0% 75%,var(--surface-aura-secondary),transparent 55%),var(--canvas); }
.glass-theme .site-shell { max-width:1120px; padding-inline:40px; }
.glass-theme .site-header { margin-top:24px; padding:10px 14px; border:1px solid var(--surface-border); border-radius:24px; background:linear-gradient(155deg,var(--surface-glint),transparent),var(--surface-fill); backdrop-filter:blur(24px) saturate(1.15); -webkit-backdrop-filter:blur(24px) saturate(1.15); box-shadow:inset 0 1px 0 var(--surface-glint),0 8px 30px var(--surface-shadow); }
.glass-theme .main-nav { background:none; border:0; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none; font:14px/1.4 var(--sans); }
.glass-theme .main-nav a[aria-current] { background:var(--glass-active); }
.glass-theme .intro-section { padding-top:56px; }
.glass-theme .intro-section h1 { font:600 clamp(54px,7.5vw,88px)/1.02 var(--sans); letter-spacing:-.055em; margin:16px 0 28px; }
.glass-theme .intro-copy { max-width:740px; font-size:20px; line-height:1.65; }
.glass-theme .intro-copy p + p { font-size:16px; margin-top:18px; }
.glass-theme .writing-heading h2 { font:600 13px/1.5 var(--sans); letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.glass-theme .writing-heading { margin-bottom:24px; }
.glass-theme .post-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.glass-theme .post-row, .glass-theme .project-row { padding:30px; border:1px solid var(--surface-border); border-radius:24px; background:linear-gradient(145deg,var(--surface-glint),transparent 60%),var(--surface-fill); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); box-shadow:inset 0 1px 0 var(--surface-glint),0 10px 30px var(--surface-shadow); }
.glass-theme .post-row { display:flex; }
.glass-theme .post-row:first-child { grid-column:1/-1; }
.glass-theme .post-copy { display:flex; flex-direction:column; align-items:flex-start; gap:14px; width:100%; max-width:none; }
.glass-theme .post-copy :is(h2,h3) { font:600 24px/1.3 var(--sans); letter-spacing:-.025em; max-width:30ch; }
.glass-theme .post-row:first-child :is(h2,h3) { font-size:30px; max-width:34ch; }
.glass-theme .post-copy p { margin:0; font:16px/1.7 var(--sans); max-width:64ch; }
.glass-theme .post-copy time { margin:auto 0 0; order:2; padding-top:10px; font:13px/1.5 var(--sans); }
.glass-theme .post-row:hover :is(h2,h3) { color:var(--accent); }
.glass-theme .collection-intro h1 { font:600 clamp(48px,6vw,72px)/1.05 var(--sans); letter-spacing:-.045em; }
.glass-theme .project-row h2 { font-weight:600; font-size:26px; }
.glass-theme .project-icon { background:linear-gradient(145deg,var(--surface-glint),transparent),var(--glass-active); border-color:var(--surface-border); border-radius:16px; }
.glass-theme .article-heading h1 { font-weight:600; }
.glass-theme .article-back { border-color:var(--surface-border); background:linear-gradient(145deg,var(--surface-glint),transparent),var(--surface-fill); box-shadow:inset 0 1px 0 var(--surface-glint); }
.glass-theme .article-back:is(:hover,:focus-visible) { background-color:var(--glass-active); }
.glass-theme .prose pre { background:var(--surface-fill); border-color:var(--surface-border); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-radius:16px; }
.glass-theme .footer-signature { font:500 clamp(32px,5vw,54px)/1.1 var(--sans); letter-spacing:-.05em; }
.glass-theme .site-footer { border-top:0; margin-top:64px; }
@media(prefers-color-scheme:light) {
.glass-theme { --surface-fill:#ffffff60; --surface-border:#ffffffa6; --surface-glint:#ffffff94; --surface-shadow:#4034260a; --surface-aura:#c17b6326; --surface-aura-secondary:#a6ac8f24; }
}
@media(max-width:800px) {
.glass-theme .site-header { padding:8px; }
.glass-theme .header-socials { display:none; }
.glass-theme .footer-socials { display:block; flex-basis:100%; }
.glass-theme .footer-signature { flex-basis:100%; }
}
@media(max-width:640px) {
.glass-theme .site-shell { padding-inline:22px; }
.glass-theme .intro-section { padding-top:32px; }
.glass-theme .intro-copy { font-size:18px; }
.glass-theme .site-header { margin-top:16px; border-radius:22px; }
.glass-theme .main-nav { gap:0; padding:0; }
.glass-theme .main-nav a { padding-inline:12px; }
.glass-theme .post-list { grid-template-columns:minmax(0,1fr); gap:16px; }
.glass-theme .post-row, .glass-theme .project-row { padding:24px; border-radius:20px; }
.glass-theme .post-copy :is(h2,h3), .glass-theme .post-row:first-child :is(h2,h3) { font-size:23px; }
.glass-theme .post-copy p { font-size:15px; }
}
@media(prefers-reduced-transparency:reduce) {
.glass-theme .site-header,.glass-theme .post-row,.glass-theme .project-row,.glass-theme .prose pre { background:var(--panel); backdrop-filter:none; -webkit-backdrop-filter:none; }
}
