/* One header stylesheet for the persistent React shell and no-JS Blog fallback. */
html { scrollbar-gutter: stable; overflow-y: scroll; background: #faf9f6; }
.public-site-shell { min-height:100vh;background:#faf9f6; }
.public-nav-host { position:sticky;top:0;z-index:50; }
.public-nav { --nav-ink:#475569;--nav-active:#6d28d9;--nav-bg:#faf9f6;box-sizing:border-box;border-bottom:1px solid #e2e8f0;background:rgba(250,249,246,.96);backdrop-filter:blur(12px);font:600 14px/20px ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.public-nav *, .public-nav *:before, .public-nav *:after { box-sizing:border-box; }
.public-nav[data-theme="dark"] { --nav-ink:#d1d5db;--nav-active:#fff;--nav-bg:#0f0f1a;background:rgba(15,15,26,.96);border-color:#ffffff1a; }
.public-nav a { color:var(--nav-ink);text-decoration:none;transition:color 140ms ease; }
.public-nav a:hover,.public-nav a[aria-current] { color:var(--nav-active); }
.public-nav :is(a,summary):focus-visible { outline:2px solid #8b5cf6;outline-offset:3px;border-radius:4px; }
.public-nav-row { width:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;height:63px;padding:0 12px; }
.public-nav-logo { display:flex;flex-shrink:0;border-radius:12px;padding:4px 8px;background:linear-gradient(135deg,#7c3aed0f,#2563eb0a);box-shadow:inset 0 0 0 1px #7c3aed1f; }
.public-nav-logo img { display:block;width:96px;height:32px;object-fit:contain; }
.public-nav ul { list-style:none;margin:0;padding:0; }
.public-nav-desktop { position:relative;display:none;align-items:center;gap:12px;height:63px; }
.public-nav-desktop a { position:relative;white-space:nowrap;border-radius:4px; }
.public-nav-desktop a[aria-current]:after { content:"";position:absolute;left:0;right:0;bottom:-22px;height:2px;background:#7c3aed;view-transition-name:public-active-line; }
.public-nav .public-nav-indicator { position:absolute;bottom:-1px;left:0;width:1px;height:2px;background:#7c3aed;transform-origin:left;opacity:0;pointer-events:none; }
.public-nav-host[data-enhanced] .public-nav-indicator { opacity:1; }
.public-nav-host[data-enhanced] .public-nav-desktop a[aria-current]:after { display:none; }
.public-nav-host[data-indicator-ready="true"] .public-nav-indicator { transition:transform 220ms cubic-bezier(.22,1,.36,1); }
.public-nav-actions { display:flex;align-items:center;gap:6px;min-width:0; }
.public-nav-sign-in { white-space:nowrap;border-radius:999px;padding:6px 8px;font-size:13px; }
.public-nav a.public-nav-register { display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 12px;border-radius:999px;background:linear-gradient(to right,#7c3aed,#2563eb);color:white;font-size:13px;font-weight:700;white-space:nowrap; }
.public-nav a.public-nav-register:hover { opacity:.9; }
.public-nav-menu>summary { display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;border-radius:12px;background:#ffffffb3;color:#334155;cursor:pointer;list-style:none; }
.public-nav-menu>summary::-webkit-details-marker { display:none; }
.public-nav-menu svg { width:20px;height:20px; }
.public-nav-close { display:none; }
.public-nav-menu[open] .public-nav-close { display:block; }
.public-nav-menu[open] .public-nav-hamburger { display:none; }
.public-nav-panel { position:absolute;top:100%;left:0;right:0;border-top:1px solid #e2e8f0;background:var(--nav-bg);padding:8px 16px calc(20px + env(safe-area-inset-bottom));max-height:calc(100dvh - 64px);overflow:auto;box-shadow:0 12px 20px #0f172a0f; }
.public-nav-panel li a { display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:12px;font-size:15px; }
.public-nav-panel li a:hover { background:#8b5cf60d; }
.public-nav-panel li a[aria-current]:after { content:"";width:6px;height:6px;border-radius:50%;background:#7c3aed; }
.public-nav-panel-auth { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px; }
.public-nav-panel-auth>a { display:flex;align-items:center;justify-content:center;height:44px;font-weight:700; }
.public-nav-panel-auth .public-nav-sign-in { border:1px solid #c4b5fd;color:var(--nav-active); }
.public-nav-panel-auth a.public-nav-register { height:44px; }
@media(min-width:640px) { .public-nav-row{max-width:640px;padding:0 24px}.public-nav-logo img{width:120px;height:40px}.public-nav-actions{gap:12px}.public-nav-sign-in,.public-nav a.public-nav-register{font-size:14px}.public-nav a.public-nav-register{padding:0 16px} }
@media(min-width:768px) { .public-nav-row{max-width:768px} }
@media(min-width:1024px) { .public-nav-row{max-width:1024px}.public-nav-desktop{display:flex}.public-nav-menu{display:none} }
@media(min-width:1280px) { .public-nav-row{max-width:1280px}.public-nav-desktop{gap:24px} }
@media(min-width:1536px) { .public-nav-row{max-width:1536px} }
@view-transition { navigation:auto; }
::view-transition-group(public-active-line) { animation-duration:220ms;animation-timing-function:cubic-bezier(.22,1,.36,1); }
@media(prefers-reduced-motion:reduce) {
  @view-transition { navigation:none; }
  .public-nav-host[data-indicator-ready="true"] .public-nav-indicator,.public-nav a { transition:none; }
}
