.nc{padding-block:clamp(44px,7vw,84px);border-top:1px solid var(--rule);background:var(--line-w);background-image:linear-gradient(rgba(18,58,107,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(18,58,107,.06) 1px,transparent 1px);background-size:32px 32px}
.nc-meta{font-family:var(--mono);font-size:12px;color:var(--mut);margin-bottom:14px;letter-spacing:.4px}
.nc-meta.err{color:#a3213f;border:1px dashed #a3213f;background:var(--paper);padding:14px 16px;font-size:13px}
.nc-meta button{font:inherit;margin-left:10px;cursor:pointer;border:1px solid var(--prussian);background:transparent;color:var(--prussian);padding:6px 10px;min-height:36px}
.nc-rubric{display:flex;flex-wrap:wrap;gap:8px 14px;font-family:var(--mono);font-size:11.5px;color:var(--prussian);padding:10px 14px;margin-bottom:18px;border:1px solid var(--rule);border-top:3px solid var(--prussian);background:var(--paper)}
.nc-rubric span+span::before{content:"+ ";color:var(--goldink)}
.nc-rubric p{flex:1 1 100%;margin:0;color:var(--mut)}
.nc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:16px}
.nc-card{position:relative;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--rule);padding:20px 18px 16px;min-width:0}
.nc-card::before,.nc-card::after{content:"";position:absolute;width:12px;height:12px;border:0 solid var(--cyan);pointer-events:none}
.nc-card::before{top:-1px;left:-1px;border-width:2px 0 0 2px}.nc-card::after{bottom:-1px;right:-1px;border-width:0 2px 2px 0}
.nc-card.is-new{border-color:#d6df24;box-shadow:inset 4px 0 0 #edff45;background:#fcffe8}
.nc-top{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px}
.nc-rank{flex:none;font:700 30px/1 var(--disp);color:var(--prussian);border-right:1px solid var(--rule);padding-right:12px;min-width:56px}
.nc-rank small{display:block;font:500 9.5px var(--mono);letter-spacing:1.5px;color:var(--goldink);margin-bottom:4px}
.nc-name{margin:0;font:700 20px/1.15 var(--disp);color:var(--prussian);overflow-wrap:anywhere}
.nc-sub{font:11.5px var(--mono);color:var(--mut);margin-top:4px}
.nc-badge{display:inline-block;font:700 10px var(--mono);letter-spacing:1.2px;background:#edff45;color:var(--midnight);padding:3px 7px;margin-bottom:8px}
.nc-tag{align-self:flex-start;font:10.5px var(--mono);color:var(--prussian);background:var(--line-w);border:1px solid rgba(46,107,176,.4);padding:4px 8px;margin-bottom:10px}
.nc-desc{margin:0 0 12px;color:var(--mut);font-size:14.4px}
.nc-signal{margin:0 0 14px;font-size:13.5px;color:var(--graphite);border-left:2px solid var(--cyan);padding-left:10px;flex:1}
.nc-bars{display:grid;grid-template-columns:auto 1fr auto;gap:4px 8px;align-items:center;font:10.5px var(--mono);color:var(--mut);margin:0 0 14px}
.nc-bars dt{margin:0}.nc-bars dd{margin:0;text-align:right}
.nc-bar{height:5px;background:rgba(18,58,107,.12);position:relative}
.nc-bar i{position:absolute;inset:0 auto 0 0;background:var(--prussian)}
.nc-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px dashed var(--rule);padding-top:12px;font:12.5px var(--mono)}
.nc-foot a{font-weight:700;padding:6px 0}
.nc-total{color:var(--goldink);font-weight:700}
.nc-note{font:11.5px var(--mono);color:var(--mut);margin:18px 0 0;max-width:80ch}
.nc-controls{display:none}
.nc-controls[hidden]{display:none}
@media(max-width:1366px){
 .nc-controls{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:var(--prussian);font:12px var(--mono)}
 .nc-controls .pos{margin-left:auto;white-space:nowrap}
 .nc-controls button{flex:0 0 44px;width:44px;height:44px;border:1px solid var(--trace);background:#EAF2FB;color:var(--prussian);font:20px var(--body);cursor:pointer}
 .nc-controls button:disabled{opacity:.35;cursor:default}
 .nc-grid.nc-swipe{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 20px)/2);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;align-items:start;padding-bottom:12px;scrollbar-width:thin;scrollbar-color:var(--trace) #EAF2FB}
 .nc-swipe>.nc-card{scroll-snap-align:start}
}
@media(max-width:600px){.nc-grid.nc-swipe{grid-auto-columns:calc(100% - 24px)}.nc-controls{font-size:11px}}
@media(min-width:1000px) and (max-width:1366px){.nc-grid.nc-swipe{grid-auto-columns:calc((100% - 40px)/3)}}
