/* =========================================================
   NEXOARENA PRO - Foundation 0.1.2-alpha
   Landing + Platform Visual Polish
   ========================================================= */

:root {
    color-scheme: dark;
    --na-primary:#8B5CF6;
    --na-secondary:#FF2D8D;
    --na-accent:#00D4FF;
    --na-bg:#050508;
    --na-surface:#121218;
    --na-surface-2:#191923;
    --na-ui:#262633;
    --na-line:rgba(255,255,255,.09);
    --na-line-strong:rgba(255,255,255,.18);
    --na-white:#FFFFFF;
    --na-muted:#A8ADBE;
    --na-muted-2:#6F7280;
    --na-success:#39FF88;
    --na-warning:#F8C14A;
    --na-danger:#FF4D6D;
    --na-radius-sm:10px;
    --na-radius-md:15px;
    --na-radius-lg:22px;
    --na-radius-xl:28px;
    --na-shadow-soft:0 24px 80px rgba(0,0,0,.38);
    --na-glow-primary:0 0 28px rgba(139,92,246,.34);
    --na-glow-secondary:0 0 32px rgba(255,45,141,.26);
    --na-glow-accent:0 0 28px rgba(0,212,255,.24);
    --na-font-display:"Rajdhani","Exo 2","Segoe UI",system-ui,sans-serif;
    --na-font-body:"Inter","Segoe UI",system-ui,sans-serif;
    --na-sidebar-width:228px;
    --na-topbar-height:66px;
}

*{box-sizing:border-box}
html,body{min-height:100%;margin:0;background:var(--na-bg);color:var(--na-white);font-family:var(--na-font-body);overflow-x:hidden}
a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}
h1,h2,h3,h4{font-family:var(--na-font-display);text-transform:uppercase;letter-spacing:.035em}

body::before{content:"";position:fixed;inset:0;z-index:-5;background:radial-gradient(circle at 20% 15%,rgba(139,92,246,.18),transparent 30%),radial-gradient(circle at 80% 18%,rgba(255,45,141,.16),transparent 32%),radial-gradient(circle at 70% 85%,rgba(0,212,255,.15),transparent 32%),linear-gradient(135deg,#040405 0%,#08080d 42%,#060916 100%)}
.na-bg-grid{position:fixed;inset:0;z-index:-4;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.032) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.032) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.82),rgba(0,0,0,.35) 72%,transparent);opacity:.82}
.na-bg-grid::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(0,212,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,45,141,.055) 1px,transparent 1px);background-size:216px 216px;opacity:.8}
.na-bg-network{position:fixed;left:-8vw;right:-8vw;bottom:-20vh;height:66vh;z-index:-3;pointer-events:none;background:radial-gradient(circle at 12% 70%,rgba(255,45,141,.85) 0 2px,transparent 3px),radial-gradient(circle at 24% 45%,rgba(139,92,246,.72) 0 2px,transparent 3px),radial-gradient(circle at 40% 66%,rgba(255,45,141,.62) 0 2px,transparent 3px),radial-gradient(circle at 55% 42%,rgba(139,92,246,.76) 0 2px,transparent 3px),radial-gradient(circle at 70% 68%,rgba(0,212,255,.78) 0 2px,transparent 3px),radial-gradient(circle at 86% 48%,rgba(0,212,255,.82) 0 2px,transparent 3px),linear-gradient(118deg,transparent 0 12%,rgba(255,45,141,.28) 12% 12.18%,transparent 12.18% 27%,rgba(139,92,246,.23) 27% 27.18%,transparent 27.18% 46%,rgba(0,212,255,.20) 46% 46.18%,transparent 46.18%),linear-gradient(64deg,transparent 0 18%,rgba(255,45,141,.17) 18% 18.2%,transparent 18.2% 34%,rgba(139,92,246,.18) 34% 34.2%,transparent 34.2% 58%,rgba(0,212,255,.16) 58% 58.2%,transparent 58.2%);opacity:.82;filter:blur(.15px);transform:perspective(900px) rotateX(60deg) translateY(10vh);transform-origin:center bottom;mask-image:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.5) 43%,transparent 100%)}

/* Shared UI */
.na-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;border:1px solid transparent;font-weight:900;letter-spacing:.035em;text-transform:uppercase;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;white-space:nowrap}.na-button:hover{transform:translateY(-1px)}.na-button-md{height:42px;padding:0 18px;font-size:.78rem}.na-button-lg{height:46px;padding:0 22px;font-size:.78rem}.na-button-primary{background:linear-gradient(135deg,var(--na-primary),var(--na-secondary));color:white;box-shadow:var(--na-glow-secondary)}.na-button-ghost{background:rgba(255,255,255,.035);border-color:var(--na-line-strong);color:white}.na-button-ghost:hover{border-color:rgba(0,212,255,.5);box-shadow:var(--na-glow-accent)}
.na-card{position:relative;border:1px solid var(--na-line);border-radius:var(--na-radius-lg);background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.025));box-shadow:var(--na-shadow-soft);overflow:hidden}.na-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 0%,rgba(139,92,246,.14),transparent 34%),radial-gradient(circle at 100% 100%,rgba(0,212,255,.10),transparent 38%);pointer-events:none}.na-badge{display:inline-flex;width:max-content;align-items:center;gap:8px;min-height:28px;padding:0 10px;border-radius:999px;border:1px solid rgba(0,212,255,.32);background:rgba(0,212,255,.09);color:var(--na-accent);font-size:.68rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.na-eyebrow{display:block;color:var(--na-accent);font-size:.72rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase}.na-loader{display:inline-flex;gap:6px}.na-loader span{width:8px;height:8px;border-radius:999px;background:var(--na-accent);animation:na-bounce 1s infinite ease-in-out}.na-loader span:nth-child(2){animation-delay:.12s}.na-loader span:nth-child(3){animation-delay:.24s}@keyframes na-bounce{0%,80%,100%{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}

/* Landing */
.na-landing-shell{min-height:100vh;position:relative;isolation:isolate}.na-landing{width:min(1160px,calc(100vw - 36px));margin:0 auto;padding:16px 0 48px}.na-landing-nav{position:sticky;top:12px;z-index:40;min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:rgba(7,7,10,.66);box-shadow:0 18px 60px rgba(0,0,0,.32);backdrop-filter:blur(18px)}.na-landing-brand img{display:block;width:158px;max-height:52px;object-fit:contain;object-position:left center}.na-landing-links{display:flex;align-items:center;gap:18px;color:var(--na-muted);font-size:.78rem;font-weight:850}.na-landing-links a{transition:color .18s ease,background .18s ease,border-color .18s ease}.na-landing-links a:hover{color:white}.na-login-link{height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,45,141,.32);display:inline-flex;align-items:center;color:white!important;background:rgba(255,45,141,.08)}.na-landing-hero{min-height:calc(100svh - 92px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 0 42px}.na-landing-kicker{color:var(--na-accent);font-size:.70rem;font-weight:950;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px}.na-landing-hero h1{font-size:clamp(4rem,10vw,8.2rem);line-height:.80;margin:0;letter-spacing:.012em}.na-landing-subtitle{width:min(680px,100%);margin:24px auto 0;color:#D9DCE8;font-size:clamp(.98rem,1.55vw,1.10rem);line-height:1.62}.na-landing-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:28px}.na-landing-statement,.na-landing-showcase,.na-landing-closing,.na-landing-flow{border:1px solid var(--na-line);border-radius:var(--na-radius-xl);background:linear-gradient(145deg,rgba(255,255,255,.052),rgba(255,255,255,.022));box-shadow:var(--na-shadow-soft);backdrop-filter:blur(12px)}.na-landing-statement{padding:34px;margin:0 0 18px}.na-landing-statement h2{width:min(880px,100%);margin:12px 0 12px;font-size:clamp(2.2rem,5vw,4.8rem);line-height:.88}.na-landing-statement p{width:min(760px,100%);margin:0;color:var(--na-muted);line-height:1.65}.na-landing-feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.na-landing-feature-grid article{position:relative;min-height:218px;padding:22px;border:1px solid var(--na-line);border-radius:var(--na-radius-lg);background:rgba(255,255,255,.034);box-shadow:var(--na-shadow-soft);overflow:hidden}.na-landing-feature-grid article::before{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:linear-gradient(90deg,var(--na-accent),var(--na-secondary));opacity:.78}.na-feature-number{display:inline-flex;margin-bottom:24px;color:var(--na-accent);font-size:.72rem;font-weight:950;letter-spacing:.16em}.na-landing-feature-grid h3{margin:0 0 10px;font-size:1.16rem;line-height:1}.na-landing-feature-grid p{margin:0;color:var(--na-muted);line-height:1.58;font-size:.93rem}.na-landing-showcase{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:center;padding:32px;margin:18px 0}.na-landing-showcase h2,.na-landing-closing h2{margin:12px 0 10px;font-size:clamp(2.1rem,4.7vw,4.3rem);line-height:.92}.na-landing-showcase p,.na-landing-closing p{color:var(--na-muted);line-height:1.65}.na-live-card{padding:20px;border:1px solid var(--na-line);border-radius:var(--na-radius-lg);background:linear-gradient(135deg,rgba(139,92,246,.13),rgba(255,45,141,.07),rgba(0,212,255,.08));box-shadow:var(--na-shadow-soft)}.na-live-top{display:flex;align-items:center;gap:9px;color:var(--na-muted);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.na-live-top span{width:8px;height:8px;border-radius:999px;background:var(--na-secondary);box-shadow:var(--na-glow-secondary)}.na-live-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;margin:26px 0}.na-live-score strong{font-family:var(--na-font-display);font-size:3.6rem}.na-live-score small{color:var(--na-muted);font-weight:900;text-align:center}.na-live-meta{display:flex;justify-content:space-between;color:var(--na-accent);font-size:.76rem;font-weight:900}.na-landing-flow{padding:30px;margin:18px 0}.na-flow-line{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}.na-flow-line::before{content:"";position:absolute;left:8%;right:8%;top:22px;height:1px;background:linear-gradient(90deg,transparent,var(--na-secondary),var(--na-accent),transparent);opacity:.45}.na-flow-line article{position:relative;padding:54px 14px 16px;border:1px solid var(--na-line);border-radius:18px;background:rgba(5,5,8,.52)}.na-flow-line article::before{content:"";position:absolute;top:15px;left:16px;width:14px;height:14px;border-radius:999px;background:var(--na-accent);box-shadow:var(--na-glow-accent)}.na-flow-line strong{display:block;font-family:var(--na-font-display);font-size:1rem;text-transform:uppercase}.na-flow-line span{display:block;margin-top:4px;color:var(--na-muted);font-size:.82rem;line-height:1.35}.na-landing-closing{text-align:center;padding:40px;margin:18px 0 26px}.na-landing-closing p{width:min(720px,100%);margin:0 auto}

/* Platform shell */
.na-shell{min-height:100vh;display:grid;grid-template-columns:var(--na-sidebar-width) 1fr;position:relative;isolation:isolate}.na-main{min-width:0;display:flex;flex-direction:column;min-height:100vh}.na-content{width:min(1320px,calc(100vw - var(--na-sidebar-width) - 48px));margin:0 auto;padding:24px;flex:1}.na-sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;border-right:1px solid var(--na-line);background:linear-gradient(180deg,rgba(14,14,19,.78),rgba(8,8,10,.88));backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:22px}.na-brand{display:flex;justify-content:center}.na-brand-logo{width:156px;max-height:132px;object-fit:contain;filter:drop-shadow(0 0 18px rgba(255,45,141,.14))}.na-nav{display:grid;gap:6px}.na-nav-link{min-height:36px;display:flex;align-items:center;gap:12px;padding:0 13px;border-radius:12px;color:var(--na-muted);font-size:.84rem;font-weight:800;transition:background .18s ease,color .18s ease,border-color .18s ease}.na-nav-link span{width:16px;color:var(--na-accent);font-size:.82rem}.na-nav-link:hover,.na-nav-link.active{color:white;background:rgba(255,45,141,.09);box-shadow:inset 0 0 0 1px rgba(255,45,141,.23)}.na-nav-divider{height:1px;background:var(--na-line);margin:10px 0}.na-dev-link span{color:var(--na-warning)}.na-sidebar-footer{margin-top:auto;min-height:38px;padding:0 12px;border:1px solid var(--na-line);border-radius:12px;display:flex;align-items:center;justify-content:space-between;color:var(--na-muted);font-size:.72rem}.na-sidebar-footer strong{color:var(--na-accent)}
.na-topbar{height:var(--na-topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--na-line);background:rgba(7,7,10,.62);backdrop-filter:blur(14px)}.na-topbar h1{margin:4px 0 0;font-size:1.7rem;line-height:1}.na-topbar-actions{display:flex;gap:10px;align-items:center}.na-status-pill{height:34px;display:flex;align-items:center;gap:8px;padding:0 13px;border:1px solid var(--na-line);border-radius:999px;color:var(--na-muted);background:rgba(255,255,255,.04);font-size:.78rem}.na-status-pill span{width:8px;height:8px;border-radius:999px;background:var(--na-success);box-shadow:0 0 12px var(--na-success)}.na-user-button{width:36px;height:36px;border-radius:999px;border:0;color:white;background:linear-gradient(135deg,var(--na-primary),var(--na-secondary));font-weight:900}.na-footer{display:flex;justify-content:space-between;padding:18px 28px;color:var(--na-muted-2);font-size:.78rem}.na-footer nav{display:flex;gap:18px}
.na-page-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px}.na-page-header h2{margin:8px 0 8px;font-size:clamp(2.1rem,5vw,4.4rem);line-height:.86;max-width:760px}.na-page-header p{max-width:690px;color:var(--na-muted);line-height:1.6;margin:0}.na-page-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}.na-section{margin-top:26px}.na-section-header{margin-bottom:14px}.na-section-header h3{margin:0 0 6px;font-size:1.22rem}.na-section-header p{margin:0;color:var(--na-muted)}
.na-dashboard-intro{min-height:230px;display:flex;align-items:end;padding:28px;border:1px solid var(--na-line);border-radius:var(--na-radius-xl);background:linear-gradient(135deg,rgba(139,92,246,.16),rgba(255,45,141,.07),rgba(0,212,255,.07));box-shadow:var(--na-shadow-soft)}.na-dashboard-intro h3{font-size:clamp(2.2rem,5.8vw,4.8rem);line-height:.86;margin:18px 0 10px}.na-dashboard-intro p{color:var(--na-muted);line-height:1.65;max-width:720px}.na-stat-grid,.na-roadmap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.na-stat-card,.na-roadmap-card,.na-empty-card{padding:18px}.na-stat-card span,.na-roadmap-card span{position:relative;display:block;color:var(--na-muted);font-size:.76rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.na-stat-card strong{position:relative;display:block;margin:12px 0 4px;font-family:var(--na-font-display);font-size:2.5rem;line-height:1}.na-stat-card small,.na-roadmap-card p,.na-empty-card p{position:relative;color:var(--na-muted);line-height:1.55}.na-roadmap-card strong{position:relative;display:inline-grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border-radius:14px;color:white;background:rgba(255,255,255,.06);border:1px solid var(--na-line)}.na-roadmap-card.is-active strong{background:linear-gradient(135deg,var(--na-primary),var(--na-secondary));box-shadow:var(--na-glow-primary)}.na-empty-card{max-width:720px}.na-empty-card h3{position:relative;margin:16px 0 6px;font-size:1.7rem}

.valid.modified:not([type=checkbox]){outline:1px solid var(--na-success)}.invalid{outline:1px solid var(--na-danger)}.validation-message{color:var(--na-danger)}#blazor-error-ui{color:white;background:rgba(255,77,109,.96);bottom:0;box-shadow:0 -4px 24px rgba(0,0,0,.35);display:none;left:0;padding:.9rem 1.25rem;position:fixed;width:100%;z-index:9999}#blazor-error-ui .dismiss{cursor:pointer;position:absolute;right:.75rem;top:.5rem}

@media (max-width:1120px){:root{--na-sidebar-width:220px}.na-shell{grid-template-columns:1fr}.na-sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--na-line)}.na-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.na-content{width:100%}.na-page-header{align-items:flex-start;flex-direction:column}.na-stat-grid,.na-roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.na-landing-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.na-landing-showcase{grid-template-columns:1fr}.na-live-card{max-width:520px}.na-flow-line{grid-template-columns:repeat(2,minmax(0,1fr))}.na-flow-line::before{display:none}}
@media (max-width:760px){.na-landing{width:min(100vw - 24px,1160px);padding-top:10px}.na-landing-nav{top:8px;align-items:center;gap:12px;flex-direction:column;border-radius:18px}.na-landing-brand img{width:138px}.na-landing-links{width:100%;justify-content:center;gap:8px;flex-wrap:wrap;font-size:.72rem}.na-landing-links a:not(.na-login-link){padding:6px 4px}.na-login-link{height:32px;padding:0 12px}.na-landing-hero{min-height:calc(100svh - 120px);padding:28px 0}.na-landing-hero h1{font-size:clamp(3.5rem,18vw,5.6rem)}.na-landing-subtitle{font-size:.98rem;margin-top:20px}.na-landing-actions{flex-direction:column;width:100%;align-items:stretch}.na-landing-actions .na-button{width:100%}.na-landing-statement,.na-landing-showcase,.na-landing-closing,.na-landing-flow{padding:22px}.na-landing-statement h2,.na-landing-showcase h2,.na-landing-closing h2{font-size:clamp(2rem,11vw,3.2rem)}.na-landing-feature-grid,.na-stat-grid,.na-roadmap-grid,.na-flow-line{grid-template-columns:1fr}.na-landing-feature-grid article{min-height:0}.na-live-score{gap:10px}.na-live-score strong{font-size:2.8rem}.na-content,.na-topbar,.na-footer{padding-left:16px;padding-right:16px}.na-topbar,.na-footer{align-items:flex-start;flex-direction:column;height:auto;padding-top:14px;padding-bottom:14px}.na-nav{grid-template-columns:1fr}.na-brand-logo{width:144px}.na-page-actions{justify-content:flex-start}}

/* Foundation 1.3 - Developer diagnostics */
.na-test-card {
    position: relative;
    min-height: 150px;
}

.na-test-card h3 {
    margin: 0 0 var(--na-space-2);
    font-size: 1rem;
}

.na-test-card p {
    margin: 0;
    color: var(--na-text-muted);
}

.na-test-state {
    position: absolute;
    top: var(--na-space-4);
    right: var(--na-space-4);
    font-family: var(--na-font-display);
    font-weight: 800;
    letter-spacing: .12em;
    font-size: .7rem;
    padding: .25rem .5rem;
    border-radius: 999px;
}

.na-test-card-ok .na-test-state {
    color: #0a0a0a;
    background: var(--na-accent);
    box-shadow: 0 0 18px rgba(0, 212, 255, .22);
}

.na-test-card-fail .na-test-state {
    color: #fff;
    background: var(--na-secondary);
    box-shadow: 0 0 18px rgba(255, 45, 141, .22);
}

/* Platform Core 3.0 - Workspace Runtime */
.na-workspace-runtime-page .na-card,
.na-dev-center-page .na-card {
    --na-card-padding: 24px;
}

.na-runtime-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: 18px;
    margin-bottom: 18px;
}

.na-runtime-hero {
    min-height: 240px;
}

.na-runtime-score {
    margin: 18px 0 10px;
    font-family: var(--na-font-display);
    font-size: clamp(4rem, 10vw, 7rem);
    line-height: .8;
    font-weight: 900;
    letter-spacing: -.05em;
    color: #fff;
}

.na-runtime-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0 26px;
}

.na-runtime-check-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.na-runtime-check-card span {
    display: block;
    color: var(--na-muted);
    font-family: var(--na-font-display);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .76rem;
}

.na-runtime-check-card strong {
    display: block;
    margin: 14px 0 8px;
    font-family: var(--na-font-display);
    font-size: 1.45rem;
    letter-spacing: .06em;
}

.na-runtime-check-card p,
.na-runtime-note p {
    color: var(--na-muted);
    line-height: 1.6;
}

.na-runtime-check-card.is-ok {
    border-color: rgba(0, 255, 166, .35);
}

.na-runtime-check-card.is-ok strong {
    color: var(--na-success);
}

.na-runtime-check-card.is-fail {
    border-color: rgba(255, 45, 141, .45);
}

.na-runtime-check-card.is-fail strong {
    color: var(--na-secondary);
}

@media (max-width: 1120px) {
    .na-runtime-grid,
    .na-runtime-stat-grid,
    .na-runtime-check-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .na-runtime-grid,
    .na-runtime-stat-grid,
    .na-runtime-check-grid {
        grid-template-columns: 1fr;
    }
}
