#rfna2-app, #rfna2-app * { box-sizing: border-box; }
#rfna2-app {
  --rfna-green1:#0b6b5d;
  --rfna-green2:#1aa99b;
  --rfna-green3:#cfeee2;
  --rfna-ink:#17324c;
  --rfna-muted:#5d7280;
  --rfna-line:#d7e6e0;
  --rfna-bg:#eef7f3;
  --rfna-card:#ffffff;
  font-family: Inter, Arial, sans-serif;
  color:var(--rfna-ink);
}
#rfna2-app .rfna2-wrap { max-width: 1160px; margin: 28px auto; background: #e7f2ee; border-radius: 28px; padding: 16px; }
#rfna2-app .rfna2-hero {
  display:grid; grid-template-columns:minmax(0,1.65fr) minmax(280px,.82fr); gap:20px;
  background:linear-gradient(135deg,var(--rfna-green1) 0%, var(--rfna-green2) 52%, var(--rfna-green3) 100%);
  color:#fff; border-radius:28px; padding:28px; box-shadow:0 12px 28px rgba(11,107,93,.14);
}
#rfna2-app .rfna2-kicker { display:inline-block; padding:10px 15px; border-radius:999px; background:rgba(255,255,255,.18); color:#fff; font-size:14px; font-weight:700; margin-bottom:14px; }
#rfna2-app .rfna2-sub { margin:0 0 10px; color:rgba(255,255,255,.96); font-size:15px; line-height:1.55; font-weight:700; }
#rfna2-app .rfna2-title { margin:0 0 16px; color:#fff !important; font-size:clamp(28px, 3.6vw, 54px); line-height:1.08; letter-spacing:-.02em; font-weight:800; max-width: 720px; text-wrap:balance; }
#rfna2-app .rfna2-intro { margin:0 0 20px; color:rgba(255,255,255,.96) !important; font-size:17px; line-height:1.58; max-width:700px; }
#rfna2-app .rfna2-top-actions { display:flex; gap:12px; flex-wrap:wrap; }
#rfna2-app .rfna2-btn { border:0; border-radius:16px; padding:14px 20px; font-size:18px; font-weight:800; cursor:pointer; transition:.2s ease; }
#rfna2-app .rfna2-btn--primary { background:#0d7b69; color:#fff; }
#rfna2-app .rfna2-btn--primary:hover { background:#086657; transform:translateY(-1px); }
#rfna2-app .rfna2-btn--secondary { background:rgba(255,255,255,.12); color:#fff; border:1px solid rgba(255,255,255,.34); }
#rfna2-app .rfna2-btn--secondary:hover { background:rgba(255,255,255,.18); }
#rfna2-app .rfna2-hero-side { background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.12); border-radius:24px; padding:18px; backdrop-filter:blur(8px); }
#rfna2-app .rfna2-side-title { margin:0 0 12px; color:#fff; font-size:18px; font-weight:800; }
#rfna2-app .rfna2-lang-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#rfna2-app .rfna2-lang { display:flex; align-items:center; gap:10px; min-height:54px; padding:10px 14px; border-radius:16px; background:#fff; color:#17324c; border:2px solid transparent; font-weight:800; cursor:pointer; text-align:left; }
#rfna2-app .rfna2-lang:hover { border-color:#99f6e4; }
#rfna2-app .rfna2-lang.active { border-color:#facc15; box-shadow:0 0 0 3px rgba(250,204,21,.25); }
#rfna2-app .rfna2-lang-flag { width:24px; height:16px; object-fit:cover; border-radius:3px; flex:0 0 auto; box-shadow:0 0 0 1px rgba(0,0,0,.08); }
#rfna2-app .rfna2-lang-label { color:#17324c !important; font-size:16px; line-height:1.2; display:block; }
#rfna2-app .rfna2-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px; }
#rfna2-app .rfna2-stat { border-radius:18px; padding:16px 14px; background:rgba(255,255,255,.16); color:#fff; min-height:88px; }
#rfna2-app .rfna2-stat-num { font-size:28px; font-weight:800; line-height:1; margin-bottom:6px; }
#rfna2-app .rfna2-main { display:grid; grid-template-columns:260px minmax(0,1fr); gap:16px; margin-top:18px; }
#rfna2-app .rfna2-sidebar, #rfna2-app .rfna2-content > .rfna2-panel, #rfna2-app .rfna2-question, #rfna2-app .rfna2-decision, #rfna2-app .rfna2-summary { background:#fff; border-radius:24px; border:1px solid var(--rfna-line); }
#rfna2-app .rfna2-sidebar { padding:18px; }
#rfna2-app .rfna2-sidebar h3 { margin:0 0 10px; font-size:22px; color:#17324c; }
#rfna2-app .rfna2-progressbar { height:10px; background:#dfeae6; border-radius:999px; overflow:hidden; margin-bottom:10px; }
#rfna2-app .rfna2-progressbar span { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,#0d7b69,#57d0b9); }
#rfna2-app .rfna2-small { color:var(--rfna-muted); font-size:14px; }
#rfna2-app .rfna2-sidebtn { width:100%; text-align:left; padding:14px 16px; margin-top:10px; border-radius:16px; background:#f2f8f5; color:#17324c; border:1px solid #d4e5e0; font-size:18px; font-weight:800; cursor:pointer; }
#rfna2-app .rfna2-sidebtn.active { background:linear-gradient(135deg,#0f766e,#22b7a8); color:#fff; border-color:transparent; }
#rfna2-app .rfna2-content > .rfna2-panel { padding:16px; }
#rfna2-app .rfna2-tabs { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#rfna2-app .rfna2-tab { padding:18px; border-radius:20px; background:#f8fcfb; border:2px solid #d4e5e2; cursor:pointer; color:#17324c; }
#rfna2-app .rfna2-tab.active { border-color:#73d7c9; background:#f3fbf8; }
#rfna2-app .rfna2-tab strong { display:block; font-size:18px; margin-bottom:6px; }
#rfna2-app .rfna2-badges { display:flex; gap:10px; flex-wrap:wrap; margin-top:16px; }
#rfna2-app .rfna2-badge { padding:9px 14px; border-radius:999px; background:#f0f7f5; color:#1f4568; font-size:14px; font-weight:800; border:1px solid #d4e5e2; }
#rfna2-app .rfna2-question-wrap { display:grid; grid-template-columns:minmax(0,1.08fr) 350px; gap:16px; margin-top:12px; }
#rfna2-app .rfna2-question { overflow:hidden; }
#rfna2-app .rfna2-cardhead { display:flex; justify-content:space-between; gap:10px; padding:14px 18px; font-size:14px; color:var(--rfna-muted); background:#f8fcfb; border-bottom:1px solid var(--rfna-line); }
#rfna2-app .rfna2-cardbody { padding:18px; }
#rfna2-app .rfna2-tag { display:inline-block; padding:8px 12px; border-radius:999px; background:#eef8f6; color:#0f766e; font-size:13px; font-weight:800; margin-bottom:12px; }
#rfna2-app .rfna2-question h2 { margin:0 0 12px; font-size:clamp(22px,2.5vw,34px); line-height:1.15; color:#1d2d50; }
#rfna2-app .rfna2-question p { margin:0; font-size:17px; line-height:1.6; color:#51647d; }
#rfna2-app .rfna2-photo-img { width:100%; display:block; max-height:500px; object-fit:contain; background:#f7fbfa; }
#rfna2-app .rfna2-decision { padding:18px; }
#rfna2-app .rfna2-decision h3 { margin:0 0 10px; font-size:18px; color:#1d2d50; }
#rfna2-app .rfna2-decision p { margin:0 0 14px; color:#51647d; line-height:1.6; }
#rfna2-app .rfna2-answer { width:100%; text-align:left; margin-top:10px; border-radius:16px; padding:14px 16px; border:2px solid #d9e8e5; background:#fff; color:#17324c; font-size:18px; font-weight:800; cursor:pointer; }
#rfna2-app .rfna2-answer:hover { border-color:#8fd9cc; background:#f8fcfb; }
#rfna2-app .rfna2-answer.correct { background:#ecfdf5; border-color:#10b981; color:#065f46; }
#rfna2-app .rfna2-answer.incorrect { background:#fff1f2; border-color:#fb7185; color:#9f1239; }
#rfna2-app .rfna2-feedback { margin-top:16px; padding:16px; border-radius:18px; background:#f8fcfb; border:1px solid #d9e8e5; }
#rfna2-app .rfna2-feedback h4 { margin:0 0 6px; font-size:14px; color:#60728f; text-transform:uppercase; letter-spacing:.03em; }
#rfna2-app .rfna2-feedback p { margin:0 0 10px; font-size:16px; color:#17324c; }
#rfna2-app .rfna2-next { margin-top:12px; width:100%; }
#rfna2-app .rfna2-finish { margin-top:16px; padding:20px; border-radius:24px; background:linear-gradient(135deg,#f6fffb,#ffffff); border:1px solid #d6ebe5; }
#rfna2-app .rfna2-finish h2 { margin:0 0 10px; font-size:32px; color:#1d2d50; }
#rfna2-app .rfna2-finish p { margin:0; color:#51647d; font-size:18px; line-height:1.6; }
#rfna2-app .rfna2-checks { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
#rfna2-app .rfna2-summary { padding:18px; }
#rfna2-app .rfna2-summary h3 { margin:0 0 12px; font-size:24px; color:#17324c; }
#rfna2-app .rfna2-summary ul { margin:0; padding-left:20px; }
#rfna2-app .rfna2-summary li { margin-bottom:10px; color:#42556f; line-height:1.5; }
@media (max-width: 980px){
  #rfna2-app .rfna2-hero, #rfna2-app .rfna2-main, #rfna2-app .rfna2-question-wrap, #rfna2-app .rfna2-checks { grid-template-columns:1fr; }
  #rfna2-app .rfna2-wrap { padding:12px; }
}
@media (max-width: 640px){
  #rfna2-app .rfna2-lang-grid, #rfna2-app .rfna2-tabs, #rfna2-app .rfna2-stats { grid-template-columns:1fr; }
  #rfna2-app .rfna2-title { font-size:32px; }
  #rfna2-app .rfna2-intro { font-size:16px; }
  #rfna2-app .rfna2-question h2 { font-size:28px; }
  #rfna2-app .rfna2-btn, #rfna2-app .rfna2-answer, #rfna2-app .rfna2-sidebtn { font-size:16px; }
}
