/* Shared dark palettes; readable account surfaces in every theme. */
:root[data-theme=naruto-young]{color-scheme:dark;--bg:#101b30;--card:#17263d;--panel:#192b47;--raised:#203652;--field:#0e1a2e;--line:#3c5473;--ink:#f2f6ff;--muted:#b6c7df;--brand:#c8510a;--gold:#ffb777;--mint:#a2eb80;--future:#86d1ff;--secondary:#213451;--secondary-line:#547597;--nav-bg:#101b2b;--hero:linear-gradient(120deg,#30334e,#172b4d);--hero-ink:#ecf2ff;--hero-line:#677b91;--hero-button:#c8510a;--hero-button-ink:#fff;--hero-button-line:#f09551;--button-line:#f09551;--read-answer:#a2eb80;--question-ink:#eef3fb;--plain-question:#ffb777;--context-ink:#b9d0ef;--letter-bg:#23334c;--letter-line:#627b99;--badge-bg:#243d5c;--badge-line:#557b9c;--selected-bg:#34394d;--selected-line:#ffb777;--progress-bg:#35455d;--good-bg:#193a2a;--good-line:#64ac78;--bad-bg:#45272e;--bad-line:#d58686;--bad-ink:#ffbdb5;--notice-bg:#283b3e;--notice-line:#7e9898;--notice-ink:#d3f0ee;--resume-bg:#263649;--resume-line:#7c8aa3;--timer-bg:#203c30;--timer-line:#6ba77e;--urgent-bg:#45262b;--urgent-ink:#ffc0b0;--urgent-line:#e17b69}
:root[data-theme=forest]{color-scheme:dark;--bg:#101b14;--card:#1a2b20;--panel:#1d3024;--raised:#2a4230;--field:#102016;--line:#45654a;--ink:#f3f7ef;--muted:#b2c5b0;--brand:#588157;--gold:#c6dfb8;--mint:#a8efba;--future:#c2d8b8;--secondary:#263f2c;--secondary-line:#678967;--nav-bg:#0f1c13;--hero:linear-gradient(120deg,#304e36,#193326);--hero-line:#678967;--hero-ink:#f0f8e9;--hero-button:#588157;--hero-button-ink:#fff;--hero-button-line:#91b18b;--button-line:#91b18b;--read-answer:#a8efba;--plain-question:#d5e8bd;--context-ink:#b4d4bf;--question-ink:#f0f6ec;--letter-bg:#304a35;--letter-line:#779874;--badge-bg:#28452f;--badge-line:#719471;--selected-bg:#35543a;--selected-line:#b0d9a3;--progress-bg:#3a503d;--good-bg:#183d2a;--good-line:#66b586;--bad-bg:#45272b;--bad-line:#ca8284;--bad-ink:#ffc2bf;--notice-bg:#2a4030;--notice-line:#789b74;--notice-ink:#d7eccd;--resume-bg:#2a3d2d;--resume-line:#719471;--timer-bg:#203d2c;--timer-line:#7eaf86;--urgent-bg:#47252a;--urgent-ink:#ffb6b3;--urgent-line:#d78483}
:root[data-theme=mono]{color-scheme:dark;--bg:#111214;--card:#222429;--panel:#282b30;--raised:#34373e;--field:#17191c;--line:#555961;--ink:#f3f4f5;--muted:#c0c4cb;--brand:#62656b;--gold:#eeeeef;--mint:#c6f0d5;--future:#d7dce5;--secondary:#303339;--secondary-line:#747a84;--nav-bg:#17191d;--hero:linear-gradient(120deg,#34373e,#24282e);--hero-line:#747a84;--hero-ink:#f3f4f5;--hero-button:#62656b;--hero-button-ink:#fff;--hero-button-line:#a0a5af;--button-line:#a0a5af;--read-answer:#c6f0d5;--plain-question:#f2f4f7;--question-ink:#f3f4f5;--context-ink:#c1cddd;--letter-bg:#393c44;--letter-line:#9399a4;--badge-bg:#363a43;--badge-line:#838a95;--selected-bg:#444a54;--selected-line:#e5e9ef;--progress-bg:#444a54;--good-bg:#263b30;--good-line:#91bda0;--bad-bg:#442c31;--bad-line:#d49a9d;--bad-ink:#ffd3d4;--notice-bg:#31383d;--notice-line:#8f9fa8;--notice-ink:#e1edf1;--resume-bg:#30353c;--resume-line:#8d98a6}
:root{--asked-ink:var(--plain-question);--noquestion-ink:var(--plain-question);--memory-question:var(--plain-question);--asked-surface:transparent;--future-soft:color-mix(in srgb,var(--future) 10%,transparent)}
html body{background:var(--bg);color:var(--ink)}
.cloud-card,.access-screen .cloud-card{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:20px;box-shadow:none;padding:24px}
.cloud-card h3,.cloud-card label,.cloud-account strong,.cloud-tabs button{color:var(--ink)}
.cloud-card p,.cloud-card small,.access-screen p,.access-note{color:var(--muted)}
.cloud-card input:not([type=checkbox]){color:var(--ink);background:var(--field);border:1px solid var(--secondary-line);min-height:50px;font-size:16px}
.cloud-card input::placeholder{color:var(--muted);opacity:.85}
.cloud-tabs{padding:4px;background:var(--field);border:1px solid var(--line);border-radius:13px}
.cloud-tabs button{background:transparent;border:0;padding:12px 9px;font-size:14px;min-height:44px}
.cloud-tabs button.active{background:var(--secondary);color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.cloud-card .primary{background:var(--brand);color:#fff;border-color:var(--button-line);font-size:15px;min-height:50px}
.cloud-card .back{color:var(--gold);font-size:14px;padding:14px 0}
.cloud-password-control .password-eye{color:var(--ink);background:transparent}
.access-screen{max-width:520px;margin:auto;padding-top:16px}.access-brand{margin-bottom:32px}.access-brand>svg{color:var(--gold)}
.welcome-quote{position:relative;border-left:4px solid var(--brand);padding:10px 0 12px 20px;margin:18px 0 24px}
.welcome-quote h1{font-size:clamp(25px,7vw,36px);line-height:1.3;letter-spacing:-.8px;color:var(--ink);margin:0;max-width:430px}
.welcome-quote>span{display:block;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:4px;margin-top:20px}
.welcome-copy{font-size:15px;line-height:1.7}.access-choices .secondary{background:var(--secondary);color:var(--ink);border-color:var(--secondary-line)}
:root dialog{background:var(--card);color:var(--ink);border-color:var(--secondary-line);box-shadow:0 24px 80px #0007}dialog p{color:var(--muted)}dialog::backdrop{background:#02070dc9}
.account-signout{max-width:390px;padding:26px}.account-signout h2{font-size:26px}.account-signout .signout-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:var(--raised);font-size:28px;margin-bottom:18px}.account-signout button{display:block;width:100%;margin-top:12px;min-height:46px}.account-signout .danger{background:#9f263a;color:#fff;border:1px solid #ee8295;border-radius:12px}.account-signout p{font-size:14px;line-height:1.7}.account-signout .small-copy{font-size:12px}
#access-gate{position:fixed;inset:0;z-index:10000;background:var(--bg);color:var(--ink);overflow:auto;padding:clamp(20px,7vw,48px);display:flex;align-items:center;justify-content:center}#access-gate[hidden]{display:none}
.access-gate-card{width:100%;max-width:440px;border:1px solid var(--line);border-radius:24px;padding:28px;background:var(--card);text-align:center}.access-gate-card h1{font-size:29px;line-height:1.2;margin:18px 0}.access-gate-card p{color:var(--muted);font-size:15px;line-height:1.75}.access-gate-symbol{display:grid;place-items:center;width:64px;height:64px;font-size:32px;border-radius:20px;background:var(--raised);margin:0 auto 18px}.access-state{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:700}.access-state.blocked{background:#4b2331;color:#ffc0ca;border:1px solid #a7566b}.access-gate-card .secondary,.access-gate-card .back{width:100%;min-height:46px;margin-top:13px}.whatsapp-contact{display:flex;align-items:center;justify-content:center;gap:8px;background:#1d6b48;color:#f1fff4;border:1px solid #62be87;border-radius:12px;padding:15px;font-size:15px;font-weight:750;text-decoration:none}.access-gate-card>small{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin-top:14px}
.welcome-notice{padding:24px;max-width:390px;text-align:center;border:2px solid var(--gold)}.welcome-notice-top{display:flex;flex-direction:column;align-items:center;gap:18px}.welcome-chip{font-size:10px;letter-spacing:1.3px;color:var(--gold);font-weight:800}.welcome-notice img{object-fit:cover;border-radius:50%;border:3px solid var(--gold);background:var(--raised)}.welcome-notice h2{font-size:27px;line-height:1.2;margin:20px 0}.welcome-notice .welcome-free{background:var(--raised);border:1px solid var(--gold);border-radius:16px;padding:16px;color:var(--ink)}.welcome-free strong{display:block;color:var(--gold);font-size:39px;line-height:1.1}.welcome-free span{display:block;margin-top:7px;font-weight:700;font-size:14px}.welcome-notice p{font-size:14px;line-height:1.65}.welcome-notice .welcome-save{color:var(--mint);font-size:13px}.welcome-notice .primary{width:100%;justify-content:center;margin-top:10px;background:var(--brand);color:#fff;border-color:var(--button-line);min-height:48px}
.compact-modes .reader-mode{padding:12px 10px;min-height:110px;align-items:center;gap:10px;background:var(--card);color:var(--ink)}.compact-modes .guide-cover{display:block;width:43px;height:67px;object-fit:contain;flex:none;border-radius:3px}.compact-modes .reader-mode h3{font-size:12px;line-height:1.4;color:var(--ink)}.compact-modes .reader-mode small{font-size:10px;line-height:1.5;color:var(--muted)}.compact-modes .reader-mode strong{font-size:10px;color:var(--gold)}
.theme-preview.forest{background:#15261b}.theme-preview.forest i:nth-child(1){background:#588157}.theme-preview.forest i:nth-child(2){background:#a3b18a}.theme-preview.forest i:nth-child(3){background:#fff}.theme-preview.mono{background:#222429}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Past examinations use a quieter green identity and a compact entry. */
.psa-entry{display:flex;align-items:center;gap:14px;width:100%;padding:20px;margin:16px 0 20px;text-align:left;border:1px solid #6a936c;border-radius:17px;background:linear-gradient(115deg,#203c2c,#172e27);color:#f1f8ec;min-height:114px}.psa-entry-icon{font-size:31px;flex:none}.psa-entry>span:nth-child(2){flex:1;min-width:0}.psa-entry small{display:block;color:#b7d4b2;font-size:9px;letter-spacing:1.1px;font-weight:700}.psa-entry strong{display:block;font-size:22px;letter-spacing:-.4px;margin:7px 0}.psa-entry em{font-size:12px;font-style:normal;color:#c3d4c9}.psa-entry>b{font-size:25px;color:#b0d79f}.psa-hub{--psa:#b8d9a9}.psa-kicker{color:#a2c995;font-size:10px;letter-spacing:1.7px;font-weight:800}.psa-hub h1{font-size:29px;line-height:1.2;margin:14px 0}.psa-hub>p{font-size:14px;color:var(--muted);line-height:1.7}.psa-model-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 15px}.psa-model-tabs button{background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:12px;padding:15px;font-size:15px;font-weight:750}.psa-model-tabs small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.psa-model-tabs button.active{border-color:#abd19c;background:#274333;color:#efffe8}.psa-model-tabs button.active small{color:#c6dfbd}.psa-model-card{position:relative;border:1px solid #6d936e;border-radius:19px;padding:23px;background:#1a3027;color:#edf5eb}.psa-model-stamp{font-size:10px;color:#b2cda9;letter-spacing:2px}.psa-model-card h2{font-size:31px;margin:12px 0}.psa-model-card>p{color:#bdcebf;font-size:13px;line-height:1.7}.psa-view,.psa-start,.psa-resume{width:100%;min-height:49px;border-radius:11px;font-size:14px;padding:14px;display:block;text-align:center}.psa-view{border:1px solid #769e77;background:#294b36;color:#edfce8}.psa-view small{display:block;margin-top:6px;font-size:11px;color:#bdd3b6}.psa-time{margin:21px 0}.psa-time>span{display:block;font-size:12px;color:#c6d9c1;margin-bottom:9px}.psa-time>div{display:flex;gap:6px}.psa-time button{flex:1;min-height:41px;font-size:11px;border:1px solid #59785d;border-radius:8px;background:#15271e;color:#d4e4cc;padding:9px 5px}.psa-time button.active{background:#b4cf9f;color:#16291b;border-color:#c5e0b1;font-weight:800}.psa-start{background:#588157;border:1px solid #a8c799;color:#fff;font-weight:800}.psa-start span{margin-left:10px}.psa-resume{background:#243e2e;color:#d4edca;border:1px solid #779e70;margin-top:12px}.psa-note{display:block;color:#b7c9b6;font-size:11px;line-height:1.7;margin-top:15px}.psa-session .quiz-mode:before{content:'PSA 26 · PRÁCTICA';display:block;color:#b8d7a8;font-size:9px;letter-spacing:1px;margin-right:8px}.psa-session .answer.chosen{background:#284a35;border-color:#abd09c}.psa-session .answer.chosen .letter{background:#a6c992;color:#132417;border-color:#d4edc5}.psa-session .exam-submit{background:#588157;border-color:#a8c799;color:#fff}.psa-session .session-progress{border-top-color:#739c6e}.psa-session .primary:not(.exam-submit){background:#588157;border-color:#a8c799;color:#fff}

:root[data-theme=forest] .primary,.psa-start,.psa-session .primary{background:#4f754e;color:#fff}

.emoji-icon{display:inline-block!important;vertical-align:-.18em;width:1.2em!important;height:1.2em!important;object-fit:contain!important;border:0!important;border-radius:0!important;margin:0 .1em!important;background:transparent!important}.signout-icon .emoji-icon,.access-gate-symbol .emoji-icon{width:34px!important;height:34px!important}.welcome-notice .welcome-notice-top>img:not(.emoji-icon){width:120px;height:120px}.psa-entry-icon .emoji-icon{width:32px!important;height:32px!important}

.welcome-notice h2 .emoji-icon{filter:brightness(0) invert(1)}
