:root {
  --nc-bg: #050914;
  --nc-panel: rgba(9, 18, 36, 0.82);
  --nc-panel-2: rgba(13, 27, 53, 0.72);
  --nc-border: rgba(139, 173, 255, 0.18);
  --nc-text: rgba(246, 249, 255, 0.96);
  --nc-muted: rgba(190, 205, 232, 0.70);
  --nc-blue: #5d82ff;
  --nc-cyan: #6bd8ff;
  --nc-purple: #8f5cff;
  --nc-green: #68e59b;
  --nc-red: #ff6575;
  --nc-shadow: 0 26px 80px rgba(0, 0, 0, 0.48);
}

body {
  background:
    radial-gradient(circle at 18% 8%, rgba(66, 109, 255, 0.16), transparent 32%),
    radial-gradient(circle at 82% 12%, rgba(78, 218, 255, 0.10), transparent 30%),
    linear-gradient(180deg, #050914 0%, #06101f 50%, #04070d 100%) !important;
  color: var(--nc-text);
}

.app-shell { width: min(1760px, calc(100% - 40px)); }
.nc-topbar { padding: 18px 0; background: rgba(3, 8, 18, .72); border-bottom: 1px solid var(--nc-border); }
.nc-topbar-inner { width: min(1760px, calc(100% - 40px)); margin: 0 auto; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.nc-brand-mark { background: linear-gradient(135deg, var(--nc-blue), var(--nc-cyan)); color:#fff; box-shadow:0 0 28px rgba(92,130,255,.35); }
.nc-nav { display:flex; align-items:center; gap:12px; }
.nc-nav a, .nc-access-btn, .nc-secondary, .nc-primary {
  border:1px solid var(--nc-border); border-radius:14px; padding:12px 18px; color:var(--nc-text); background:rgba(255,255,255,.035); font-weight:800; font-size:.94rem;
}
.nc-access-btn, .nc-primary { background:linear-gradient(135deg, var(--nc-blue), #42bfff); border-color:rgba(255,255,255,.15); box-shadow:0 12px 34px rgba(78,120,255,.25); }
.nc-secondary { color:var(--nc-muted); }
.nc-small { display:inline-flex; margin-top:14px; padding:11px 14px; }

.nc-home, .nc-paper-page { padding: 26px 0 70px; }
.nc-hero-grid { display:grid; grid-template-columns: 1.18fr .82fr; gap:28px; }
.nc-hero-card, .nc-feature-card, .nc-panel, .nc-paper-hero, .nc-paper-meta-grid > div {
  position:relative; overflow:hidden; border:1px solid var(--nc-border); border-radius:28px; background:linear-gradient(180deg, rgba(13, 29, 58, .78), rgba(7, 15, 31, .82)); box-shadow:var(--nc-shadow);
}
.nc-hero-card { padding:46px; min-height:520px; }
.nc-hero-card::after { content:""; position:absolute; right:4%; top:8%; width:42%; aspect-ratio:1.1; background:url('/static/analysis-bg.png') center/contain no-repeat; opacity:.72; filter:drop-shadow(0 0 34px rgba(85,130,255,.32)); pointer-events:none; }
.nc-kicker { display:inline-flex; align-items:center; width:max-content; max-width:100%; padding:8px 13px; border-radius:999px; border:1px solid rgba(111,155,255,.25); background:rgba(69,112,255,.12); color:#88aaff; font-size:.76rem; font-weight:950; letter-spacing:.16em; text-transform:uppercase; }
.nc-hero-card h1 { position:relative; z-index:1; max-width:820px; margin:24px 0 18px; font-size:clamp(3rem, 5.6vw, 7.2rem); line-height:.95; letter-spacing:-.07em; }
.nc-hero-card h1 span { color:transparent; background:linear-gradient(90deg, var(--nc-blue), var(--nc-purple), var(--nc-cyan)); -webkit-background-clip:text; background-clip:text; }
.nc-hero-card p { position:relative; z-index:1; max-width:720px; color:var(--nc-muted); font-size:1.15rem; line-height:1.75; }
.nc-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; position:relative; z-index:1; }
.nc-metric-strip { position:absolute; left:36px; right:36px; bottom:34px; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--nc-border); border-radius:22px; background:rgba(4,11,24,.62); backdrop-filter: blur(12px); }
.nc-metric-strip div { padding:22px 24px; border-right:1px solid var(--nc-border); }
.nc-metric-strip div:last-child { border-right:0; }
.nc-metric-strip strong { display:block; font-size:2rem; color:#79a3ff; }
.nc-metric-strip small { color:var(--nc-muted); }

.nc-feature-card { padding:34px; }
.nc-feature-head, .nc-section-head { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.nc-feature-head span { color:var(--nc-green); background:rgba(104,229,155,.12); border:1px solid rgba(104,229,155,.22); border-radius:999px; padding:7px 11px; font-size:.76rem; font-weight:950; text-transform:uppercase; letter-spacing:.12em; }
.nc-feature-head em, .nc-intel-panel em { color:var(--nc-green); font-style:normal; font-size:.8rem; font-weight:900; }
.nc-feature-card h2 { margin:28px 0 18px; font-size:clamp(1.8rem, 2.8vw, 3rem); line-height:1.05; letter-spacing:-.04em; }
.nc-feature-body { display:grid; grid-template-columns:150px 1fr; gap:24px; align-items:center; }
.nc-feature-facts p, .nc-paper-score-facts p { margin:9px 0; display:flex; justify-content:space-between; gap:16px; color:var(--nc-muted); }
.nc-feature-facts b, .nc-paper-score-facts b { color:#fff; }
.nc-feature-summary { margin-top:22px; color:var(--nc-muted); line-height:1.7; }

.nc-dial, .nc-mini-dial { --score:0; --angle: calc(var(--score) * 3.6deg); display:grid; place-items:center; border-radius:50%; background: conic-gradient(var(--nc-green) 0deg, #7094ff var(--angle), rgba(255,255,255,.09) var(--angle), rgba(255,255,255,.09) 360deg); transition: background 1.15s cubic-bezier(.2,.8,.2,1); position:relative; }
.nc-dial { width:148px; height:148px; }
.nc-mini-dial { width:82px; height:82px; margin:14px 0; }
.nc-dial::after, .nc-mini-dial::after { content:""; position:absolute; inset:-6px; border-radius:50%; border:1px solid rgba(103,230,155,.28); opacity:.65; }
.nc-dial-core, .nc-mini-dial::before { display:grid; place-items:center; text-align:center; border-radius:50%; background:#081326; box-shadow: inset 0 0 0 1px var(--nc-border); }
.nc-dial-core { width:112px; height:112px; }
.nc-mini-dial::before { content:""; position:absolute; inset:11px; }
.nc-dial strong, .nc-mini-dial strong { position:relative; z-index:1; display:block; font-size:2.4rem; line-height:.9; }
.nc-mini-dial strong { font-size:1.6rem; }
.nc-dial small, .nc-mini-dial small { position:relative; z-index:1; display:block; margin-top:5px; font-size:.65rem; font-weight:900; color:var(--nc-muted); text-transform:uppercase; }
.js-dial.is-sweeping { filter:drop-shadow(0 0 18px rgba(105,229,155,.32)); }

.nc-live-ticker { margin:26px 0; border:1px solid var(--nc-border); border-radius:20px; background:rgba(8,18,36,.82); padding:14px 18px; display:flex; gap:22px; overflow:hidden; }
.nc-live-ticker span { flex:0 0 auto; color:#8aa9ff; font-size:.78rem; font-weight:950; letter-spacing:.14em; }
.ticker-track { display:flex; gap:34px; white-space:nowrap; color:var(--nc-muted); animation:ticker 28s linear infinite; }
@keyframes ticker { to { transform:translateX(-45%); } }

.nc-section, .nc-two-col, .nc-full-board { margin-top:30px; }
.nc-section-head { margin-bottom:18px; }
.nc-section-head h2 { margin:9px 0 0; font-size:1.65rem; }
.nc-section-head a, .nc-section-head span { color:#9ab5ff; font-weight:800; }
.compact h2 { font-size:1.35rem; }
.nc-signal-row { display:grid; grid-template-columns:repeat(10, minmax(130px, 1fr)); gap:14px; overflow-x:auto; padding-bottom:8px; }
.nc-signal-card { min-height:255px; padding:18px; border-radius:20px; border:1px solid var(--nc-border); background:linear-gradient(180deg, rgba(14,29,56,.82), rgba(7,14,29,.9)); box-shadow:0 18px 45px rgba(0,0,0,.26); }
.nc-rank { width:28px; height:28px; display:grid; place-items:center; border-radius:8px; background:linear-gradient(135deg,var(--nc-blue),var(--nc-green)); font-weight:950; }
.nc-signal-title { display:block; margin-top:14px; min-height:60px; font-weight:900; line-height:1.15; }
.nc-signal-card p { margin:0 0 12px; color:var(--nc-muted); font-size:.82rem; }
.nc-card-link { color:#91afff; font-size:.82rem; font-weight:900; }

.nc-two-col { display:grid; grid-template-columns:1.45fr .7fr; gap:24px; }
.nc-panel { padding:26px; }
.nc-paper-table, .nc-support-list { display:flex; flex-direction:column; gap:2px; }
.nc-paper-row, .nc-support-row { display:grid; grid-template-columns:32px minmax(240px, 1fr) 170px 74px 112px; gap:14px; align-items:center; padding:15px 10px; border-top:1px solid rgba(139,173,255,.12); }
.nc-paper-row:hover, .nc-support-row:hover { background:rgba(101,138,255,.08); border-radius:14px; }
.nc-paper-index { width:24px; height:24px; display:grid; place-items:center; border-radius:999px; border:1px solid var(--nc-border); color:#a8bdff; font-size:.78rem; }
.nc-paper-title, .nc-support-title { font-weight:800; line-height:1.3; }
.nc-paper-type, .nc-paper-date, .nc-support-journal { color:var(--nc-muted); font-size:.86rem; }
.nc-paper-score { color:var(--nc-green); font-weight:950; font-size:1.05rem; }
.nc-intel-list { display:grid; gap:16px; }
.nc-intel-list div { display:grid; grid-template-columns:38px 1fr; gap:12px; align-items:start; padding:14px; border:1px solid rgba(139,173,255,.13); border-radius:16px; background:rgba(255,255,255,.025); }
.nc-intel-list span { width:36px; height:36px; display:grid; place-items:center; border-radius:12px; background:rgba(96,134,255,.12); color:var(--nc-green); }
.nc-intel-list p { margin:0; color:var(--nc-muted); line-height:1.45; }
.nc-search-panel { border-color:var(--nc-border); background:rgba(8,18,36,.82); }
.nc-full-board { scroll-margin-top:100px; }
.nc-record { border-color:var(--nc-border) !important; }

.nc-back { display:inline-flex; margin:20px 0; color:#9ab5ff; font-weight:900; }
.nc-paper-hero { display:grid; grid-template-columns:1fr 350px; gap:30px; padding:38px; }
.nc-paper-hero h1 { margin:18px 0; font-size:clamp(2.2rem, 4.4vw, 5.2rem); line-height:1.02; letter-spacing:-.06em; }
.nc-paper-hero p { color:var(--nc-muted); line-height:1.75; max-width:900px; }
.nc-paper-score-card { display:grid; justify-items:center; align-content:center; gap:18px; }
.nc-paper-meta-grid { margin:24px 0; display:grid; grid-template-columns:repeat(4, 1fr); gap:16px; }
.nc-paper-meta-grid > div { padding:20px; }
.nc-paper-meta-grid span { display:block; color:var(--nc-muted); font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.nc-paper-meta-grid strong { display:block; margin-top:8px; font-size:1rem; overflow-wrap:anywhere; }
.nc-detail-grid { display:grid; grid-template-columns:minmax(0, 1fr) 380px; gap:24px; align-items:start; }
.nc-detail-main, .nc-detail-side { display:grid; gap:22px; }
.nc-analysis-block h2 { margin:12px 0; }
.nc-analysis-block p { color:var(--nc-muted); line-height:1.8; font-size:1.02rem; }
.nc-score-stack { display:grid; gap:12px; margin-top:18px; }
.nc-score-stack div { display:flex; justify-content:space-between; gap:14px; padding:13px 0; border-top:1px solid rgba(139,173,255,.12); }
.nc-score-stack span { color:var(--nc-muted); }
.nc-score-stack b { color:#fff; }
.nc-support-row { grid-template-columns:32px minmax(240px,1fr) 180px 70px; }
.nc-tag-grid { margin-top:18px; }

.nc-footer { margin-top:20px; }

@media (max-width: 1100px) {
  .nc-hero-grid, .nc-two-col, .nc-paper-hero, .nc-detail-grid { grid-template-columns:1fr; }
  .nc-hero-card { min-height:auto; padding-bottom:230px; }
  .nc-metric-strip { grid-template-columns:repeat(2,1fr); }
  .nc-nav { display:none; }
  .nc-paper-meta-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 720px) {
  .app-shell, .nc-topbar-inner { width:min(100% - 24px, 1760px); }
  .nc-hero-card { padding:28px; padding-bottom:280px; }
  .nc-hero-card::after { width:76%; opacity:.4; }
  .nc-metric-strip { left:18px; right:18px; bottom:18px; grid-template-columns:1fr; }
  .nc-metric-strip div { padding:14px; border-right:0; border-bottom:1px solid var(--nc-border); }
  .nc-feature-body, .nc-paper-meta-grid { grid-template-columns:1fr; }
  .nc-paper-row, .nc-support-row { grid-template-columns:28px 1fr 52px; }
  .nc-paper-type, .nc-paper-date, .nc-support-journal { display:none; }
  .nc-access-btn { display:none; }
}
