﻿.nn-race2026 {
 --nn-bg:#fff;
 --nn-text:#111;
 --nn-muted:#666;
 --nn-line:#e5e5e5;
 --nn-light:#f5f5f5;
 --nn-red:#b40000;
 --nn-dark:#111;
 --nn-blue:#2563eb;
 --nn-sky:#38bdf8;
 --nn-green:#16a34a;
 --nn-gold:#f59e0b;
 --nn-purple:#7c3aed;
 --nn-danger:#ef4444;
 --nn-radius:16px;
 --nn-shadow:0 18px 44px rgba(0,0,0,.10);
 width:100%;
 color:var(--nn-text);
 font-family:Arial,Helvetica,sans-serif;
}

.nn-race2026 *{box-sizing:border-box}

.nn-race2026 p{
 margin:0 0 18px;
 color:#181818;
 font-size:19px;
 line-height:1.66;
}

.nn-race2026 h2,
.nn-race2026 h3{
 color:#111;
 letter-spacing:-.055em;
}

.nn-race2026 h2{
 margin:38px 0 14px;
 font-size:clamp(28px,4vw,38px);
 line-height:1.05;
 font-weight:820;
}

.nn-race2026 h3{
 margin:0 0 10px;
 font-size:24px;
 line-height:1.08;
 font-weight:850;
}

.nn-race2026 strong{color:#111}

.nn-race2026 a{
 color:var(--nn-red);
 text-decoration:underline;
 text-underline-offset:3px;
}

.nn-race-hero{
 margin:24px 0 28px;
 padding:clamp(18px,3vw,30px);
 border:1px solid #dbe7ff;
 border-radius:24px;
 background:
 radial-gradient(circle at 82% 12%, rgba(56,189,248,.18), transparent 25%),
 radial-gradient(circle at 12% 10%, rgba(239,68,68,.12), transparent 24%),
 linear-gradient(135deg,#fff 0%,#f7fbff 48%,#eef4ff 100%);
 box-shadow:var(--nn-shadow);
}

.nn-race-kicker{
 display:inline-flex;
 align-items:center;
 min-height:28px;
 margin-bottom:14px;
 padding:0 11px;
 border-radius:999px;
 background:#111;
 color:#fff;
 font-size:11px;
 font-weight:900;
 line-height:1;
 text-transform:uppercase;
 letter-spacing:.06em;
}

.nn-race-title{
 margin:0;
 color:#111;
 font-size:clamp(36px,5vw,64px);
 line-height:1;
 letter-spacing:-.07em;
 font-weight:850;
 text-wrap:balance;
}

.nn-race-lead{
 max-width:790px;
 margin:18px 0 0!important;
 color:#333!important;
 font-size:clamp(19px,2.5vw,23px)!important;
 line-height:1.32!important;
 letter-spacing:-.035em;
}

.nn-race-meta{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px;
 margin-top:22px;
}

.nn-race-meta-card{
 min-width:0;
 padding:15px;
 border:1px solid #dfe8f8;
 border-radius:16px;
 background:rgba(255,255,255,.86);
 backdrop-filter:blur(8px);
}

.nn-race-meta-card span{
 display:block;
 margin-bottom:7px;
 color:var(--nn-muted);
 font-size:11px;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.08em;
}

.nn-race-meta-card b{
 display:block;
 color:#111;
 font-size:16px;
 line-height:1.25;
 font-weight:900;
}

.nn-race-note{
 margin:26px 0;
 padding:18px;
 border-radius:18px;
 border:1px solid var(--nn-line);
 border-left:5px solid #111;
 background:#fafafa;
}

.nn-race-note p{margin-bottom:0;font-weight:720}

/* GAME */
.nn-race-game{
 margin:32px 0;
 overflow:hidden;
 border:1px solid #dbe7ff;
 border-radius:28px;
 background:
 radial-gradient(circle at 50% 0%, rgba(37,99,235,.12), transparent 34%),
 radial-gradient(circle at 8% 20%, rgba(239,68,68,.12), transparent 26%),
 linear-gradient(180deg,#ffffff 0%,#f5f9ff 100%);
 box-shadow:0 22px 50px rgba(31,52,100,.16);
}

.nn-race-game-head{
 padding:18px 18px 0;
 display:grid;
 gap:12px;
}

.nn-race-game-label{
 display:inline-flex;
 width:fit-content;
 min-height:30px;
 align-items:center;
 padding:0 12px;
 border-radius:999px;
 background:linear-gradient(135deg,#111,#334155);
 color:#fff;
 font-size:11px;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.07em;
}

.nn-race-game-title{
 margin:0;
 color:#111;
 font-size:clamp(24px,4vw,36px);
 line-height:1;
 letter-spacing:-.06em;
 font-weight:900;
}

.nn-race-game-subtitle{
 margin:0!important;
 max-width:790px;
 color:#555!important;
 font-size:15px!important;
 line-height:1.44!important;
}

.nn-race-hud{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:10px;
 padding:16px 18px 0;
}

.nn-race-hud-item{
 min-width:0;
 padding:10px 12px;
 border:1px solid #dbe7ff;
 border-radius:16px;
 background:#fff;
 box-shadow:0 8px 18px rgba(0,0,0,.05);
}

.nn-race-hud-item span{
 display:block;
 margin-bottom:4px;
 color:#64748b;
 font-size:10px;
 line-height:1;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.08em;
}

.nn-race-hud-item b{
 display:block;
 color:#111;
 font-size:17px;
 line-height:1;
 font-weight:900;
 white-space:nowrap;
}

.nn-race-track-wrap{
 position:relative;
 margin:16px 18px 0;
 border-radius:24px;
 overflow:hidden;
 background:#0f172a;
 border:1px solid #14213d;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 18px 34px rgba(15,23,42,.22);
 touch-action:none;
 user-select:none;
}

.nn-race-canvas{
 display:block;
 width:100%;
 height:auto;
 min-height:360px;
 background:#0f172a;
 outline:none;
}

.nn-race-overlay{
 position:absolute;
 inset:0;
 display:grid;
 place-items:center;
 padding:18px;
 background:linear-gradient(180deg,rgba(15,23,42,.18),rgba(15,23,42,.72));
 z-index:4;
 pointer-events:none;
 opacity:0;
 visibility:hidden;
 transition:opacity .2s ease,visibility .2s ease;
}

.nn-race-overlay.is-visible{
 opacity:1;
 visibility:visible;
 pointer-events:auto;
}

.nn-race-overlay-card{
 width:min(100%,430px);
 padding:18px;
 border-radius:22px;
 background:rgba(255,255,255,.96);
 border:1px solid rgba(255,255,255,.5);
 box-shadow:0 22px 44px rgba(0,0,0,.20);
 text-align:center;
}

.nn-race-overlay-card h3{
 margin:0 0 8px;
 font-size:28px;
 line-height:1;
 letter-spacing:-.06em;
}

.nn-race-overlay-card p{
 margin:0 0 14px;
 color:#475569;
 font-size:15px;
 line-height:1.45;
}

.nn-race-controls{
 display:grid;
 grid-template-columns:1fr auto 1fr;
 gap:10px;
 align-items:center;
 padding:16px 18px 18px;
}

.nn-race-control-group{
 display:flex;
 gap:10px;
 min-width:0;
}

.nn-race-control-group.is-right{justify-content:flex-end}

.nn-race-btn,
.nn-race-drive-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 min-height:44px;
 border:0;
 border-radius:999px;
 cursor:pointer;
 font-size:13px;
 font-weight:900;
 white-space:nowrap;
 -webkit-tap-highlight-color:transparent;
}

.nn-race-btn{
 padding:0 16px;
 background:linear-gradient(135deg,#111,#334155);
 color:#fff;
}

.nn-race-btn:hover{background:linear-gradient(135deg,var(--nn-red),#7f1d1d)}

.nn-race-btn.is-secondary{
 background:#fff;
 color:#111;
 border:1px solid #dbe7ff;
}

.nn-race-btn.is-secondary:hover{background:#111;color:#fff;border-color:#111}

.nn-race-drive-btn{
 width:64px;
 min-height:52px;
 background:#fff;
 color:#111;
 border:1px solid #dbe7ff;
 box-shadow:0 8px 18px rgba(0,0,0,.06);
 font-size:20px;
}

.nn-race-drive-btn:active,
.nn-race-drive-btn.is-pressed{
 background:#111;
 color:#fff;
 transform:translateY(1px);
}

.nn-race-help{
 display:grid;
 grid-template-columns:repeat(4,minmax(0,1fr));
 gap:10px;
 padding:0 18px 18px;
}

.nn-race-help-card{
 min-width:0;
 padding:12px;
 border:1px solid #dbe7ff;
 border-radius:16px;
 background:#fff;
 color:#475569;
 font-size:13px;
 line-height:1.35;
 font-weight:760;
}

.nn-race-help-card b{
 display:block;
 margin-bottom:4px;
 color:#111;
 font-size:14px;
 font-weight:900;
}


.nn-race-drive-btn.is-fire{
 width:auto;
 min-width:96px;
 padding:0 18px;
 background:linear-gradient(135deg,#7f1d1d,#b40000);
 color:#fff;
 box-shadow:0 10px 20px rgba(180,0,0,.20);
}

.nn-race-drive-btn.is-fire.is-pressed,
.nn-race-drive-btn.is-fire:hover{
 background:linear-gradient(135deg,#b40000,#ef4444);
 transform:translateY(-1px);
}

/* TABLES */
.nn-race-table{
 margin:28px 0;
 overflow:hidden;
 border:1px solid var(--nn-line);
 border-radius:18px;
 background:#fff;
 box-shadow:0 10px 24px rgba(0,0,0,.05);
}

.nn-race-table table{width:100%;border-collapse:collapse;table-layout:fixed}

.nn-race-table caption{
 padding:15px 16px;
 text-align:left;
 background:#fafafa;
 border-bottom:1px solid var(--nn-line);
 color:#111;
 font-size:16px;
 line-height:1.2;
 font-weight:900;
}

.nn-race-table th,
.nn-race-table td{
 padding:14px 16px;
 text-align:left;
 vertical-align:top;
 border-bottom:1px solid var(--nn-line);
 overflow-wrap:anywhere;
 word-break:normal;
 hyphens:auto;
}

.nn-race-table th{
 color:#666;
 font-size:12px;
 font-weight:900;
 text-transform:uppercase;
 letter-spacing:.08em;
}

.nn-race-table td{color:#222;font-size:15px;line-height:1.45}
.nn-race-table tr:last-child td{border-bottom:0}

.nn-race-tag{
 display:inline-flex;
 max-width:100%;
 align-items:center;
 min-height:28px;
 padding:0 10px;
 border-radius:999px;
 background:#f3f3f3;
 color:#111;
 font-size:12px;
 line-height:1;
 font-weight:900;
 white-space:normal;
}

.nn-race-tag.is-coin{background:#fff7e6;color:#7a4c00}
.nn-race-tag.is-shield{background:#ecfdf5;color:#126233}
.nn-race-tag.is-boost{background:#eff6ff;color:#1d4ed8}
.nn-race-tag.is-danger{background:#fff0f0;color:#8a0000}

.nn-race-steps{
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:14px;
 margin:26px 0;
}

.nn-race-step{
 padding:18px;
 border:1px solid var(--nn-line);
 border-radius:18px;
 background:#fff;
 box-shadow:0 10px 24px rgba(0,0,0,.05);
}

.nn-race-step b{
 display:grid;
 place-items:center;
 width:34px;
 height:34px;
 margin-bottom:10px;
 border-radius:50%;
 background:#111;
 color:#fff;
 font-size:15px;
 font-weight:900;
}

.nn-race-step p{margin:0;font-size:16px;line-height:1.45}

.nn-race-faq{margin:28px 0;display:grid;gap:10px}
.nn-race-faq details{border:1px solid var(--nn-line);border-radius:16px;background:#fff;overflow:hidden}
.nn-race-faq summary{min-height:48px;display:flex;align-items:center;padding:12px 16px;cursor:pointer;color:#111;font-size:16px;line-height:1.25;font-weight:900}
.nn-race-faq details p{margin:0;padding:0 16px 16px;color:#333;font-size:16px;line-height:1.55}

.nn-race-final{
 margin:34px 0 10px;
 padding:22px;
 border-radius:22px;
 background:linear-gradient(135deg,#111,#334155);
 color:#fff;
 box-shadow:var(--nn-shadow);
}

.nn-race-final h2{margin-top:0;color:#fff}
.nn-race-final p{color:#e5e5e5}
.nn-race-final p:last-child{margin-bottom:0}

@media (max-width:900px){
 .nn-race-meta,
 .nn-race-steps{grid-template-columns:1fr}
 .nn-race-hud{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nn-race-help{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nn-race-controls{grid-template-columns:1fr;gap:12px}
 .nn-race-control-group,
 .nn-race-control-group.is-right{justify-content:center}
 .nn-race-btn{width:100%}
}



.nn-race-track-wrap{
 background:
 radial-gradient(circle at 50% 0%, rgba(56,189,248,.24), transparent 34%),
 linear-gradient(135deg,#020617,#0f172a 55%,#111827);
 box-shadow:
 inset 0 0 0 1px rgba(255,255,255,.10),
 inset 0 30px 80px rgba(56,189,248,.10),
 0 24px 54px rgba(15,23,42,.30);
}

.nn-race-canvas{
 filter:saturate(1.18) contrast(1.06);
}

@media (max-width:920px){
 .nn-race-hud{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:720px){
 .nn-race2026 p{font-size:17px;line-height:1.6}
 .nn-race-title{font-size:34px;line-height:1.06;letter-spacing:-.055em}
 .nn-race2026 h2{font-size:28px}
 .nn-race-hero,
 .nn-race-note,
 .nn-race-final{padding:16px;border-radius:18px}
 .nn-race-game-head{padding:16px 16px 0}
 .nn-race-hud{padding:14px 16px 0;gap:8px}
 .nn-race-hud-item{padding:9px 10px}
 .nn-race-hud-item b{font-size:15px}
 .nn-race-track-wrap{margin:14px 16px 0;border-radius:20px}
 .nn-race-canvas{min-height:420px}
 .nn-race-controls{padding:14px 16px 16px}
 .nn-race-drive-btn{width:74px;min-height:58px;font-size:24px}
 .nn-race-help{grid-template-columns:1fr;padding:0 16px 16px}
 .nn-race-table{overflow:visible}
 .nn-race-table table,
 .nn-race-table tbody,
 .nn-race-table tr,
 .nn-race-table td{display:block;width:100%}
 .nn-race-table thead{display:none}
 .nn-race-table tr{border-bottom:1px solid var(--nn-line);padding:10px 0}
 .nn-race-table tr:last-child{border-bottom:0}
 .nn-race-table td{border-bottom:0;padding:9px 14px;font-size:15px}
 .nn-race-table td::before{content:attr(data-label);display:block;margin-bottom:5px;color:#666;font-size:11px;line-height:1.2;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
}

@media (max-width:420px){
 .nn-race-hud{grid-template-columns:1fr 1fr}
 .nn-race-overlay-card h3{font-size:24px}
 .nn-race-drive-btn{width:68px}
}

@media (prefers-reduced-motion:reduce){
 .nn-race-overlay,
 .nn-race-drive-btn{transition:none!important;animation:none!important}
}