:root{--teal:#4ECDC4;--teal-dark:#3BAFA7;--teal-light:#e0f7f5;--teal-glow:rgba(78,205,196,0.15);--dark:#111111;--dark-card:#1a1a1a;--dark-border:#2a2a2a;--white:#ffffff;--off-white:#f0f0f0;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--danger:#ef4444;--danger-light:#fee2e2;--radius:12px;--shadow:0 1px 3px rgba(0,0,0,0.12);--shadow-lg:0 10px 25px rgba(0,0,0,0.15);}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:var(--gray-100);color:var(--gray-800);line-height:1.6;-webkit-font-smoothing:antialiased;}

/* HERO */
.hero{background:linear-gradient(135deg,#0a0a0a 0%,#1a1a2e 40%,#16213e 100%);color:var(--white);padding:2.5rem 1.5rem 2rem;text-align:center;position:relative;overflow:hidden;border-bottom:3px solid var(--teal);}
.hero::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(78,205,196,0.08) 0%,transparent 50%);animation:pulse 10s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:0.5;}50%{opacity:1;}}
.hero h1{font-size:clamp(1.8rem,5vw,2.8rem);font-weight:800;margin-bottom:0.25rem;position:relative;letter-spacing:-0.02em;}
.hero h1 .accent{color:var(--teal);}
.hero .tagline{font-size:clamp(0.95rem,2.5vw,1.15rem);opacity:0.9;margin-bottom:0.75rem;position:relative;font-weight:600;letter-spacing:0.02em;}
.hero .subtitle{font-size:clamp(0.85rem,2vw,0.95rem);opacity:0.55;margin-bottom:0.75rem;position:relative;}
.hero .badge{display:inline-block;background:rgba(78,205,196,0.15);border:1px solid rgba(78,205,196,0.4);padding:0.3rem 0.9rem;border-radius:50px;font-size:0.8rem;font-weight:600;color:var(--teal);position:relative;margin-bottom:0.75rem;}
.hero .trust-line{font-size:0.82rem;opacity:0.45;position:relative;margin-top:0.5rem;}

/* CONTAINER */
.container{max-width:720px;margin:0 auto;padding:0 1rem;}

/* NAV */
.nav-tabs{display:flex;gap:0;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);margin:-1.25rem auto 1.5rem;overflow:hidden;position:relative;z-index:10;max-width:720px;}
.nav-tab{flex:1;padding:0.85rem 0.4rem;text-align:center;cursor:pointer;font-weight:600;font-size:0.82rem;color:var(--gray-500);border:none;background:transparent;transition:all 0.3s;border-bottom:3px solid transparent;}
.nav-tab:hover{color:var(--teal-dark);background:var(--teal-light);}
.nav-tab.active{color:var(--teal-dark);border-bottom-color:var(--teal);background:var(--teal-light);}
.nav-tab .tab-icon{font-size:1.2rem;display:block;margin-bottom:0.15rem;}

/* SECTIONS */
.section{display:none;animation:fadeIn 0.4s ease;}.section.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

/* CARDS */
.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.25rem;border:1px solid var(--gray-200);}
.card h2{font-size:1.2rem;font-weight:700;margin-bottom:0.65rem;color:var(--gray-900);}
.card h3{font-size:1.05rem;font-weight:700;margin-bottom:0.5rem;color:var(--gray-800);}
.card p{color:var(--gray-600);margin-bottom:0.7rem;}

/* DARK CARD */
.card-dark{background:var(--dark-card);border:1px solid var(--dark-border);color:var(--off-white);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem;}
.card-dark h2,.card-dark h3{color:var(--white);}
.card-dark p{color:rgba(255,255,255,0.65);}

/* FORM */
label{display:block;font-weight:600;font-size:0.9rem;margin-bottom:0.3rem;color:var(--gray-700);}
.label-hint{font-weight:400;font-size:0.82rem;color:var(--gray-400);}
input[type="number"],input[type="text"],select{width:100%;padding:0.75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;font-size:1rem;color:var(--gray-800);background:var(--white);transition:border-color 0.2s;-moz-appearance:textfield;}
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
input:focus,select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-glow);}
.form-group{margin-bottom:1.25rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
@media(max-width:500px){.form-row{grid-template-columns:1fr;}}

/* OPTIONS */
.option-group{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1rem;}
.option-btn{display:flex;align-items:center;gap:0.75rem;padding:0.8rem 1rem;border:2px solid var(--gray-200);border-radius:8px;cursor:pointer;transition:all 0.2s;background:var(--white);font-size:0.93rem;}
.option-btn:hover{border-color:var(--teal);background:var(--teal-light);}
.option-btn.selected{border-color:var(--teal);background:var(--teal-light);}
.option-btn input{display:none;}
.option-dot{width:20px;height:20px;border-radius:50%;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.2s;}
.option-btn.selected .option-dot{border-color:var(--teal);background:var(--teal);}
.option-btn.selected .option-dot::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--white);}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.8rem 1.5rem;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;border:none;transition:all 0.2s;text-decoration:none;}
.btn-teal{background:var(--teal);color:var(--dark);box-shadow:0 2px 8px rgba(78,205,196,0.3);}
.btn-teal:hover{background:var(--teal-dark);transform:translateY(-1px);box-shadow:0 4px 12px rgba(78,205,196,0.4);}
.btn-teal:disabled{opacity:0.4;cursor:not-allowed;transform:none;}
.btn-outline{background:var(--white);color:var(--teal-dark);border:2px solid var(--teal);}
.btn-outline:hover{background:var(--teal-light);}
.btn-dark{background:var(--dark);color:var(--teal);border:2px solid var(--dark-border);}
.btn-dark:hover{background:var(--dark-card);border-color:var(--teal);}
.btn-block{width:100%;}

/* RESULTS */
.result-card{border-radius:var(--radius);padding:1.5rem;margin-bottom:1rem;text-align:center;}
.result-card.qualify{background:linear-gradient(135deg,#d1fae5,#a7f3d0);border:2px solid var(--success);}
.result-card.partial{background:linear-gradient(135deg,#fef3c7,#fde68a);border:2px solid var(--warning);}
.result-card.no-qualify{background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid var(--danger);}
.result-amount{font-size:clamp(2rem,6vw,3rem);font-weight:800;margin:0.5rem 0;}
.result-card.qualify .result-amount{color:#047857;}
.result-card.partial .result-amount{color:#b45309;}
.result-card.no-qualify .result-amount{color:var(--danger);}
.result-label{font-size:0.85rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;opacity:0.8;}
.result-sublabel{font-size:0.82rem;opacity:0.7;margin-top:0.2rem;}

/* BREAKDOWN */
.breakdown{margin-top:0.75rem;}
.breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:0.6rem 0;border-bottom:1px solid var(--gray-100);font-size:0.93rem;}
.breakdown-row:last-child{border-bottom:none;}
.breakdown-row .label{color:var(--gray-600);}
.breakdown-row .value{font-weight:700;color:var(--gray-900);}
.breakdown-row.highlight{background:var(--teal-light);margin:0 -1.5rem;padding:0.7rem 1.5rem;border-radius:8px;}
.breakdown-row.highlight .value{color:var(--teal-dark);font-size:1.05rem;}
.breakdown-row.total{border-top:2px solid var(--gray-300);padding-top:0.7rem;margin-top:0.25rem;}
.breakdown-row.total .label{font-weight:700;color:var(--gray-900);}
.breakdown-row.total .value{color:var(--success);font-size:1.1rem;}

/* STEPPER / PROGRESS */
.stepper{display:flex;justify-content:center;gap:0.5rem;margin-bottom:1.25rem;}
.step-dot{width:12px;height:12px;border-radius:50%;background:var(--gray-300);transition:all 0.3s;}
.step-dot.active{background:var(--teal);transform:scale(1.2);}
.step-dot.completed{background:var(--success);}
.progress-bar{height:5px;background:var(--gray-200);border-radius:3px;margin-bottom:1.25rem;overflow:hidden;}
.progress-fill{height:100%;background:var(--teal);border-radius:3px;transition:width 0.5s ease;}

/* INFO BOX */
.info-box{background:var(--teal-light);border-left:4px solid var(--teal);border-radius:0 8px 8px 0;padding:0.9rem 1.1rem;margin:0.75rem 0;font-size:0.88rem;color:var(--gray-700);}
.info-box.warning{background:var(--warning-light);border-left-color:var(--warning);}
.info-box.success{background:var(--success-light);border-left-color:var(--success);}
.info-box.danger{background:var(--danger-light);border-left-color:var(--danger);}
.info-box strong{color:var(--gray-900);}

/* FAQ */
.faq-item{border-bottom:1px solid var(--gray-200);padding:0.9rem 0;}
.faq-item:last-child{border-bottom:none;}
.faq-q{font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--gray-900);font-size:0.95rem;}
.faq-q::after{content:'+';font-size:1.3rem;color:var(--teal);transition:transform 0.2s;}
.faq-q.open::after{content:'\2212';}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease;color:var(--gray-600);font-size:0.9rem;line-height:1.7;}
.faq-a.open{max-height:500px;padding-top:0.65rem;}

/* CHECKLIST */
.checklist{list-style:none;padding:0;}
.checklist li{padding:0.45rem 0;padding-left:1.75rem;position:relative;color:var(--gray-600);font-size:0.93rem;}
.checklist li::before{content:'\2713';position:absolute;left:0;color:var(--success);font-weight:700;}
.checklist li.fail::before{content:'\2717';color:var(--danger);}
.checklist li.warn::before{content:'!';color:var(--warning);}

/* SHARE */
.share-bar{display:flex;gap:0.5rem;flex-wrap:wrap;margin-top:0.75rem;}
.share-btn{padding:0.45rem 0.9rem;border-radius:6px;font-size:0.82rem;font-weight:600;cursor:pointer;border:none;display:inline-flex;align-items:center;gap:0.35rem;transition:transform 0.2s;}
.share-btn:hover{transform:translateY(-1px);}
.share-btn.copy{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);}
.share-btn.x{background:#000;color:white;}
.share-btn.fb{background:#1877f2;color:white;}
.share-btn.email-share{background:var(--teal-dark);color:white;}

/* QUIZ */
.quiz-option{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;border:2px solid var(--gray-200);border-radius:8px;cursor:pointer;transition:all 0.2s;background:var(--white);font-size:0.93rem;margin-bottom:0.5rem;}
.quiz-option:hover{border-color:var(--teal);background:var(--teal-light);}
.quiz-option.selected{border-color:var(--teal);background:var(--teal-light);}

/* REPORT PREVIEW */
.report-preview{background:var(--white);border:2px solid var(--gray-200);border-radius:var(--radius);padding:1.25rem;position:relative;overflow:hidden;}
.report-preview::after{content:'SAMPLE';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:3rem;font-weight:900;color:rgba(78,205,196,0.12);pointer-events:none;letter-spacing:0.2em;}
.report-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--teal);padding-bottom:0.75rem;margin-bottom:0.75rem;}
.report-title{font-weight:800;font-size:0.95rem;color:var(--dark);}
.report-meta{font-size:0.75rem;color:var(--gray-400);text-align:right;}
.report-section{margin-bottom:0.75rem;}
.report-section-title{font-weight:700;font-size:0.8rem;color:var(--teal-dark);text-transform:uppercase;letter-spacing:0.05em;margin-bottom:0.3rem;border-bottom:1px solid var(--gray-100);padding-bottom:0.2rem;}
.report-row{display:flex;justify-content:space-between;font-size:0.82rem;padding:0.2rem 0;color:var(--gray-600);}
.report-row .rv{font-weight:600;color:var(--gray-800);}
.report-blurred{filter:blur(3px);user-select:none;}

/* GATE */
.gate-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.92);z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;}
.gate-overlay.hidden{display:none;}
.gate-box{background:var(--white);border-radius:var(--radius);max-width:560px;width:100%;padding:2rem;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px rgba(0,0,0,0.5);}
.gate-box h2{font-size:1.3rem;font-weight:800;margin-bottom:0.5rem;color:var(--dark);}
.gate-box h2 .accent{color:var(--teal);}
.gate-box p{color:var(--gray-600);font-size:0.9rem;margin-bottom:0.75rem;line-height:1.6;}
.gate-box .legal-text{background:var(--gray-100);border-radius:8px;padding:1rem;font-size:0.78rem;color:var(--gray-500);line-height:1.6;max-height:180px;overflow-y:auto;margin-bottom:1rem;border:1px solid var(--gray-200);}
.gate-check{display:flex;align-items:flex-start;gap:0.6rem;margin-bottom:1rem;cursor:pointer;font-size:0.88rem;color:var(--gray-700);}
.gate-check input[type="checkbox"]{margin-top:3px;accent-color:var(--teal);width:18px;height:18px;cursor:pointer;}

/* EXAMPLE BOX */
.example-box{background:var(--gray-100);border:1px dashed var(--gray-300);border-radius:8px;padding:0.9rem 1.1rem;margin:0.65rem 0;font-size:0.88rem;}
.example-box .ex-title{font-weight:700;color:var(--gray-800);margin-bottom:0.3rem;}

/* ANIMATIONS */
.bounce-in{animation:bounceIn 0.5s ease;}
@keyframes bounceIn{0%{transform:scale(0.8);opacity:0;}60%{transform:scale(1.05);}100%{transform:scale(1);opacity:1;}}
.slide-up{animation:slideUp 0.4s ease;}
@keyframes slideUp{from{transform:translateY(20px);opacity:0;}to{transform:translateY(0);opacity:1;}}

.money{font-family:'Georgia',serif;}
.tooltip-trigger{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;background:var(--gray-200);color:var(--gray-500);font-size:0.65rem;font-weight:700;cursor:help;margin-left:0.3rem;vertical-align:middle;}

/* FOOTER */
footer{text-align:center;padding:2rem 1rem 1.5rem;color:var(--gray-400);font-size:0.72rem;border-top:1px solid var(--gray-200);margin-top:2rem;line-height:1.7;}
footer a{color:var(--gray-400);text-decoration:none;}
footer a:hover{color:var(--teal);}

/* PRINT */
@media print{.hero,.nav-tabs,.share-bar,footer,.btn,.gate-overlay{display:none !important;}.section{display:block !important;}.card{break-inside:avoid;border:1px solid #ccc;}}
