@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800;900&family=Nunito:wght@700;800;900&display=swap');

:root{--ink:#073f59;--muted:#58778a;--ocean:#087e9e;--deep:#075773;--aqua:#38d2d6;--magenta:#d41484;--gold:#f7c84b;--paper:#f7fcfd;--line:#d6ebef;--danger:#c82c4b;--success:#16865b;--shadow:0 24px 70px rgba(5,72,94,.15)}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Inter,system-ui,sans-serif;background:radial-gradient(circle at 8% 8%,#e6fbe8 0,transparent 25%),radial-gradient(circle at 94% 20%,#f8e8fb 0,transparent 29%),linear-gradient(160deg,#f9fcf9,#eefaff 55%,#fefbff);min-height:100vh}
button,input{font:inherit}
button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,4vw,64px);background:rgba(255,255,255,.92);border-bottom:1px solid rgba(8,126,158,.13);backdrop-filter:blur(18px)}
.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.brand img{width:52px;height:52px;object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(8,88,112,.12)}.brand span{display:grid}.brand strong{font:900 1.2rem Nunito,sans-serif}.brand small{color:var(--muted);font-weight:700}
.app-shell{width:min(1420px,calc(100% - 32px));margin:0 auto 80px}.hero{min-height:520px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;padding:64px clamp(8px,4vw,58px)}
.eyebrow{margin:0 0 12px;color:var(--ocean);font-size:.76rem;font-weight:900;letter-spacing:.24em}.hero h1{font:900 clamp(3rem,6vw,6.1rem)/.94 Nunito,sans-serif;letter-spacing:-.055em;margin:0;max-width:850px}.hero-copy>p:not(.eyebrow){font-size:clamp(1rem,1.5vw,1.25rem);line-height:1.7;color:var(--muted);max-width:740px}
.hero-notice{display:flex;align-items:center;gap:16px;width:min(580px,100%);padding:16px 20px;border:1px solid #f4d36e;border-radius:22px;background:#fffbeb}.hero-notice span{font-size:2rem}.hero-notice p{margin:0;color:#365b69;line-height:1.45}
.portal-art{position:relative;display:grid;place-items:center;min-height:430px}.portal{position:relative;z-index:2;width:min(280px,66vw);aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;color:white;background:radial-gradient(circle,#51e1d9 0 22%,#078aab 23% 48%,#074c75 49% 60%,transparent 61%);filter:drop-shadow(0 30px 35px rgba(3,83,111,.28));animation:float 5s ease-in-out infinite}.portal span{font:900 5rem/1 Nunito}.portal small{text-transform:uppercase;letter-spacing:.2em;font-weight:900}.orbit{position:absolute;border:2px solid rgba(7,126,158,.18);border-radius:50%}.orbit-one{width:360px;height:360px;animation:spin 18s linear infinite}.orbit-two{width:430px;height:280px;transform:rotate(32deg);border-color:rgba(212,20,132,.15)}.turtle{position:absolute;z-index:3;font-size:4rem;transform:translate(130px,120px) rotate(-18deg);filter:drop-shadow(0 10px 10px rgba(2,65,87,.22))}
.panel{background:rgba(255,255,255,.84);border:1px solid rgba(8,126,158,.14);border-radius:34px;box-shadow:var(--shadow);backdrop-filter:blur(18px)}.journey-panel{padding:clamp(24px,4vw,54px)}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:28px}.section-heading h2{font:900 clamp(2rem,4vw,3.4rem)/1 Nunito;margin:0}.section-heading>p{max-width:450px;color:var(--muted);line-height:1.6}
.portal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.sim-card,.loading-card{position:relative;min-height:270px;border:1px solid var(--line);border-radius:26px;padding:24px;background:linear-gradient(145deg,#fff,#f2fbfd);overflow:hidden}.sim-card::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-65px;top:-75px;background:var(--accent,#36cbd1);opacity:.13}.sim-number{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;color:#fff;background:var(--accent,var(--ocean));font:900 1.35rem Nunito}.sim-card h3{font:900 1.45rem Nunito;margin:28px 0 8px}.sim-card p{color:var(--muted);line-height:1.55}.sim-meta{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.status-pill{padding:8px 12px;border-radius:999px;background:#e9f4f6;font-size:.76rem;font-weight:900;text-transform:uppercase}.status-pill.open{color:#096344;background:#e8f9ef}.sim-card button{border:0;border-radius:14px;padding:11px 15px;background:var(--ink);color:white;font-weight:900}.sim-card button:disabled{opacity:.4;cursor:not-allowed}
dialog{border:0;border-radius:28px;padding:0;box-shadow:0 30px 100px rgba(3,53,72,.35);width:min(560px,calc(100% - 28px))}dialog::backdrop{background:rgba(2,36,50,.65);backdrop-filter:blur(5px)}.registration-dialog form{position:relative;padding:36px;display:grid;gap:16px}.registration-dialog h2{font:900 2.2rem Nunito;margin:0}.registration-dialog form>p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.55}.registration-dialog label{display:grid;gap:7px;font-weight:800}.registration-dialog input:not([type=checkbox]){width:100%;padding:13px 15px;border:1px solid #bcdbe2;border-radius:14px;outline:0}.registration-dialog input:focus{border-color:var(--ocean);box-shadow:0 0 0 4px rgba(8,126,158,.12)}.agreement{grid-template-columns:auto 1fr!important;align-items:start;font-size:.9rem;color:var(--muted)}.dialog-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:1.8rem;color:var(--muted)}.primary-button{border:0;border-radius:16px;padding:14px 20px;color:white;background:linear-gradient(135deg,var(--ocean),var(--deep));font-weight:900;box-shadow:0 12px 24px rgba(7,87,115,.2)}
.exam-status{display:flex;align-items:center;gap:18px}.save-state{font-size:.78rem;color:var(--success);font-weight:800}.timer{font:900 1.45rem Nunito;color:var(--ink);font-variant-numeric:tabular-nums;padding:9px 14px;border-radius:13px;background:#edf8fa}.timer.urgent{color:#fff;background:var(--danger);animation:pulse 1s infinite}
.exam-shell{padding:38px 0}.exam-intro{padding:30px;margin-bottom:24px}.exam-intro-row{display:flex;justify-content:space-between;gap:24px}.exam-intro h1{font:900 clamp(2rem,5vw,4rem)/1 Nunito;margin:8px 0}.exam-intro p{color:var(--muted)}.progress-ring{min-width:132px;display:grid;place-content:center;text-align:center;border:11px solid #d9eef1;border-top-color:var(--magenta);border-radius:50%;aspect-ratio:1}.progress-ring strong{font:900 1.8rem Nunito}.progress-ring small{font-weight:800;color:var(--muted)}
.area-divider{margin:42px 0 18px;padding:22px 28px;border-radius:22px;color:#fff;background:linear-gradient(120deg,var(--deep),var(--ocean));box-shadow:0 14px 30px rgba(6,85,111,.18)}.area-divider.math{background:linear-gradient(120deg,#6c257f,var(--magenta))}.area-divider h2{font:900 1.8rem Nunito;margin:0}.area-divider p{margin:6px 0 0;opacity:.85}
.exam-jump{position:sticky;top:79px;z-index:15;display:flex;justify-content:center;gap:9px;margin:0 auto 12px;padding:9px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(5,76,96,.12);width:max-content}.exam-jump a{padding:8px 13px;border-radius:999px;color:var(--ocean);font-weight:900;text-decoration:none}.exam-jump a:hover{background:#eaf7f9}#natureza,#matematica{scroll-margin-top:145px}
.question-card{scroll-margin-top:105px;padding:26px;margin:0 0 16px}.question-card.missing{border:2px solid var(--danger);box-shadow:0 0 0 5px rgba(200,44,75,.08)}.question-header{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.question-number{font:900 1.15rem Nunito}.discipline-tag{padding:6px 10px;border-radius:999px;background:#eaf7f9;color:var(--ocean);font-size:.72rem;font-weight:900}.question-statement{font-size:1.05rem;line-height:1.7;margin-bottom:18px}.question-image{display:block;max-width:100%;max-height:460px;object-fit:contain;margin:16px auto;border-radius:16px}.options{display:grid;gap:10px}.option{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:12px;padding:13px 15px;border:1px solid #d5e7eb;border-radius:15px;background:#fbfefe;transition:.15s}.option:hover{border-color:#83cbd4;background:#f2fbfc}.option:has(input:checked){border-color:var(--magenta);background:#fff3fa;box-shadow:0 0 0 3px rgba(212,20,132,.08)}.option input{margin-top:3px;accent-color:var(--magenta)}.option-letter{font-weight:900;color:var(--ocean)}
.result-page{width:min(1120px,calc(100% - 20px));margin:0 auto 70px}.result-summary{margin-bottom:22px}.review-list{display:grid;gap:16px}.review-card{padding:25px;border-left:6px solid var(--line)}.review-card.correct{border-left-color:var(--success)}.review-card.incorrect{border-left-color:var(--danger)}.review-answer{display:grid;gap:7px;padding:15px 17px;border-radius:15px;background:#f2f8fa;margin:14px 0}.review-card.correct .review-answer strong{color:var(--success)}.review-card.incorrect .review-answer strong{color:var(--danger)}.review-feedback{padding:18px;border-radius:16px;background:#fff9e8;line-height:1.65}.review-feedback>strong{display:block;color:#8b5e00;margin-bottom:7px}
.score-grid,.ranking-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.score-grid{margin:22px 0}.score-grid>div{padding:17px;border-radius:18px;background:#f1fafb}.score-grid small,.score-grid span{display:block;color:var(--muted);font-weight:800}.score-grid strong{display:block;font:900 2rem Nunito;color:var(--ocean)}.ranking-grid{margin:0 0 24px}.ranking-card{padding:21px}.ranking-card h2{font:900 1.2rem Nunito;margin:0}.ranking-card p{color:var(--muted);margin:4px 0 14px}.ranking-card ol{list-style:none;padding:0;margin:0;display:grid;gap:7px}.ranking-card li{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-radius:12px;background:#f5fafb}.ranking-card li.current{background:#fff0f9;box-shadow:inset 0 0 0 2px rgba(212,20,132,.18)}.review-disclosure>summary{cursor:pointer;list-style:none;padding:18px 22px;border-radius:18px;background:linear-gradient(135deg,var(--ocean),#0795ad);color:#fff;font:900 1.15rem Nunito;margin-bottom:16px}.review-disclosure>summary::-webkit-details-marker{display:none}
.submit-panel{position:sticky;bottom:16px;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;margin-top:28px;border-radius:22px;background:rgba(255,255,255,.95);box-shadow:0 18px 50px rgba(3,59,79,.22);border:1px solid var(--line);backdrop-filter:blur(14px)}.submit-panel p{margin:0;color:var(--muted)}.submit-panel strong{color:var(--ink)}
.toast-region{position:fixed;z-index:60;right:20px;top:90px;display:grid;gap:10px}.toast{max-width:380px;padding:15px 18px;border-radius:15px;color:#fff;background:var(--ink);box-shadow:0 14px 40px rgba(0,0,0,.2);animation:toast-in .25s ease}.toast.warning{background:#9a5d00}.toast.error{background:var(--danger)}
.integrity-overlay{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(1,28,40,.82);backdrop-filter:blur(10px)}.integrity-overlay[hidden]{display:none}.integrity-card{width:min(560px,100%);padding:42px;text-align:center;border-radius:30px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.35)}.warning-icon{font-size:3.5rem}.integrity-card h2{font:900 2.2rem Nunito;margin:8px 0}.integrity-card>p:not(.eyebrow){color:var(--muted);line-height:1.6}
.completion{min-height:70vh;display:grid;place-content:center;text-align:center;padding:40px}.completion-card{max-width:740px;padding:50px}.completion-icon{font-size:5rem}.completion h1{font:900 clamp(2.4rem,5vw,4.8rem)/1 Nunito;margin:12px 0}.completion p{color:var(--muted);font-size:1.08rem;line-height:1.7}
@keyframes float{50%{transform:translateY(-12px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.72}}@keyframes toast-in{from{opacity:0;transform:translateY(-8px)}}
@media(max-width:1000px){.hero{grid-template-columns:1fr}.portal-art{min-height:360px}.portal-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.score-grid,.ranking-grid{grid-template-columns:1fr}}
@media(max-width:640px){.app-shell{width:min(100% - 18px,1420px)}.topbar{padding:10px 12px}.brand img{width:42px;height:42px}.brand small{font-size:.7rem}.hero{padding:40px 8px}.hero h1{font-size:3.15rem}.portal-grid{grid-template-columns:1fr}.section-heading,.exam-intro-row,.submit-panel{align-items:stretch;flex-direction:column}.journey-panel{border-radius:24px}.question-card{padding:19px}.exam-status{gap:7px}.save-state{display:none}.timer{font-size:1.05rem}.progress-ring{width:110px;align-self:center}.submit-panel{bottom:8px}.submit-panel button{width:100%}.exam-jump{top:70px;width:100%;border-radius:18px}.exam-jump a{flex:1;text-align:center}}
@media print{body{display:none!important}}
