:root{
  --bg:#f6f8fb;
  --surface:#ffffff;
  --ink:#182233;
  --muted:#64748b;
  --primary:#154f68;
  --primary-2:#237c92;
  --accent:#b88a44;
  --soft:#e9f3f6;
  --soft-2:#fff7e8;
  --danger:#b42318;
  --ok:#087443;
  --border:#d8e1e8;
  --shadow:0 14px 32px rgba(18,34,51,.12);
  --radius:18px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#eff6f9 0%,var(--bg) 36%,#fff 100%);line-height:1.55}
button,input,textarea{font:inherit}
button{cursor:pointer}
.hero{background:radial-gradient(circle at top right,rgba(184,138,68,.25),transparent 28%),linear-gradient(135deg,#0d3547,#156071 58%,#f7fbfc);color:white;padding:24px clamp(18px,4vw,56px) 48px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-100px;bottom:-130px;width:430px;height:430px;border-radius:50%;background:rgba(255,255,255,.12)}
.topbar{display:flex;justify-content:space-between;gap:16px;align-items:center;position:relative;z-index:1}
.brand{display:flex;align-items:center;gap:14px}
.brand-logo{width:72px;height:72px;object-fit:contain;border-radius:18px;background:#fff;padding:5px;border:1px solid rgba(255,255,255,.65);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.brand-mark{display:inline-grid;place-items:center;width:58px;height:58px;border:2px solid rgba(255,255,255,.65);border-radius:16px;font-weight:800;letter-spacing:.08em;background:rgba(255,255,255,.12)}
.brand small{display:block;color:#d7edf2;margin-top:2px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:28px;align-items:end;position:relative;z-index:1;margin-top:56px}
.eyebrow{margin:0 0 8px;color:var(--accent);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.hero .eyebrow{color:#f3d49a}
h1{font-size:clamp(2.35rem,5vw,5.2rem);line-height:.96;margin:0 0 18px;max-width:980px;letter-spacing:-.045em}
.hero-copy{font-size:clamp(1rem,2vw,1.28rem);max-width:850px;color:#e8f7fa;margin:0 0 28px}
.hero-card{background:rgba(255,255,255,.13);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.hero-card h2{margin-top:0;color:white}
.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.pill-row span{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.1);font-size:.86rem}
.primary-btn,.secondary-btn,.ghost-btn,.danger-btn{border:0;border-radius:999px;padding:11px 18px;font-weight:750;transition:.2s transform,.2s box-shadow,.2s background}.primary-btn{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;box-shadow:0 8px 18px rgba(21,79,104,.25)}.secondary-btn{background:#ecf3f6;color:var(--primary);border:1px solid #c6dbe2}.danger-btn{background:#fff1f0;color:var(--danger);border:1px solid #ffc9c4}.ghost-btn{background:rgba(255,255,255,.12);color:white;border:1px solid rgba(255,255,255,.35)}button:hover{transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.hero-actions,.nav-actions,.modal-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.nav-actions{justify-content:flex-end;margin-top:24px}
main{max-width:1180px;margin:-26px auto 0;padding:0 18px 48px;position:relative;z-index:2}.progress-wrap{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}.progress-labels{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-weight:700}.progress-bar{height:10px;background:#e6edf2;border-radius:999px;overflow:hidden;margin-top:10px}.progress-bar span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--accent),var(--primary-2));transition:width .35s ease}.tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-bottom:16px}.tab{border:1px solid var(--border);border-radius:13px;background:rgba(255,255,255,.82);padding:12px 10px;color:var(--muted);font-weight:800}.tab.active{background:var(--primary);color:white;border-color:var(--primary)}.screen{display:none;background:rgba(255,255,255,.78);border:1px solid var(--border);border-radius:24px;padding:clamp(18px,4vw,36px);box-shadow:var(--shadow)}.screen.active{display:block}.section-heading{max-width:900px;margin-bottom:22px}.section-heading h2{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.05;margin:0 0 12px;letter-spacing:-.035em}.section-heading p{color:var(--muted);margin:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:0 8px 22px rgba(18,34,51,.06)}.card h3{margin-top:0}.card.accent{background:linear-gradient(135deg,#fff,#fdf3df);border-color:#f1d49d}.card.muted{background:#f4f8fa}.card.warning{background:var(--soft-2);border-color:#f0d7a8}.timeline-card{margin-bottom:18px}.timeline-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.timeline-grid div{border:1px solid var(--border);border-radius:16px;background:#f8fbfc;padding:14px}.timeline-grid strong{display:block;color:var(--primary);font-size:1.1rem;margin-bottom:6px}.timeline-grid span{display:block;color:var(--muted);font-size:.92rem;line-height:1.35}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}label{font-weight:750;color:#243346}input,textarea{width:100%;margin-top:8px;border:1px solid #cbd5df;border-radius:14px;padding:12px 13px;background:#fff;color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus{outline:3px solid rgba(35,124,146,.17);border-color:var(--primary-2)}.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.checklist-card{display:grid;gap:12px;margin-bottom:18px}.checklist-card label,.check-grid label{display:flex;gap:10px;align-items:flex-start;font-weight:650}.checklist-card input,.check-grid input{width:auto;margin-top:5px}.concept-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.concept-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:20px;min-height:190px;position:relative;overflow:hidden}.concept-card:before{content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;background:var(--soft)}.concept-card .icon{position:relative;z-index:1;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;font-weight:900}.concept-card h3,.concept-card p{position:relative;z-index:1}.concept-card p{color:var(--muted)}.interactive-line{margin-top:16px}.classify-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;border-top:1px solid var(--border);padding:13px 0}.classify-row:first-child{border-top:0}.mini-btn{border:1px solid #c9dae2;border-radius:999px;background:#f7fbfc;color:var(--primary);padding:8px 12px;font-weight:700}.mini-btn.selected.ok{background:#dcfce7;color:#166534;border-color:#86efac}.mini-btn.selected.no{background:#fee2e2;color:#991b1b;border-color:#fecaca}.case-card{background:linear-gradient(135deg,#0d3547,#237c92);color:white;border-radius:24px;padding:28px;margin-bottom:18px;box-shadow:var(--shadow)}.case-card p{margin:0 0 14px}.case-card p:last-child{margin-bottom:0}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:16px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.score-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}.score-panel>div,.grade-card{background:linear-gradient(135deg,#ffffff,#eef8fb);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.score-label{display:block;color:var(--muted);font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.score-panel strong,.grade-card strong{font-size:1.7rem;color:var(--primary)}.quiz-box{display:grid;gap:16px}.question{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.question h3{margin:0 0 14px;font-size:1.02rem}.option{display:flex;gap:10px;align-items:flex-start;border:1px solid #d8e1e8;border-radius:14px;padding:11px;margin-top:9px;background:#fff}.option input{width:auto;margin:4px 0 0}.feedback{display:none;margin-top:12px;padding:12px;border-radius:14px;background:#f5f9fb;color:#425466;border:1px dashed #bdd2dd}.feedback.show{display:block}.feedback.correct{background:#ecfdf3;border-color:#bbf7d0}.feedback.wrong{background:#fff7ed;border-color:#fed7aa}.report-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:16px}.clean-list{padding-left:20px}.clean-list li{margin:7px 0}.resources{display:grid;gap:10px;margin-top:16px}.resources a{color:var(--primary);font-weight:750}.small{font-size:.9rem;color:var(--muted)}.muted-text{color:var(--muted)}.modal{border:0;border-radius:22px;max-width:540px;padding:0;box-shadow:0 28px 80px rgba(0,0,0,.32)}.modal form{padding:28px}.switch-line{display:flex;gap:10px;align-items:center;margin:12px 0}.switch-line input{width:auto;margin:0}footer{text-align:center;color:var(--muted);padding:24px}.hidden{display:none!important}
@media (max-width:850px){.hero-grid,.two-col,.case-grid,.report-grid{grid-template-columns:1fr}.timeline-grid{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(2,1fr)}.concept-grid{grid-template-columns:1fr}.score-panel{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.topbar{align-items:flex-start}.classify-row{grid-template-columns:1fr 1fr 1fr}}
@media print{.hero,.tabs,.nav-actions,.progress-wrap,footer,.modal{display:none!important}.screen{display:block!important;box-shadow:none;border:0}.card,.question{break-inside:avoid}}

.report-logo-card{display:flex;align-items:center;gap:16px;margin-bottom:16px;background:linear-gradient(135deg,#fff,#f6fbfd)}
.report-logo-card img{width:82px;height:82px;object-fit:contain;border-radius:18px;background:#fff;padding:6px;border:1px solid var(--border);box-shadow:0 8px 18px rgba(18,34,51,.08)}
.report-logo-card h3{margin:0 0 4px;color:var(--primary)}
.report-logo-card p{margin:0;color:var(--muted);font-weight:700}
.footer-logo{width:34px;height:34px;object-fit:contain;border-radius:8px;vertical-align:middle;margin-right:8px;background:#fff;padding:2px;border:1px solid var(--border)}
@media (max-width:520px){.report-logo-card{align-items:flex-start}.report-logo-card img{width:64px;height:64px}.brand-logo{width:52px;height:52px}}
