/* NovaAero v3.0 — HeroUI Design Tokens + Pixso SaaS Style */
:root{
--background:#090D16;--foreground:#F1F5F9;
--surface:#111827;--surface-foreground:#E2E8F0;--surface-hover:#1A2235;
--card:#151C2C;--card-foreground:#E2E8F0;
--popover:#1A2235;--popover-foreground:#F1F5F9;
--muted:#1E293B;--muted-foreground:#94A3B8;
--border:rgba(255,255,255,.06);--border-hover:rgba(255,255,255,.12);--border-strong:rgba(255,255,255,.18);
--ring:rgba(0,180,216,.4);
--accent:#00B4D8;--accent-foreground:#FFF;--accent-soft:rgba(0,180,216,.08);--accent-soft-foreground:#67D8EA;
--primary:#00B4D8;--primary-foreground:#FFF;--primary-hover:#33C4E2;--primary-dim:#0891B2;
--primary-soft:rgba(0,180,216,.06);--primary-glow:rgba(0,180,216,.12);
--success:#34D399;--success-soft:rgba(52,211,153,.08);
--warning:#FBBF24;--warning-soft:rgba(251,191,36,.08);
--danger:#F87171;--danger-soft:rgba(248,113,113,.08);
--info:#60A5FA;--info-soft:rgba(96,165,250,.08);
--c-bg:var(--background);--c-bg-elevated:var(--surface);--c-bg-card:var(--card);
--c-bg-glass:rgba(17,24,39,.72);--c-surface:var(--surface);--c-surface-2:var(--muted);
--c-border:var(--border);--c-border-hover:var(--border-hover);--c-border-strong:var(--border-strong);
--c-text:var(--foreground);--c-text-secondary:#CBD5E1;--c-text-muted:var(--muted-foreground);--c-text-faint:#64748B;
--c-primary:var(--primary);--c-primary-hover:var(--primary-hover);--c-primary-dim:var(--primary-dim);
--c-primary-soft:var(--primary-soft);--c-primary-glow:var(--primary-glow);
--c-accent:var(--accent);--c-accent-soft:var(--accent-soft);
--c-success:var(--success);--c-success-soft:var(--success-soft);
--c-warning:var(--warning);--c-warning-soft:var(--warning-soft);
--c-danger:var(--danger);--c-danger-soft:var(--danger-soft);
--sp-0:0;--sp-0_5:.125rem;--sp-1:.25rem;--sp-1_5:.375rem;--sp-2:.5rem;--sp-2_5:.625rem;
--sp-3:.75rem;--sp-3_5:.875rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;
--sp-7:1.75rem;--sp-8:2rem;--sp-9:2.25rem;--sp-10:2.5rem;--sp-11:2.75rem;
--sp-12:3rem;--sp-14:3.5rem;--sp-16:4rem;--sp-20:5rem;--sp-24:6rem;--sp-32:8rem;
--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'SF Pro Display','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Helvetica Neue',Helvetica,Arial,sans-serif;
--font-mono:'JetBrains Mono','SF Mono',SFMono-Regular,ui-monospace,Menlo,Consolas,monospace;
--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.9375rem;--fs-md:1rem;--fs-lg:1.125rem;
--fs-xl:clamp(1.25rem,1.1rem+.5vw,1.5rem);--fs-2xl:clamp(1.75rem,1.3rem+1.8vw,2.5rem);
--fs-3xl:clamp(2.5rem,1.8rem+3vw,4rem);--fs-hero:clamp(2.75rem,1.8rem+4vw,5rem);
--fs-stat:clamp(2rem,1.6rem+2vw,3.5rem);
--lh-tight:1.2;--lh-normal:1.6;--lh-relaxed:1.75;
--ls-tight:-.03em;--ls-normal:-.01em;--ls-wide:.04em;--ls-wider:.06em;
--r-xs:4px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;--r-2xl:28px;--r-full:9999px;
--shadow-xs:0 1px 2px rgba(0,0,0,.2);
--shadow-sm:0 2px 8px rgba(0,0,0,.2),0 1px 2px rgba(0,0,0,.15);
--shadow-md:0 4px 16px rgba(0,0,0,.25),0 2px 4px rgba(0,0,0,.15);
--shadow-lg:0 12px 40px rgba(0,0,0,.35),0 4px 12px rgba(0,0,0,.2);
--shadow-xl:0 24px 60px rgba(0,0,0,.45),0 8px 20px rgba(0,0,0,.25);
--shadow-glow:0 0 30px var(--primary-glow);--shadow-inner:inset 0 2px 4px rgba(0,0,0,.15);
--maxw:1400px;--maxw-narrow:960px;--maxw-wide:1600px;
--header-h:72px;--header-h-mobile:64px;
--ease-out:cubic-bezier(.16,1,.3,1);--ease-spring:cubic-bezier(.34,1.56,.64,1);--ease-in-out:cubic-bezier(.4,0,.2,1);
--duration-fast:.15s;--duration-base:.3s;--duration-slow:.5s;--duration-slower:.8s;
--scrollbar-thumb:rgba(148,163,184,.25);--scrollbar-track:transparent;--scrollbar-width:thin;--scrollbar-gutter:auto;
}
[data-theme="light"]{
--background:#FFF;--foreground:#0F172A;
--surface:#F8FAFC;--surface-foreground:#334155;--surface-hover:#F1F5F9;
--card:#FFF;--card-foreground:#1E293B;
--popover:#FFF;--popover-foreground:#0F172A;
--muted:#F1F5F9;--muted-foreground:#64748B;
--border:rgba(0,0,0,.06);--border-hover:rgba(0,0,0,.12);--border-strong:rgba(0,0,0,.18);
--ring:rgba(8,145,178,.35);
--accent:#0891B2;--accent-foreground:#FFF;--accent-soft:rgba(8,145,178,.06);--accent-soft-foreground:#065F73;
--primary:#0891B2;--primary-foreground:#FFF;--primary-hover:#0E7490;--primary-dim:#065F73;
--primary-soft:rgba(8,145,178,.05);--primary-glow:rgba(8,145,178,.08);
--success:#059669;--success-soft:rgba(5,150,105,.06);
--warning:#D97706;--warning-soft:rgba(217,119,6,.06);
--danger:#DC2626;--danger-soft:rgba(220,38,38,.06);
--info:#3B82F6;--info-soft:rgba(59,130,246,.06);
--c-bg:var(--background);--c-bg-elevated:var(--surface);--c-bg-card:var(--card);
--c-bg-glass:rgba(255,255,255,.82);--c-surface:var(--surface);--c-surface-2:var(--muted);
--c-border:var(--border);--c-border-hover:var(--border-hover);--c-border-strong:var(--border-strong);
--c-text:var(--foreground);--c-text-secondary:#334155;--c-text-muted:var(--muted-foreground);--c-text-faint:#94A3B8;
--c-primary:var(--primary);--c-primary-hover:var(--primary-hover);--c-primary-dim:var(--primary-dim);
--c-primary-soft:var(--primary-soft);--c-primary-glow:var(--primary-glow);
--c-accent:var(--accent);--c-accent-soft:var(--accent-soft);
--c-success:var(--success);--c-success-soft:var(--success-soft);
--c-warning:var(--warning);--c-warning-soft:var(--warning-soft);
--c-danger:var(--danger);--c-danger-soft:var(--danger-soft);
--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 2px 8px rgba(0,0,0,.05);
--shadow-md:0 4px 16px rgba(0,0,0,.06);--shadow-lg:0 12px 40px rgba(0,0,0,.08);
--shadow-xl:0 24px 60px rgba(0,0,0,.1);--shadow-glow:0 0 20px rgba(8,145,178,.06);
--scrollbar-thumb:rgba(100,116,139,.2);
}
@media(prefers-color-scheme:light){:root:not([data-theme]){
--background:#FFF;--foreground:#0F172A;--surface:#F8FAFC;--surface-hover:#F1F5F9;
--card:#FFF;--muted:#F1F5F9;--muted-foreground:#64748B;
--border:rgba(0,0,0,.06);--border-hover:rgba(0,0,0,.12);--border-strong:rgba(0,0,0,.18);
--primary:#0891B2;--primary-hover:#0E7490;--primary-dim:#065F73;
--primary-soft:rgba(8,145,178,.05);--primary-glow:rgba(8,145,178,.08);
--c-bg:#FFF;--c-bg-elevated:#F8FAFC;--c-bg-card:#FFF;--c-bg-glass:rgba(255,255,255,.82);
--c-surface:#F8FAFC;--c-surface-2:#F1F5F9;--c-border:rgba(0,0,0,.06);
--c-border-hover:rgba(0,0,0,.12);--c-border-strong:rgba(0,0,0,.18);
--c-text:#0F172A;--c-text-secondary:#334155;--c-text-muted:#64748B;--c-text-faint:#94A3B8;
--c-primary:#0891B2;--c-primary-hover:#0E7490;--c-primary-dim:#065F73;
--c-primary-soft:rgba(8,145,178,.05);--c-primary-glow:rgba(8,145,178,.08);
--shadow-sm:0 2px 8px rgba(0,0,0,.05);--shadow-md:0 4px 16px rgba(0,0,0,.06);
--shadow-lg:0 12px 40px rgba(0,0,0,.08);--shadow-glow:0 0 20px rgba(8,145,178,.06);
}}
*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-width:var(--scrollbar-width);scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}
body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;padding-top:var(--header-h)}
img{max-width:100%;height:auto;display:block}a{color:var(--c-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--c-primary-hover)}
ul,ol{list-style-position:inside}input,select,textarea,button{font:inherit;color:inherit}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--sp-6)}
@media(min-width:1440px){.container{max-width:var(--maxw-wide)}}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reveal{opacity:0;transform:translateY(30px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}

/* === HEADER === */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:color-mix(in srgb,var(--surface) 60%,transparent);backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border-bottom:1px solid transparent;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),backdrop-filter var(--duration-base) var(--ease-out),box-shadow var(--duration-base) var(--ease-out)}
.site-header.is-scrolled{background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom-color:var(--c-border);box-shadow:var(--shadow-sm)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:var(--sp-4)}
.brand a{display:flex;align-items:center;gap:var(--sp-3);color:var(--c-text);text-decoration:none}
.brand-mark{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--r-md);background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dim));color:#fff;font-weight:800;font-size:var(--fs-lg);box-shadow:0 2px 8px var(--c-primary-glow);transition:transform var(--duration-fast) var(--ease-spring)}
.brand a:hover .brand-mark{transform:scale(1.08)}
.brand-name{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.02em}
.brand-sub{font-size:var(--fs-xs);color:var(--c-text-muted);letter-spacing:.04em}
.main-nav .nav-list{display:none;gap:var(--sp-1);list-style:none}
.main-nav .nav-list a{display:block;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-md);color:var(--c-text-secondary);font-size:var(--fs-base);font-weight:500;letter-spacing:.01em;transition:color var(--duration-fast),background var(--duration-fast)}
.main-nav .nav-list a:hover{background:var(--c-primary-soft);color:var(--c-primary)}
.main-nav .nav-list .current-menu-item>a,.main-nav .nav-list .current_page_item>a{color:var(--c-primary);font-weight:600}
.nav-toggle{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid var(--c-border);border-radius:var(--r-md);background:var(--c-bg-glass);backdrop-filter:blur(10px);cursor:pointer;transition:border-color var(--duration-fast)}
.nav-toggle:hover{border-color:var(--c-primary)}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--c-text);border-radius:2px;transition:transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast)}
.nav-toggle.is-active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-active span:nth-child(2){opacity:0}
.nav-toggle.is-active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.main-nav.is-open{position:fixed;inset:var(--header-h) 0 0 0;z-index:99;background:var(--c-bg-glass);backdrop-filter:saturate(180%) blur(24px);-webkit-backdrop-filter:saturate(180%) blur(24px);padding:var(--sp-6);border-top:1px solid var(--c-border);animation:slideDown var(--duration-base) var(--ease-out)}
.main-nav.is-open .nav-list{display:flex;flex-direction:column;gap:var(--sp-2);max-width:400px;margin:0 auto}
.main-nav.is-open .nav-list a{font-size:var(--fs-lg);padding:var(--sp-3) var(--sp-4)}
@keyframes slideDown{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
/* Header: bottom gradient line */
.site-header::after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-strong),transparent);opacity:.5;pointer-events:none}
/* Header: primary glow line on scroll */
.site-header::before{content:"";position:absolute;bottom:-1px;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,var(--primary-glow),transparent);opacity:0;transition:opacity var(--duration-base);pointer-events:none}
.site-header.is-scrolled::before{opacity:1}
/* Header: light theme */
[data-theme="light"] .site-header{background:rgba(255,255,255,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
[data-theme="light"] .site-header.is-scrolled{background:rgba(255,255,255,.92);box-shadow:var(--shadow-sm)}
/* Reading progress bar */
.reading-progress{position:fixed;top:var(--header-h);left:0;height:2px;background:linear-gradient(90deg,var(--primary),var(--accent));z-index:99;width:0;transition:width 80ms linear;pointer-events:none}
/* Layout switch */
.layout-switch{display:flex;gap:2px;padding:3px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);margin-bottom:var(--sp-4)}
.layout-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:32px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--muted-foreground);cursor:pointer;transition:all var(--duration-fast)}
.layout-btn:hover{color:var(--foreground);background:var(--surface-hover)}
.layout-btn.is-active{background:var(--primary);color:#fff;box-shadow:0 1px 4px var(--primary-glow)}
.layout-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* List layout */
[data-layout="list"] .filter-item .entity-card{display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-3) var(--sp-5);align-items:center;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px solid transparent;background:transparent}
[data-layout="list"] .filter-item .entity-card:hover{background:var(--surface-hover);border-color:var(--border);transform:none;box-shadow:none}
[data-layout="list"] .filter-item .entity-card::after{display:none}
[data-layout="list"] .entity-title{font-size:var(--fs-base)}
[data-layout="list"] .entity-stats{margin-top:0;flex-direction:row;gap:var(--sp-4)}
[data-layout="list"] .entity-chains,[data-layout="list"] .entity-cert{display:none}
/* Media card layout */
.card-grid--media{grid-template-columns:1fr}
@media(min-width:768px){.card-grid--media{grid-template-columns:repeat(2,1fr)}}
.card-grid--media .entity-card{display:grid;grid-template-columns:180px 1fr;gap:var(--sp-4);padding:var(--sp-4)}
@media(min-width:1024px){.card-grid--media .entity-card{grid-template-columns:220px 1fr}}
.card-grid--media .card-thumb{border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/3;background:var(--surface-2);border:1px solid var(--border)}
.card-grid--media .card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--duration-base) var(--ease-out)}
.card-grid--media .entity-card:hover .card-thumb img{transform:scale(1.05)}
/* Dense 4-col */
@media(min-width:1440px){.card-grid--dense{grid-template-columns:repeat(4,1fr)}}
/* Table layout */
.table-layout{overflow-x:auto;border:1px solid var(--border);border-radius:var(--r-xl);background:var(--card)}
.table-layout table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}
.table-layout th{position:sticky;top:0;background:var(--surface);padding:var(--sp-3) var(--sp-4);text-align:left;font-weight:600;color:var(--muted-foreground);font-size:var(--fs-xs);letter-spacing:var(--ls-wide);text-transform:uppercase;border-bottom:2px solid var(--border);white-space:nowrap}
.table-layout td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border);color:var(--foreground)}
.table-layout tr:hover td{background:var(--surface-hover)}
.table-layout tr:last-child td{border-bottom:none}
.table-layout a{color:var(--foreground);font-weight:600}
.table-layout a:hover{color:var(--primary)}
@media(min-width:900px){.main-nav .nav-list{display:flex}.nav-toggle{display:none}}

/* === HERO === */
.hero{position:relative;min-height:calc(100vh - var(--header-h));display:flex;align-items:center;padding:calc(72px + var(--sp-16)) 0 var(--sp-16);background:radial-gradient(ellipse 80% 60% at 50% 40%,var(--c-primary-soft),transparent),linear-gradient(180deg,var(--c-bg) 0%,var(--c-bg-elevated) 100%);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(0,212,255,.04) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(34,211,238,.03) 0%,transparent 50%);pointer-events:none}
.hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:200px;background:linear-gradient(0deg,var(--c-bg) 0%,transparent 100%);pointer-events:none}
.hero-inner{position:relative;z-index:2}
.hero-title{font-size:var(--fs-hero);line-height:1.08;font-weight:800;letter-spacing:-.03em;max-width:20ch;background:linear-gradient(135deg,var(--c-text) 0%,var(--c-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-desc{margin-top:var(--sp-6);color:var(--c-text-muted);max-width:56ch;font-size:var(--fs-lg);line-height:1.8}
.hero-actions{margin-top:var(--sp-10);display:flex;gap:var(--sp-4);flex-wrap:wrap}

/* === BUTTONS === */
.na-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--sp-3) var(--sp-8);border-radius:var(--r-full);font-weight:600;font-size:var(--fs-base);letter-spacing:.01em;border:1px solid transparent;cursor:pointer;text-align:center;transition:all var(--duration-fast) var(--ease-out);position:relative;overflow:hidden}
.na-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent);pointer-events:none;opacity:0;transition:opacity var(--duration-fast)}
.na-btn:hover::after{opacity:1}
.na-btn-primary{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dim));color:#fff;box-shadow:0 2px 12px var(--c-primary-glow)}
.na-btn-primary:hover{color:#fff;transform:translateY(-1px);box-shadow:0 4px 20px var(--c-primary-glow)}
.na-btn-ghost{border-color:var(--c-border-strong);color:var(--c-text-secondary);background:var(--c-bg-glass);backdrop-filter:blur(8px)}
.na-btn-ghost:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-soft)}

/* === STATS === */
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-4);padding:var(--sp-10) 0}
.stat-card{position:relative;padding:var(--sp-6);text-align:center;background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-xl);overflow:hidden;transition:transform var(--duration-fast) var(--ease-spring),border-color var(--duration-fast),box-shadow var(--duration-fast)}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--c-primary),transparent);opacity:0;transition:opacity var(--duration-fast)}
.stat-card:hover{transform:translateY(-4px);border-color:var(--c-border-hover);box-shadow:var(--shadow-lg)}
.stat-card:hover::before{opacity:1}
.stat-value{display:block;font-size:var(--fs-stat);font-weight:800;letter-spacing:-.02em;color:var(--c-primary);font-variant-numeric:tabular-nums}
.stat-label{display:block;color:var(--c-text-muted);font-size:var(--fs-sm);margin-top:var(--sp-2);letter-spacing:.06em;text-transform:uppercase}
@media(min-width:900px){.stat-grid{grid-template-columns:repeat(5,1fr)}}

/* === SECTIONS === */
.home-body{padding-top:0}.home-section{margin-top:var(--sp-16)}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--sp-6);padding-bottom:var(--sp-4);border-bottom:1px solid var(--c-border)}
.section-title{font-size:var(--fs-2xl);font-weight:700;letter-spacing:-.02em}
.section-sub{font-size:var(--fs-lg);margin:var(--sp-4) 0 var(--sp-2)}
.section-more{font-size:var(--fs-sm);color:var(--c-text-muted);transition:color var(--duration-fast)}
.section-more:hover{color:var(--c-primary)}

/* === CARDS === */
.card-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-5)}
@media(min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr)}}
.entity-card{display:flex;flex-direction:column;gap:var(--sp-3);background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:var(--sp-6);transition:transform var(--duration-fast) var(--ease-spring),border-color var(--duration-fast),box-shadow var(--duration-fast);position:relative;overflow:hidden}
.entity-card::after{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--c-primary-glow),transparent);opacity:0;transition:opacity var(--duration-fast)}
.entity-card:hover{transform:translateY(-6px);border-color:var(--c-border-hover);box-shadow:var(--shadow-lg)}
.entity-card:hover::after{opacity:1}
.entity-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}
.entity-title{font-weight:700;font-size:var(--fs-md);color:var(--c-text)}
.entity-config{font-size:var(--fs-xs);color:var(--c-text-faint)}
.entity-cert{align-self:flex-start;font-size:var(--fs-xs);color:var(--c-accent)}
.entity-chains{font-size:var(--fs-sm);color:var(--c-text-muted)}
.entity-stats{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:auto}
.entity-stats li{font-size:var(--fs-sm);color:var(--c-text-muted)}

/* === BADGES === */
.badge{display:inline-flex;align-items:center;padding:3px 12px;border-radius:var(--r-full);font-size:var(--fs-xs);font-weight:500;background:var(--c-primary-soft);color:var(--c-primary);white-space:nowrap;border:1px solid rgba(0,212,255,.12)}
.badge-soft{background:var(--c-surface-2);color:var(--c-text-muted);border-color:var(--c-border)}
.badge-cert{background:var(--c-accent-soft);color:var(--c-accent);font-weight:600;border-color:rgba(34,211,238,.15)}
.badge-event{background:var(--c-warning-soft);color:var(--c-warning);border-color:rgba(251,191,36,.15)}

/* === SPEC TABLE === */
.spec-table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}
.spec-table th,.spec-table td{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--c-border);text-align:left;vertical-align:top}
.spec-table th{width:34%;color:var(--c-text-muted);font-weight:500}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:none}
.spec-compact{max-width:560px}

/* === DETAIL PAGE === */
.detail-page{padding:var(--sp-10) 0}
.detail-head{margin-bottom:var(--sp-10);max-width:var(--maxw-narrow)}
.detail-title{font-size:var(--fs-3xl);line-height:1.15;font-weight:800;letter-spacing:-.02em}
.detail-docno{color:var(--c-text-faint);font-family:var(--font-mono);margin-bottom:var(--sp-1)}
.detail-aliases{color:var(--c-text-muted);margin-top:var(--sp-2)}
.detail-fullname{color:var(--c-text-muted);margin-top:var(--sp-2);font-size:var(--fs-md)}
.detail-abbr{color:var(--c-primary);font-size:var(--fs-lg);margin-left:var(--sp-2)}
.detail-lead{color:var(--c-text-muted);font-size:var(--fs-lg);margin-top:var(--sp-3);max-width:70ch}
.detail-badges{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-4)}
.detail-event-date{color:var(--c-text-muted);margin-top:var(--sp-2)}
.detail-manu{color:var(--c-text-muted);margin-top:var(--sp-2)}
.detail-grid{display:grid;gap:var(--sp-10)}
@media(min-width:900px){.detail-grid{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr);align-items:start}}
.spec-col>*{margin-bottom:var(--sp-8)}.spec-col>*:last-child{margin-bottom:0}.side-col>*{margin-bottom:var(--sp-6)}
.detail-note{margin-top:var(--sp-6)}
.detail-section{margin-top:var(--sp-12);padding-top:var(--sp-8);border-top:1px solid var(--c-border)}
.detail-content .section-title{margin-bottom:var(--sp-4)}

.side-col{position:sticky;top:calc(var(--header-h) + var(--sp-6));max-height:calc(100vh - var(--header-h) - var(--sp-12));overflow-y:auto;scrollbar-width:thin}
.detail-content p{margin-bottom:var(--sp-5);max-width:72ch;line-height:var(--lh-relaxed)}
.detail-section .card-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}

/* Cert */
.cert-box{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:var(--sp-6)}
.cert-timeline{list-style:none;margin-top:var(--sp-4);position:relative}
.cert-timeline::before{content:"";position:absolute;left:5px;top:4px;bottom:4px;width:2px;background:var(--c-border)}
.cert-step{position:relative;padding:var(--sp-2) 0 var(--sp-2) var(--sp-6)}
.cert-dot{position:absolute;left:0;top:14px;width:12px;height:12px;border-radius:50%;background:var(--c-surface-2);border:2px solid var(--c-border-strong);transition:all var(--duration-fast)}
.cert-step.is-done .cert-dot{background:var(--c-accent);border-color:var(--c-accent);box-shadow:0 0 8px var(--c-primary-glow)}
.cert-step.is-current .cert-dot{box-shadow:0 0 0 4px var(--c-accent-soft),0 0 12px var(--c-primary-glow)}
.cert-label{font-size:var(--fs-base);color:var(--c-text-muted)}
.cert-step.is-current .cert-label{color:var(--c-text);font-weight:600}
.cert-step.is-done .cert-label{color:var(--c-text)}
.cert-date{display:block;font-size:var(--fs-sm);color:var(--c-primary)}
.cert-bars{display:flex;flex-direction:column;gap:var(--sp-3)}
.cert-bar-row{display:grid;grid-template-columns:11em 1fr 2.5em;align-items:center;gap:var(--sp-3)}
.cert-bar-label{font-size:var(--fs-sm);color:var(--c-text-muted);text-align:right}
.cert-bar-track{height:10px;border-radius:var(--r-full);background:var(--c-surface-2);overflow:hidden}
.cert-bar-fill{display:block;height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--c-primary-dim),var(--c-primary));transition:width var(--duration-slow) var(--ease-out)}
.cert-bar-count{font-size:var(--fs-sm);color:var(--c-text);font-weight:600;text-align:right}

/* === LISTS / ROWS === */
.row-list{display:flex;flex-direction:column;gap:var(--sp-3)}
.row-card{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-lg);padding:var(--sp-4) var(--sp-5);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.row-card:hover{box-shadow:var(--shadow-md);border-color:var(--c-border-hover)}
.row-title{font-weight:600;color:var(--c-text);font-size:var(--fs-md)}
.row-snippet{color:var(--c-text-muted);font-size:var(--fs-sm)}
.row-meta{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}
.row-date{color:var(--c-text-faint);font-size:var(--fs-sm)}
@media(min-width:900px){.row-card{flex-direction:row;align-items:center;justify-content:space-between}.row-main{flex:1}.row-meta{gap:var(--sp-3)}}

/* Timeline */
.timeline-list{display:flex;flex-direction:column;gap:0}
.event-item{display:flex;gap:var(--sp-5);padding:var(--sp-4) 0;border-bottom:1px solid var(--c-border);transition:background var(--duration-fast)}
.event-item:last-child{border-bottom:none}
.event-item:hover{background:var(--c-primary-soft);margin:0 calc(-1*var(--sp-4));padding-left:var(--sp-4);padding-right:var(--sp-4);border-radius:var(--r-md)}
.event-date{flex-shrink:0;color:var(--c-text-muted);font-size:var(--fs-sm);width:7.5em;padding-top:2px;font-variant-numeric:tabular-nums}
.event-content h3{font-size:var(--fs-base);font-weight:600}
.event-content a{color:var(--c-text)}
.event-content a:hover{color:var(--c-primary)}
.event-content .badge{margin-top:var(--sp-1)}

/* mini policy */
.mini-policy-list{display:flex;flex-direction:column}
.mini-policy{display:flex;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;border-bottom:1px solid var(--c-border);transition:color var(--duration-fast)}
.mini-policy:last-child{border-bottom:none}
.mini-policy-title{color:var(--c-text);font-size:var(--fs-base)}
.mini-policy:hover .mini-policy-title{color:var(--c-primary)}
.mini-policy-date{color:var(--c-text-faint);font-size:var(--fs-sm);white-space:nowrap}
.home-split{display:grid;gap:var(--sp-8)}
@media(min-width:1024px){.home-split{grid-template-columns:1fr 1fr}}

/* === TERMS === */
.term-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}
@media(min-width:640px){.term-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.term-grid{grid-template-columns:repeat(3,1fr)}}
.term-card{display:flex;flex-direction:column;gap:var(--sp-2);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:var(--sp-5) var(--sp-6);background:var(--c-bg-card);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.term-card:hover{box-shadow:var(--shadow-md);border-color:var(--c-border-hover)}
.term-title{font-weight:700;color:var(--c-text);font-size:var(--fs-md)}
.term-title small{color:var(--c-text-faint);font-weight:400;margin-left:var(--sp-1)}
.term-def{color:var(--c-text-muted);font-size:var(--fs-sm)}
.term-links{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.tag-chip{display:inline-block;padding:4px 12px;border-radius:var(--r-full);background:var(--c-surface-2);color:var(--c-text);font-size:var(--fs-sm);border:1px solid var(--c-border);transition:all var(--duration-fast)}
.tag-chip:hover{border-color:var(--c-primary);color:var(--c-primary)}
.event-mini-list{list-style:none}
.event-mini-list li{display:flex;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px dashed var(--c-border)}
.event-mini-list li:last-child{border-bottom:none}
.event-mini-date{color:var(--c-text-faint);font-size:var(--fs-sm);flex-shrink:0;min-width:6em}

/* === SOURCES === */
.source-list{list-style:none}.source-list li{padding:var(--sp-2) 0;border-bottom:1px dashed var(--c-border)}
.source-date,.updated-line{color:var(--c-text-faint);font-size:var(--fs-sm)}
.changelog-list{list-style:none}.changelog-list li{padding:var(--sp-1) 0;font-size:var(--fs-sm);color:var(--c-text-muted)}
.changelog-date{color:var(--c-primary);margin-right:var(--sp-2);font-weight:600}
.changelog-page-list{list-style:none}
.clog-item{padding:var(--sp-3) 0;border-bottom:1px dashed var(--c-border)}
.clog-date{color:var(--c-primary);font-weight:600;margin-right:var(--sp-2)}
.clog-type{color:var(--c-text-faint);font-size:var(--fs-sm);margin-right:var(--sp-2)}
.clog-item a{font-weight:600}
.clog-note{color:var(--c-text-muted);font-size:var(--fs-sm);margin-top:var(--sp-1)}
.updated-badge{font-size:var(--fs-xs);color:var(--c-text-faint)}
.updated-badge.is-fresh{color:var(--c-success)}

/* === BREADCRUMB === */
.breadcrumb{margin-bottom:var(--sp-4);font-size:var(--fs-sm)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:var(--sp-2);color:var(--c-text-muted)}
.breadcrumb li:not(:last-child)::after{content:"\203a";margin-left:var(--sp-2);color:var(--c-text-faint)}
.breadcrumb a{color:var(--c-text-muted)}.breadcrumb a:hover{color:var(--c-primary)}
.breadcrumb [aria-current="page"]{color:var(--c-text)}

/* === FILTER === */
.filter-bar{margin-bottom:var(--sp-6)}
.filter-form{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:var(--sp-5)}
.filter-row{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:flex-end}
.filter-row+.filter-row{margin-top:var(--sp-3)}
.filter-group{display:flex;flex-direction:column;gap:var(--sp-1)}
.filter-group-grow{flex:1}
.filter-label{font-size:var(--fs-xs);color:var(--c-text-muted);letter-spacing:.04em;text-transform:uppercase}
.filter-select,.filter-input{min-height:42px;padding:8px 14px;border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-bg);color:var(--c-text);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--ring)}
.filter-input{min-width:200px}
.filter-apply{align-self:flex-end}
.filter-count{color:var(--c-text-muted);font-size:var(--fs-sm);margin-bottom:var(--sp-4)}

/* === ARCHIVE === */
.archive-head,.page-head{padding:var(--sp-10) 0 var(--sp-6)}
.archive-title,.page-head .detail-title{font-size:var(--fs-2xl);font-weight:800;letter-spacing:-.02em}
.archive-desc,.detail-lead{color:var(--c-text-muted);margin-top:var(--sp-2)}

/* === FORMS === */
.na-inquiry-form{display:flex;flex-direction:column;gap:var(--sp-5)}
.na-field{display:flex;flex-direction:column;gap:var(--sp-2)}
.na-field label{font-weight:600;font-size:var(--fs-sm)}
.na-field label em{color:var(--c-danger);font-style:normal}
.na-field input,.na-field textarea,.na-field select{padding:12px 16px;border:1px solid var(--c-border-strong);border-radius:var(--r-md);background:var(--c-bg);color:var(--c-text);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.na-field input:focus,.na-field textarea:focus,.na-field select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px var(--ring)}
.na-field textarea{resize:vertical}
.na-legal{font-size:var(--fs-xs);color:var(--c-text-faint)}
.na-actions{display:flex;align-items:center;gap:var(--sp-3)}
.na-form-status{font-size:var(--fs-sm);color:var(--c-text-muted)}
.na-form-status.is-error{color:var(--c-danger)}
.inquiry-status{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);margin-bottom:var(--sp-5)}
.inquiry-status.is-success{background:var(--c-success-soft);color:var(--c-success)}
.inquiry-status.is-error{background:var(--c-danger-soft);color:var(--c-danger)}
.contact-layout{display:grid;gap:var(--sp-8)}
@media(min-width:900px){.contact-layout{grid-template-columns:1fr 1fr}}
.contact-info ul{list-style:none;margin-top:var(--sp-4)}
.contact-channels li{padding:var(--sp-1) 0;color:var(--c-text-muted)}
.contact-form-wrap{background:var(--c-bg-card);border:1px solid var(--c-border);border-radius:var(--r-xl);padding:var(--sp-8);align-self:start}

/* === PROSE === */
.prose{font-size:var(--fs-md)}
.prose h2,.prose h3{margin:var(--sp-6) 0 var(--sp-3)}
.prose p,.prose ul,.prose ol{margin-bottom:var(--sp-4)}
.prose ul,.prose ol{padding-left:var(--sp-6)}
.prose li{margin:var(--sp-1) 0}
.prose code,code{font-family:var(--font-mono);background:var(--c-surface-2);padding:2px 8px;border-radius:var(--r-sm);font-size:.9em}

/* === PAGINATION === */
.pagination-wrap{margin-top:var(--sp-8)}
.pagination .page-numbers{display:inline-flex;flex-wrap:wrap;gap:var(--sp-2);list-style:none;justify-content:center}
.pagination .page-numbers li{margin:0}
.pagination a,.pagination .current,.pagination .dots{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 var(--sp-3);border-radius:var(--r-md);border:1px solid var(--c-border);color:var(--c-text);font-size:var(--fs-sm);transition:all var(--duration-fast)}
.pagination .current{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.pagination a:hover{border-color:var(--c-primary);color:var(--c-primary);background:var(--c-primary-soft)}

/* === FOOTER === */
.site-footer{margin-top:var(--sp-32);border-top:1px solid var(--c-border);background:var(--c-bg-elevated)}
.footer-top{display:grid;gap:var(--sp-8);padding:var(--sp-16) 0 var(--sp-8)}
.footer-brand .brand-name{font-size:var(--fs-xl);font-weight:700;letter-spacing:-.02em}
.footer-tagline{color:var(--c-text-muted);margin-top:var(--sp-3);max-width:40ch;line-height:1.7}
.footer-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--sp-6)}
.footer-menu{list-style:none}.footer-menu li{margin:var(--sp-2) 0}
.footer-menu a{color:var(--c-text-muted);font-size:var(--fs-base);transition:color var(--duration-fast)}
.footer-menu a:hover{color:var(--c-primary)}
.footer-meta{border-top:1px solid var(--c-border);padding:var(--sp-6) 0;color:var(--c-text-faint);font-size:var(--fs-sm)}
.footer-meta a{color:var(--c-text-muted)}.footer-meta a:hover{color:var(--c-primary)}
.footer-legal{margin-top:var(--sp-2)}
@media(min-width:900px){.footer-top{grid-template-columns:1.2fr 2fr}}

/* === MISC === */
.no-results{color:var(--c-text-muted);padding:var(--sp-10) 0;text-align:center}
.not-found{text-align:center;padding:var(--sp-20) 0}
.not-found h1{font-size:var(--fs-2xl);margin-bottom:var(--sp-2)}
.not-found p{color:var(--c-text-muted);margin-bottom:var(--sp-6)}
.cert-stages-nav{display:flex;flex-wrap:wrap;gap:var(--sp-2)}
.is-featured{border-color:var(--c-primary);box-shadow:0 0 12px var(--c-primary-glow)}
.admin-bar .site-header{top:32px}
.admin-bar .main-nav.is-open{top:calc(var(--header-h) + 32px)}
@media(max-width:782px){.admin-bar .site-header{top:46px}}

/* === PRINT === */
@media print{
  .site-header,.site-footer,.filter-bar,.breadcrumb,.hero-actions,.pagination-wrap,.detail-badges{display:none}
  .hero{background:none;padding:0;min-height:auto}
  .container{max-width:100%}body{background:#fff;color:#000;padding-top:0}
  .entity-card,.stat-card,.row-card,.term-card{break-inside:avoid}
}

/* === v2.0 Media === */
.na-figure{margin:var(--sp-6) 0}
.na-figure__img{display:block;width:100%;height:auto;aspect-ratio:var(--na-ratio,16/9);object-fit:cover;background:var(--c-surface-2);border-radius:var(--r-lg);border:1px solid var(--c-border)}
.na-figure__cap{margin-top:var(--sp-3);font-size:var(--fs-sm);color:var(--c-text-muted);line-height:1.6;padding-left:var(--sp-3);border-left:3px solid var(--c-primary-dim)}
.na-video{margin:var(--sp-8) 0;border:1px solid var(--c-border);border-radius:var(--r-xl);overflow:hidden;background:var(--c-surface)}
.na-video__poster{position:relative;aspect-ratio:16/9;background-size:cover;background-position:center;background-color:var(--c-bg);cursor:pointer;display:flex;align-items:center;justify-content:center}
.na-video__poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,23,.15),rgba(10,14,23,.5))}
.na-video__play{position:relative;z-index:2;width:80px;height:80px;border-radius:var(--r-full);border:none;cursor:pointer;background:rgba(255,255,255,.94);color:var(--c-primary);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px rgba(0,0,0,.35);transition:transform var(--duration-fast) var(--ease-spring),background var(--duration-fast)}
.na-video__poster:hover .na-video__play{transform:scale(1.1);background:#fff}
.na-video__dur{position:absolute;z-index:2;right:var(--sp-3);bottom:var(--sp-3);background:rgba(10,14,23,.82);color:#fff;font-size:var(--fs-xs);padding:3px 10px;border-radius:var(--r-sm)}
.na-video__el{display:block;width:100%;aspect-ratio:16/9;background:#000}
.na-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0}
.na-video__cap{padding:var(--sp-4) var(--sp-5);display:flex;flex-direction:column;gap:4px;font-size:var(--fs-sm);color:var(--c-text-muted)}
.na-video__cap strong{font-size:var(--fs-base);color:var(--c-text);font-weight:600}
.na-video__from{font-size:var(--fs-xs);color:var(--c-text-faint)}
.na-meta-line{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin:var(--sp-4) 0;font-size:var(--fs-sm);color:var(--c-text-muted)}
.na-tag{display:inline-block;padding:3px 12px;border-radius:var(--r-full);background:var(--c-surface-2);color:var(--c-text-muted);font-size:var(--fs-xs);border:1px solid var(--c-border);transition:all var(--duration-fast)}
.na-card--media{display:grid;grid-template-columns:1fr;gap:var(--sp-5);align-items:start}
@media(min-width:640px){.na-card--media{grid-template-columns:200px 1fr}}
@media(min-width:1024px){.na-card--media{grid-template-columns:280px 1fr}}
.na-card--media .na-card__thumb{margin:0;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--c-border);background:var(--c-surface-2)}
.na-card--media .na-card__thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform var(--duration-base) var(--ease-out)}
.na-card--media:hover .na-card__thumb img{transform:scale(1.05)}
.na-card__video-flag{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);color:var(--c-accent);border:1px solid rgba(34,211,238,.2);background:var(--c-accent-soft);padding:2px 10px;border-radius:var(--r-full);margin-left:var(--sp-2)}
.na-figure__img[data-loading]{background:var(--c-surface-2)}
.detail-cover{margin:0 0 var(--sp-6)}
.detail-cover .na-figure__img{border-radius:var(--r-xl)}
@media(min-width:1024px){.detail-cover .na-figure__img{max-height:480px}}
.na-meta-line__author{color:var(--c-text-faint)}
.na-meta-line__author::after{content:"\00b7";margin-left:var(--sp-2);color:var(--c-border-strong)}
.detail-content .na-figure,.entry-content .na-figure{margin:var(--sp-6) 0}
.detail-content .na-video,.entry-content .na-video{margin:var(--sp-8) 0}
