:root{--bg:#0b0f17;--bg2:#121826;--ink:#eaf2ff;--muted:#9fb3d1;--border:#1d2740;--accent:#00b3b3;--accent2:#4aa3ff;--radius:18px;--shadow:0 14px 36px rgba(0,0,0,.35)}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(120% 100% at 10% 0%, rgba(0,179,179,.10) 0%, transparent 55%),radial-gradient(120% 100% at 100% 100%, rgba(74,163,255,.10) 0%, transparent 55%),var(--bg);color:var(--ink);font:17px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Noto Sans";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.nf360-wrap{max-width:1120px;margin:auto;padding:28px}
.nf360-grid{display:grid;gap:24px}
.nf360-split{grid-template-columns:1.2fr .8fr}
@media (max-width:920px){.nf360-split{grid-template-columns:1fr}}
.nf360-hero{padding:42px 0}
.nf360-hero-card{display:grid;gap:24px;align-items:center;grid-template-columns:1.1fr .9fr;background:linear-gradient(180deg,#11182a 0%,#0e1525 100%);border:1px solid var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
@media (max-width:920px){.nf360-hero-card{grid-template-columns:1fr}}
.nf360-badge{display:inline-block;font-size:13px;padding:6px 10px;border-radius:999px;background:#072b2b;border:1px solid #0aa9a9;color:#79f2f2;margin-bottom:12px;font-weight:700}
.nf360-sub{color:var(--muted)}
.nf360-btns{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.nf360-btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;border:1px solid transparent;text-decoration:none;cursor:pointer}
.nf360-btn-primary{background:linear-gradient(90deg,var(--accent),var(--accent2));color:#0b0f17;font-weight:900;box-shadow:0 8px 22px rgba(0,179,179,.25),0 10px 28px rgba(74,163,255,.18)}
.nf360-btn-ghost{color:#d6e4ff;background:#0f1421;border-color:#223156}
.nf360-illus{aspect-ratio:4/3;border-radius:16px;background:radial-gradient(120% 90% at 80% 10%, rgba(74,163,255,.22), transparent 60%),radial-gradient(120% 90% at 0% 100%, rgba(0,179,179,.24), transparent 60%),linear-gradient(160deg,#0b1222 0%,#0d1425 100%);border:1px solid var(--border);box-shadow:var(--shadow)}
.nf360-main .nf360-section{padding:22px 0}
.nf360-card{background:var(--bg2);border:1px solid var(--border);border-radius:16px;padding:22px;box-shadow:var(--shadow)}
.nf360-muted{color:var(--muted)}
.nf360-small{font-size:13px}
.mt8{margin-top:8px}
.nf360-panel-title{margin:0 0 6px}
.nf360-help{font-size:14px;color:var(--muted);margin-bottom:10px}
.nf360-row{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.nf360-check{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:#0f1627}
.nf360-input, textarea.nf360-input{background:#0f1421;border:1px solid #223156;color:#eaf2ff;border-radius:10px;padding:10px 12px;width:100%}
.nf360-label{font-size:14px;color:var(--muted)}
#nf360-chart{width:100%;height:300px;background:#0f1627;border:1px solid var(--border);border-radius:12px}
.nf360-measure-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}
@media (max-width:920px){.nf360-measure-grid{grid-template-columns:1fr}}
.nf360-contrast-bars{display:flex;gap:8px;align-items:flex-end}
.nf360-contrast-bars div{flex:1;height:70px;border-radius:8px;border:1px solid #223156}
.nf360-ex{background:#0f1627;border:1px solid var(--border);border-radius:12px;padding:14px;margin:10px 0}
.nf360-ex h4{margin:0 0 6px}
.nf360-ex .question{margin:10px 0}
.nf360-ex .options{display:flex;gap:8px;flex-wrap:wrap}
.nf360-ex button{padding:8px 12px;border-radius:10px;border:1px solid #223156;background:#0f1421;color:#eaf2ff;cursor:pointer}
.nf360-ex .status{font-size:14px;margin-top:6px}

/* -------- Basic Mode (minimal) -------- */
#nf360-basic{padding:16px;}
#nf360-basic *{color:#ffffff;}
#nf360-basic input,
#nf360-basic textarea,
#nf360-basic select{color:#000000 !important;background:#ffffff !important;}
#nf360-basic input::placeholder,
#nf360-basic textarea::placeholder{color:#555555 !important;}
#nf360-basic .nf360-help,
#nf360-basic .nf360-muted{color:#ffffff !important;opacity:0.85;}

.nf360-basic-card{max-width:760px;margin:0 auto;background:#0f1627;border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 10px 30px rgba(0,0,0,0.25);}
.nf360-basic-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.nf360-basic-title{font-size:22px;font-weight:700;letter-spacing:0.3px;}
.nf360-basic-instruction{font-size:16px;opacity:0.95;line-height:1.35;margin:8px 0 12px;}
.nf360-basic-btns{display:grid;grid-template-columns:1fr;gap:10px;margin:10px 0;}
.nf360-btn-big{padding:16px 14px;font-size:18px;border-radius:14px;}
.nf360-basic-panel{min-height:60px;}
.nf360-basic-today-card{margin-top:10px;}
.nf360-basic-h3{margin:0 0 6px;font-size:16px;}
.nf360-basic-footnote{margin-top:12px;font-size:13px;opacity:0.85;}



/* Weekly legend + tooltip */
.nf360-weekly-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
  position:relative;
}
.nf360-legend-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(255,255,255,0.14);
  background:rgba(255,255,255,0.06);
  color:#fff;
  border-radius:999px;
  padding:8px 12px;
  font-size:14px;
  cursor:pointer;
}
.nf360-legend-chip:focus{ outline:2px solid rgba(255,255,255,0.35); outline-offset:2px; }
.nf360-legend-swatch{
  width:12px; height:12px;
  border-radius:50%;
  display:inline-block;
}
.nf360-weekly-tooltip{
  position:absolute;
  min-width:220px;
  max-width:320px;
  background:rgba(0,0,0,0.85);
  color:#fff;
  border:1px solid rgba(255,255,255,0.15);
  border-radius:12px;
  padding:10px 12px;
  font-size:13px;
  line-height:1.25;
  pointer-events:none;
  z-index:5;
}
.nf360-selected{
  outline:2px solid rgba(255,255,255,0.35);
}

/* Light control clarity */
.nf360-btn[style*='background:#fff'], .nf360-btn[style*='background: #fff'], .nf360-input[style*='background:#fff'], select[style*='background:#fff']{color:#000 !important;}
.nf360-ex-helper{margin:8px 0 10px}
.nf360-help-tight{margin-bottom:8px}
.nf360-symbol-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:6px}
@media (max-width:640px){.nf360-symbol-key{grid-template-columns:repeat(2,minmax(0,1fr));}}
.nf360-symbol-pair{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #223156;border-radius:10px;background:#0f1421;color:#eaf2ff;font-size:18px;font-weight:700}
.nf360-symbol-pair strong{color:#fff;font-size:18px}
.nf360-symbol-pair em{font-style:normal;color:#fff;font-size:24px;line-height:1}


/* Rehabilitation readability on dark Today cards */
.nf360-card,
.nf360-card h1,
.nf360-card h2,
.nf360-card h3,
.nf360-card h4,
.nf360-card p,
.nf360-card div,
.nf360-card span,
.nf360-card strong,
.nf360-card label,
#nf360-today,
#nf360-basic-today{
  color:#ffffff;
}
.nf360-card .nf360-muted,
.nf360-card .nf360-small,
#nf360-today .nf360-muted,
#nf360-basic-today .nf360-muted{
  color:#dbe7ff !important;
}
.nf360-card input,
.nf360-card textarea,
.nf360-card select{
  color:#000000;
}
