.detail-page.svelte-1bftxjt{position:relative;overflow:hidden;padding:clamp(4rem,10vw,6rem) 0 5rem;min-height:100dvh}.page-glow.svelte-1bftxjt{position:absolute;inset:0;pointer-events:none}.accent-rose.svelte-1bftxjt .page-glow:where(.svelte-1bftxjt){background:radial-gradient(ellipse 50% 40% at 0% 0%,rgba(255,58,154,.05) 0%,transparent 65%)}.accent-cyan.svelte-1bftxjt .page-glow:where(.svelte-1bftxjt){background:radial-gradient(ellipse 50% 40% at 0% 0%,rgba(56,232,255,.05) 0%,transparent 65%)}.accent-violet.svelte-1bftxjt .page-glow:where(.svelte-1bftxjt){background:radial-gradient(ellipse 50% 40% at 0% 0%,rgba(184,100,255,.05) 0%,transparent 65%)}.accent-amber.svelte-1bftxjt .page-glow:where(.svelte-1bftxjt){background:radial-gradient(ellipse 50% 40% at 0% 0%,rgba(255,201,71,.05) 0%,transparent 65%)}.breadcrumb.svelte-1bftxjt{display:flex;align-items:center;gap:.6rem;max-width:1100px;margin:0 auto 1.5rem;padding:0 clamp(1.5rem,5vw,5rem);font-family:var(--font-mono);font-size:.6rem;letter-spacing:.1em;color:var(--color-text-faint);position:relative;z-index:1}.breadcrumb.svelte-1bftxjt a:where(.svelte-1bftxjt){color:var(--color-text-faint);transition:color var(--duration-fast) ease}.breadcrumb.svelte-1bftxjt a:where(.svelte-1bftxjt):hover{color:var(--color-text)}.slug-header.svelte-1bftxjt{position:relative;padding:3rem clamp(1.5rem,5vw,5rem) 2.5rem;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:0;z-index:1}.slug-header.accent-rose.svelte-1bftxjt{background:linear-gradient(135deg,rgba(255,58,154,.14) 0%,rgba(184,100,255,.07) 60%,transparent 100%);border-bottom-color:#ff3a9a26}.slug-header.accent-cyan.svelte-1bftxjt{background:linear-gradient(135deg,rgba(56,232,255,.12) 0%,rgba(100,60,255,.07) 60%,transparent 100%);border-bottom-color:#38e8ff1f}.slug-header.accent-violet.svelte-1bftxjt{background:linear-gradient(135deg,rgba(184,100,255,.14) 0%,rgba(56,232,255,.06) 60%,transparent 100%);border-bottom-color:#b864ff24}.slug-header.accent-amber.svelte-1bftxjt{background:linear-gradient(135deg,rgba(255,201,71,.12) 0%,rgba(255,58,154,.07) 60%,transparent 100%);border-bottom-color:#ffc9471f}.slug-header-inner.svelte-1bftxjt{max-width:1100px;margin:0 auto}.slug-cat.svelte-1bftxjt{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:.6rem;display:block;color:var(--color-text-faint)}.accent-rose.svelte-1bftxjt .slug-cat:where(.svelte-1bftxjt){color:var(--color-rose)}.accent-cyan.svelte-1bftxjt .slug-cat:where(.svelte-1bftxjt){color:var(--color-cyan)}.accent-violet.svelte-1bftxjt .slug-cat:where(.svelte-1bftxjt){color:var(--color-violet)}.accent-amber.svelte-1bftxjt .slug-cat:where(.svelte-1bftxjt){color:#ffc947}.slug-title.svelte-1bftxjt{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.05;margin-bottom:.5rem}.slug-sub.svelte-1bftxjt{font-size:.95rem;color:var(--color-text-muted);line-height:1.6}.detail-inner.svelte-1bftxjt{display:grid;grid-template-columns:1fr 260px;gap:5rem;align-items:start;max-width:1100px;margin:0 auto;padding:2.5rem clamp(1.5rem,5vw,5rem) 0;position:relative;z-index:1}.detail-intro.svelte-1bftxjt{font-size:1.02rem;line-height:1.8;color:var(--color-text-muted);padding-bottom:2.5rem;border-bottom:1px solid var(--color-border);margin-bottom:0}.detail-section.svelte-1bftxjt{padding:2rem 0;border-bottom:1px solid var(--color-border)}.detail-section.svelte-1bftxjt h2:where(.svelte-1bftxjt){font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-family:var(--font-mono);color:var(--color-text-faint);margin-bottom:1rem}.detail-section.svelte-1bftxjt p:where(.svelte-1bftxjt){font-size:.93rem;line-height:1.8;max-width:none}.highlights-list.svelte-1bftxjt{list-style:none;display:flex;flex-direction:column;gap:.5rem}.highlights-list.svelte-1bftxjt li:where(.svelte-1bftxjt){font-size:.9rem;line-height:1.6;padding-left:1.4rem;position:relative;color:var(--color-text-muted)}.highlights-list.svelte-1bftxjt li:where(.svelte-1bftxjt):before{content:"—";position:absolute;left:0;font-family:var(--font-mono)}.accent-rose.svelte-1bftxjt .highlights-list:where(.svelte-1bftxjt) li:where(.svelte-1bftxjt):before{color:var(--color-rose)}.accent-cyan.svelte-1bftxjt .highlights-list:where(.svelte-1bftxjt) li:where(.svelte-1bftxjt):before{color:var(--color-cyan)}.accent-violet.svelte-1bftxjt .highlights-list:where(.svelte-1bftxjt) li:where(.svelte-1bftxjt):before{color:var(--color-violet)}.accent-amber.svelte-1bftxjt .highlights-list:where(.svelte-1bftxjt) li:where(.svelte-1bftxjt):before{color:#ffc947}.detail-challenge.svelte-1bftxjt{background:#ffffff05;border:1px solid var(--color-border)!important;border-radius:6px;padding:1.5rem!important;margin-top:2rem}.challenge-label.svelte-1bftxjt{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.7rem!important}.accent-rose.svelte-1bftxjt .challenge-label:where(.svelte-1bftxjt){color:var(--color-rose)}.accent-cyan.svelte-1bftxjt .challenge-label:where(.svelte-1bftxjt){color:var(--color-cyan)}.accent-violet.svelte-1bftxjt .challenge-label:where(.svelte-1bftxjt){color:var(--color-violet)}.accent-amber.svelte-1bftxjt .challenge-label:where(.svelte-1bftxjt){color:#ffc947}.challenge-text.svelte-1bftxjt{font-size:.88rem!important;font-style:italic}.detail-sidebar.svelte-1bftxjt{display:flex;flex-direction:column;gap:1.8rem;padding:1.8rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);position:sticky;top:6rem}.sidebar-block.svelte-1bftxjt{display:flex;flex-direction:column;gap:.5rem}.sidebar-label.svelte-1bftxjt{font-family:var(--font-mono);font-size:.48rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-faint)}.sidebar-value.svelte-1bftxjt{font-size:.85rem;color:var(--color-text)}.stack-list.svelte-1bftxjt{display:flex;flex-wrap:wrap;gap:.35rem}.stack-tag.svelte-1bftxjt{font-family:var(--font-mono);font-size:.54rem;letter-spacing:.04em;padding:.2rem .55rem;background:#ffffff0a;border:1px solid var(--color-border);border-radius:2px;color:var(--color-text-faint)}.links-list.svelte-1bftxjt{display:flex;flex-direction:column;gap:.5rem}.ext-link.svelte-1bftxjt{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;padding:.45rem .7rem;border:1px solid var(--color-border-dim);border-radius:3px;color:var(--color-text-muted);transition:border-color var(--duration-fast) ease,color var(--duration-fast) ease}.ext-link.svelte-1bftxjt:hover{color:var(--color-text);border-color:var(--color-border)}.accent-rose.svelte-1bftxjt .ext-link:where(.svelte-1bftxjt):hover{color:var(--color-rose);border-color:#ff3a9a66}.accent-cyan.svelte-1bftxjt .ext-link:where(.svelte-1bftxjt):hover{color:var(--color-cyan);border-color:#38e8ff66}.accent-violet.svelte-1bftxjt .ext-link:where(.svelte-1bftxjt):hover{color:var(--color-violet);border-color:#b864ff66}.accent-amber.svelte-1bftxjt .ext-link:where(.svelte-1bftxjt):hover{color:#ffc947;border-color:#ffc94766}.ext-arrow.svelte-1bftxjt{font-size:.7rem}.project-nav.svelte-1bftxjt{display:flex;justify-content:space-between;max-width:1100px;margin:4rem auto 0;padding:2.5rem clamp(1.5rem,5vw,5rem) 0;border-top:1px solid var(--color-border);position:relative;z-index:1}.project-nav-link.svelte-1bftxjt{display:flex;flex-direction:column;gap:.3rem;text-decoration:none}.project-nav-next.svelte-1bftxjt{align-items:flex-end}.nav-dir.svelte-1bftxjt{font-family:var(--font-mono);font-size:.52rem;letter-spacing:.1em;color:var(--color-text-faint);text-transform:uppercase}.nav-title.svelte-1bftxjt{font-size:.95rem;font-weight:600;color:var(--color-text);transition:color var(--duration-fast) ease}.accent-rose.svelte-1bftxjt .project-nav-link:where(.svelte-1bftxjt):hover .nav-title:where(.svelte-1bftxjt){color:var(--color-rose)}.accent-cyan.svelte-1bftxjt .project-nav-link:where(.svelte-1bftxjt):hover .nav-title:where(.svelte-1bftxjt){color:var(--color-cyan)}.accent-violet.svelte-1bftxjt .project-nav-link:where(.svelte-1bftxjt):hover .nav-title:where(.svelte-1bftxjt){color:var(--color-violet)}.accent-amber.svelte-1bftxjt .project-nav-link:where(.svelte-1bftxjt):hover .nav-title:where(.svelte-1bftxjt){color:#ffc947}@media(max-width:1024px){.detail-inner.svelte-1bftxjt{gap:3rem}}@media(max-width:768px){.detail-inner.svelte-1bftxjt{grid-template-columns:1fr;gap:2rem}.detail-sidebar.svelte-1bftxjt{position:static}.project-nav.svelte-1bftxjt{flex-wrap:wrap;gap:1.5rem}}
