*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
[hidden]{display:none!important;}
:root{
  --bg:#0b0f14;--surface:#151a21;--surface2:#20262f;
  --surface3:#28303a;--border:#303842;--border-soft:rgba(139,148,158,.18);
  --accent:#e6a817;--accent-strong:#f2bd33;--accent-dim:rgba(230,168,23,0.12);
  --correct:#3fb950;--correct-dim:rgba(63,185,80,0.12);
  --wrong:#f85149;--wrong-dim:rgba(248,81,73,0.12);
  --warn:#f97316;
  --text:#eef3f8;--text-muted:#a0a9b4;--text-dim:#77818d;--radius:8px;
  --shadow-card:0 14px 34px rgba(0,0,0,.22);
  --shadow-soft:0 8px 22px rgba(0,0,0,.18);
  --hairline:1px solid rgba(255,255,255,.045);
  --page-max:1180px;--page-pad:clamp(10px,2.4vw,28px);--layout-gap:clamp(10px,1.4vw,18px);
  --tap-min:44px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
}
html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overflow:hidden;touch-action:pan-y;background:var(--bg);overscroll-behavior:none;}
body{position:fixed;inset:0;width:100%;height:100%;background:linear-gradient(180deg,#0b0f14 0%,#0d1218 42%,#0b0f14 100%);color:var(--text);font-family:'Inter',sans-serif;font-size:15px;line-height:1.6;overflow:hidden;overscroll-behavior:none;-webkit-overflow-scrolling:auto;-webkit-tap-highlight-color:transparent;touch-action:pan-y;}
button,input,select,textarea{font:inherit;}
button{touch-action:manipulation;}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role="button"]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;}

/* Capa PWA/mobile: evita seleccion/copia directa y mejora el toque. */
html,body,#app,.app-shell,.screen,.modal,.modal-panel,.law-full-body,.laws-reader-body,
button,[role="button"],summary,label,
.app-header,.mobile-tabbar,.mobile-tab,.app-badge,.app-plan-badge,.profile-plan-badge,
.mode-card,.pill,.filter-toggle,.etiq-group-toggle,.submode-btn,.exam-type-card,.exam-audience-card,
.q-text,.option-btn,.option-letter,.option-text,.option-feedback,.nota-ley,.nota-ley-text,
.q-nav,.btn-skip,.btn-next,.btn-primary,.btn-secondary,.btn-ghost,
.profile-access-toggle,.profile-access-reset,.profile-purchase-sim,.profile-edit-btn,
.stats-tab,.hist-item,.news-card,.paywall-plan,.result-actions,.modal-btns,.toast-libre,
.app-info-lead,.app-info-copy,.news-body,.terms-body,.legal-copy{
  -webkit-tap-highlight-color:transparent;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
  touch-action:manipulation;
}
input,textarea,select,.contact-form{
  -webkit-touch-callout:default;
  -webkit-user-select:text;
  user-select:text;
}
@media(hover:none){
  button:not(:disabled),[role="button"],summary,
  .mode-card,.pill,.filter-toggle,.etiq-group-toggle,.mobile-tab,.hist-item,.news-card,.paywall-plan{
    transition:transform .12s ease,border-color .15s ease,background .15s ease,filter .15s ease,box-shadow .15s ease;
  }
  button:not(:disabled):active,[role="button"]:active,summary:active,
  .mode-card:active,.pill:active,.filter-toggle:active,.etiq-group-toggle:active,
  .mobile-tab:active,.hist-item:active,.news-card:active,.paywall-plan:active{
    transform:scale(.985);
    filter:brightness(1.06);
  }
  .option-btn:not(:disabled):active{
    transform:scale(.992);
    border-color:var(--accent);
  }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
}
.shell{width:min(calc(100% - (var(--page-pad) * 2) - var(--safe-left) - var(--safe-right)),var(--page-max));max-width:none;height:100dvh;margin:0 auto;padding:var(--safe-top) 0 var(--safe-bottom);overflow-x:hidden;overflow-y:auto;overscroll-behavior:none;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;}
.screen-enter{animation:screenEnter .22s ease-out both;}
@keyframes screenEnter{from{opacity:.72;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
@media(min-width:1360px){:root{--page-max:1280px;}}
@media(min-width:1680px){:root{--page-max:1400px;}}
.app-header{position:sticky;top:0;z-index:90;display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:10px 12px;border:var(--hairline);border-radius:0 0 14px 14px;background:rgba(21,26,33,.78);box-shadow:var(--shadow-soft);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.app-badge{appearance:none;-webkit-appearance:none;background:rgba(230,168,23,.14);color:var(--accent-strong);border:1px solid rgba(230,168,23,.36);font:inherit;font-size:10px;font-weight:850;letter-spacing:.08em;line-height:1.1;padding:3px 8px;border-radius:999px;text-transform:uppercase;cursor:pointer;}
.app-badge:hover{border-color:rgba(230,168,23,.58);background:rgba(230,168,23,.2);}
.app-title{font-family:'Inter',sans-serif;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1px;flex:1;cursor:pointer;line-height:1.05;min-width:0;}
.brand-mark{font-size:24px;font-weight:650;letter-spacing:.035em;line-height:1;text-transform:uppercase;color:var(--accent);}
.brand-accent{color:var(--accent);}
.brand-accent{font-weight:950;}
.brand-era{color:var(--accent);font-weight:650;}
.brand-subtitle{font-size:11px;font-weight:650;letter-spacing:0;color:var(--text-muted);line-height:1.25;text-transform:none;}
.app-plan-badge,.profile-plan-badge{display:none;align-items:center;justify-content:center;min-height:24px;border:1px solid rgba(230,168,23,.5);border-radius:999px;background:linear-gradient(135deg,rgba(230,168,23,.22),rgba(63,185,80,.12));color:var(--accent);font-size:10px;font-weight:950;letter-spacing:.12em;line-height:1;padding:6px 9px;text-transform:uppercase;box-shadow:0 0 0 1px rgba(230,168,23,.08) inset;}
.app-plan-badge.visible,.profile-plan-badge.visible{display:inline-flex;}
.mobile-tab .app-plan-badge{align-self:center;margin-left:3px;min-height:16px;padding:3px 5px;border-radius:6px;font-size:8px;letter-spacing:.08em;box-shadow:none;}
.profile-plan-badge{margin-top:2px;flex-shrink:0;}
@media(max-width:520px){
  .brand-mark{font-size:21px;letter-spacing:.035em;}
  .brand-subtitle{font-size:10px;letter-spacing:0;}
}
#user-display{width:36px;height:36px;border-radius:50%;background:var(--surface2);border:2px solid var(--border);font-family:monospace;font-weight:700;font-size:12px;color:var(--text-dim);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;letter-spacing:.04em;flex-shrink:0;}
.app-header #user-display{display:none;}
#user-block-home,#profile-identity-block{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)) var(--surface);border:1px solid var(--user-block-border,var(--border));border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow-soft);transition:border-color .15s,transform .15s,box-shadow .15s;}
#profile-identity-block{position:relative;padding-bottom:48px;}
#user-block-home{cursor:pointer;}
#user-block-home:hover{border-color:rgba(230,168,23,.46);box-shadow:var(--shadow-card);}
.user-block-row{display:flex;align-items:center;gap:12px;}
#ub-avatar,#profile-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(145deg,var(--surface3),var(--surface2));border:1px solid rgba(230,168,23,.24);display:flex;align-items:center;justify-content:center;font-family:monospace;font-weight:800;font-size:14px;letter-spacing:.04em;color:var(--accent);box-shadow:0 0 0 3px rgba(230,168,23,.055);flex-shrink:0;}
.user-block-main{flex:1;min-width:0;}
#ub-name,#profile-name{font-size:15px;font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#ub-tags,#profile-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;min-height:22px;}
.user-block-chevron{color:var(--text-dim);font-size:20px;flex-shrink:0;line-height:1;}
#ub-status,#profile-status{font-size:12px;margin-top:9px;padding:7px 11px;border-radius:7px;display:none;}
#ub-status.complete,#profile-status.complete{background:rgba(63,185,80,.08);color:var(--correct);border:1px solid rgba(63,185,80,.2);}
#ub-status.partial,#profile-status.partial{background:rgba(249,115,22,.07);color:var(--warn);border:1px solid rgba(249,115,22,.2);}
#ub-status.incomplete,#profile-status.incomplete{background:rgba(248,81,73,.07);color:var(--wrong);border:1px solid rgba(248,81,73,.2);}
.user-block-cta{display:inline-block;margin-left:8px;padding:2px 10px;background:var(--accent);color:#000;font-size:11px;font-weight:700;border-radius:5px;border:none;cursor:pointer;}
.user-block-tag{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;background:rgba(255,255,255,.025);border:1px solid var(--border-soft);color:var(--text-muted);}
.user-block-tag.accent{background:var(--accent-dim);border-color:rgba(230,168,23,.3);color:var(--accent);}
.profile-edit-btn{position:absolute;right:14px;bottom:12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font:inherit;font-size:12px;font-weight:750;padding:6px 10px;cursor:pointer;}
.profile-edit-btn:hover{border-color:var(--accent);color:var(--accent);}
.profile-guidance-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-4px 0 14px;padding:11px 12px;border-radius:8px;border:1px solid rgba(230,168,23,.24);background:rgba(230,168,23,.055);}
.profile-guidance-card[hidden]{display:none;}
.profile-guidance-card.required{border-color:rgba(248,81,73,.28);background:rgba(248,81,73,.045);}
.profile-guidance-card.partial{border-color:rgba(230,168,23,.28);background:rgba(230,168,23,.055);}
.profile-guidance-main{min-width:0;}
.profile-guidance-title{font-size:12px;font-weight:850;color:var(--text);margin-bottom:2px;}
.profile-guidance-copy{font-size:12px;line-height:1.42;color:var(--text-muted);}
.profile-guidance-action{flex:0 0 auto;min-height:34px;border:1px solid rgba(230,168,23,.42);border-radius:8px;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:12px;font-weight:850;cursor:pointer;padding:7px 10px;white-space:nowrap;}
.profile-guidance-card.required .profile-guidance-action{border-color:rgba(248,81,73,.32);background:rgba(248,81,73,.07);color:var(--wrong);}
.profile-guidance-action:hover{filter:brightness(1.08);}
.profile-access-review{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(13,17,23,.28);border:1px dashed rgba(139,148,158,.32);border-radius:8px;padding:11px 12px;margin:-4px 0 14px;}
.profile-access-review[hidden]{display:none;}
.profile-access-review.pro{border-color:rgba(63,185,80,.32);background:rgba(63,185,80,.055);}
.profile-access-title{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;}
.profile-access-desc{font-size:12px;color:var(--text-dim);line-height:1.4;}
.profile-access-note{font-size:11px;color:var(--correct);line-height:1.35;margin-top:5px;}
.profile-access-note.used{color:var(--warn);}
.profile-access-actions{display:flex;flex-direction:column;align-items:stretch;gap:7px;flex:0 0 auto;}
.profile-access-beta-tools{border:1px dashed rgba(139,148,158,.22);border-radius:8px;background:rgba(13,17,23,.18);padding:0;overflow:hidden;}
body:not(.extera-debug) .profile-access-beta-tools{display:none!important;}
body.extera-debug .profile-access-beta-tools{display:block;}
.profile-access-beta-tools summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:var(--text-dim);font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;padding:8px 9px;user-select:none;}
.profile-access-beta-tools summary::-webkit-details-marker{display:none;}
.profile-access-beta-tools summary::after{content:'▾';flex:0 0 auto;color:var(--text-dim);line-height:1;transition:transform .16s ease;}
.profile-access-beta-tools[open] summary::after{transform:rotate(180deg);display:inline-block;}
.profile-access-beta-tools[open]{padding-bottom:8px;}
.profile-access-beta-tools .profile-access-toggle,.profile-access-beta-tools .profile-access-reset,.profile-access-beta-tools .profile-purchase-sim{margin:0 8px 7px;}
.profile-access-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:178px;}
.profile-access-toggle button{min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text-muted);font:inherit;font-size:12px;font-weight:800;cursor:pointer;}
.profile-access-toggle button.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);}
.profile-access-review.pro .profile-access-toggle button.active{border-color:rgba(63,185,80,.45);background:rgba(63,185,80,.1);color:var(--correct);}
.profile-purchase-sim{display:grid;gap:5px;color:var(--text-dim);font-size:11px;font-weight:800;}
.profile-purchase-sim select{min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font:inherit;font-size:12px;padding:0 8px;}
.profile-access-reset{min-height:32px;border:1px dashed rgba(249,115,22,.35);border-radius:8px;background:rgba(249,115,22,.07);color:var(--warn);font:inherit;font-size:11px;font-weight:800;cursor:pointer;padding:6px 8px;}
.profile-access-reset:hover{background:rgba(249,115,22,.12);}
.profile-access-paywall{min-height:34px;border:1px solid rgba(230,168,23,.45);border-radius:8px;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:12px;font-weight:850;cursor:pointer;padding:7px 10px;}
.profile-access-paywall:hover{background:rgba(230,168,23,.13);}
.profile-auth-review{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(13,17,23,.28);border:1px solid rgba(139,148,158,.24);border-radius:8px;padding:11px 12px;margin:12px 0 0;}
.profile-auth-review.signed{border-color:rgba(56,189,248,.34);background:linear-gradient(180deg,rgba(56,189,248,.075),rgba(63,185,80,.045));}
.profile-auth-review.signed{align-items:flex-start;}
.profile-auth-review>div:first-child{flex:1 1 auto;min-width:0;}
.profile-auth-head{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-bottom:3px;}
.profile-auth-title{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;}
.profile-auth-desc{font-size:12px;color:var(--text-dim);line-height:1.4;}
.profile-auth-connected{display:inline-flex;align-items:center;gap:5px;color:#9ee7d2;font-size:13px;font-weight:750;line-height:1.35;}
.profile-auth-connected strong{color:#b8efff;font-weight:900;overflow-wrap:anywhere;}
.profile-auth-plan-inline{flex:0 0 auto;margin:0;}
.profile-auth-head .app-plan-badge.visible{display:inline-flex;margin:0;}
.profile-auth-plan-free{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:22px;border:1px solid rgba(139,148,158,.24);border-radius:999px;background:rgba(139,148,158,.08);color:var(--text-muted);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:3px 8px;}
.profile-auth-plan-pending{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:22px;border:1px solid rgba(230,168,23,.28);border-radius:999px;background:rgba(230,168,23,.08);color:var(--warn);font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:3px 8px;}
.profile-auth-note{font-size:11px;color:var(--text-muted);line-height:1.35;margin-top:5px;}
.profile-auth-note.warn{color:var(--warn);}
.profile-auth-actions{display:flex;flex-direction:column;gap:7px;min-width:260px;}
.profile-auth-review.signed .profile-auth-actions{align-items:stretch;align-self:flex-start;min-width:min(520px,52vw);}
.profile-auth-provider-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
.profile-auth-provider-row button,.profile-auth-email-row button,.profile-auth-signout,.profile-auth-refresh{min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:7px 9px;}
.profile-auth-provider-row button:hover,.profile-auth-email-row button:hover{border-color:rgba(230,168,23,.45);color:var(--accent);}
.profile-auth-email-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;}
.profile-auth-password-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;min-width:min(520px,52vw);}
.profile-auth-provider-row,.profile-auth-link-row{display:none!important;}
.profile-auth-review.signed .profile-auth-provider-row,
.profile-auth-review.signed .profile-auth-link-row,
.profile-auth-review.signed .profile-auth-password-row{display:none!important;}
.profile-auth-email-row input{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;padding:7px 9px;}
.profile-auth-session-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap;}
.profile-auth-review:not(.signed) .profile-auth-session-actions{display:none;}
.profile-auth-refresh{display:inline-flex;align-items:center;justify-content:center;border-color:rgba(230,168,23,.36);background:rgba(230,168,23,.08);color:var(--accent);}
.profile-auth-refresh:hover{border-color:rgba(230,168,23,.6);background:rgba(230,168,23,.13);}
.profile-auth-signout{display:none;border-style:dashed;color:var(--text-muted);}
.profile-auth-review.signed .profile-auth-signout{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:30px;border-color:rgba(56,189,248,.35);background:rgba(56,189,248,.08);color:#b8efff;padding:5px 9px;}
.profile-auth-review.signed .profile-auth-signout:hover{border-color:rgba(56,189,248,.62);background:rgba(56,189,248,.13);}
.profile-advanced-account{border:1px solid rgba(139,148,158,.2);border-radius:8px;background:rgba(13,17,23,.18);margin:-2px 0 14px;overflow:hidden;}
.profile-advanced-account summary{display:flex;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer;user-select:none;padding:10px 12px;color:var(--text-muted);}
.profile-advanced-account summary::-webkit-details-marker{display:none;}
.profile-advanced-account summary span{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
.profile-advanced-account summary strong{font-size:12px;font-weight:800;color:var(--text-dim);text-align:right;}
.profile-advanced-account summary::after{content:'▾';flex:0 0 auto;color:var(--text-dim);font-size:12px;transition:transform .16s ease;}
.profile-advanced-account[open] summary::after{transform:rotate(180deg);}
.profile-advanced-account-body{display:grid;gap:10px;border-top:1px solid rgba(139,148,158,.16);padding:10px;}
.profile-advanced-account .profile-sync-review,.profile-advanced-account .profile-devices-review,.profile-advanced-account .profile-reminders-review,.profile-advanced-account .profile-diagnostic-review{margin:0;}
.profile-sync-review{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(13,17,23,.22);border:1px solid rgba(139,148,158,.2);border-radius:8px;padding:11px 12px;margin:0 0 14px;}
.profile-sync-review.ready{border-color:rgba(63,185,80,.32);background:rgba(63,185,80,.05);}
.profile-sync-review.pending{border-color:rgba(230,168,23,.36);background:rgba(230,168,23,.06);}
.profile-sync-review.offline{border-color:rgba(249,115,22,.3);background:rgba(249,115,22,.055);}
.profile-sync-title{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;}
.profile-sync-desc{font-size:12px;color:var(--text-dim);line-height:1.4;}
.profile-sync-note{font-size:11px;color:var(--text-muted);line-height:1.35;margin-top:5px;}
.profile-sync-facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.profile-sync-facts span{display:inline-flex;align-items:center;min-height:24px;border:1px solid rgba(139,148,158,.24);border-radius:999px;background:rgba(139,148,158,.08);color:var(--text-muted);font-size:10.5px;font-weight:800;line-height:1.2;padding:4px 8px;}
.profile-sync-facts span.ok{border-color:rgba(63,185,80,.28);background:rgba(63,185,80,.08);color:var(--correct);}
.profile-sync-facts span.warn{border-color:rgba(230,168,23,.32);background:rgba(230,168,23,.08);color:var(--accent);}
.profile-sync-facts span.muted{color:var(--text-dim);}
.profile-sync-actions{display:flex;align-items:center;justify-content:flex-end;min-width:156px;}
.profile-sync-actions button{min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:7px 10px;}
.profile-sync-actions button:hover{border-color:rgba(230,168,23,.45);color:var(--accent);}
.profile-sync-actions button:disabled{opacity:.45;cursor:not-allowed;}
.profile-devices-review,.profile-reminders-review{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:rgba(13,17,23,.2);border:1px solid rgba(139,148,158,.2);border-radius:8px;padding:11px 12px;margin:0 0 14px;}
.profile-devices-review{border-color:rgba(63,185,80,.2);background:rgba(63,185,80,.035);}
.profile-reminders-review{border-color:rgba(230,168,23,.2);background:rgba(230,168,23,.035);}
.profile-devices-title,.profile-reminders-title{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;}
.profile-devices-desc,.profile-reminders-desc,.profile-devices-note{font-size:12px;color:var(--text-dim);line-height:1.4;}
.profile-devices-note{margin-top:5px;color:var(--text-muted);}
.profile-devices-list{display:grid;gap:7px;margin-top:9px;}
.profile-device-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(139,148,158,.18);border-radius:8px;background:rgba(13,17,23,.2);padding:8px 9px;}
.profile-device-row.current{border-color:rgba(63,185,80,.28);background:rgba(63,185,80,.07);}
.profile-device-row.revoked{opacity:.58;}
.profile-device-row strong{display:block;font-size:12px;color:var(--text);line-height:1.25;}
.profile-device-row span{display:block;margin-top:2px;font-size:11px;color:var(--text-dim);line-height:1.3;}
.profile-devices-actions,.profile-reminders-frequency{display:flex;align-items:center;justify-content:flex-end;min-width:172px;}
.profile-devices-actions button{min-height:34px;border:1px solid rgba(248,81,73,.26);border-radius:8px;background:rgba(248,81,73,.06);color:var(--wrong);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:7px 10px;}
.profile-devices-actions button:hover{background:rgba(248,81,73,.1);}
.profile-devices-actions button:disabled{border-color:rgba(139,148,158,.18);background:rgba(139,148,158,.06);color:var(--text-dim);cursor:not-allowed;}
.profile-reminders-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin-top:9px;}
.profile-reminders-options label,.profile-reminders-frequency{color:var(--text-muted);font-size:12px;font-weight:750;line-height:1.35;}
.profile-reminders-options input{accent-color:var(--accent);}
.profile-reminders-frequency{flex-direction:column;align-items:stretch;gap:5px;}
.profile-reminders-frequency select{min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font:inherit;font-size:12px;padding:0 8px;}
.profile-diagnostic-review{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(13,17,23,.18);border:1px solid rgba(139,148,158,.18);border-radius:8px;padding:11px 12px;margin:-4px 0 14px;}
.profile-diagnostic-review.ok{border-color:rgba(63,185,80,.28);background:rgba(63,185,80,.04);}
.profile-diagnostic-review.warn{border-color:rgba(230,168,23,.32);background:rgba(230,168,23,.045);}
.profile-diagnostic-review.error{border-color:rgba(248,81,73,.28);background:rgba(248,81,73,.045);}
.profile-diagnostic-title{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:2px;}
.profile-diagnostic-desc{font-size:12px;color:var(--text-dim);line-height:1.4;}
.profile-diagnostic-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.profile-diagnostic-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px solid var(--border);border-radius:999px;background:rgba(139,148,158,.08);color:var(--text-muted);font-size:11px;font-weight:750;line-height:1.2;padding:5px 8px;}
.profile-diagnostic-pill.ok{border-color:rgba(63,185,80,.28);background:rgba(63,185,80,.08);color:var(--correct);}
.profile-diagnostic-pill.warn{border-color:rgba(230,168,23,.32);background:rgba(230,168,23,.08);color:var(--accent);}
.profile-diagnostic-pill.error{border-color:rgba(248,81,73,.32);background:rgba(248,81,73,.08);color:var(--wrong);}
.profile-diagnostic-actions{display:flex;align-items:center;justify-content:flex-end;min-width:156px;}
.profile-diagnostic-actions button{min-height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font:inherit;font-size:12px;font-weight:800;cursor:pointer;padding:7px 10px;}
.profile-diagnostic-actions button:hover{border-color:rgba(230,168,23,.45);color:var(--accent);}
.profile-diagnostic-actions button:disabled{opacity:.45;cursor:not-allowed;}
.profile-backend-beta{margin-top:10px;padding:10px;border:1px dashed rgba(139,148,158,.22);border-radius:8px;background:rgba(13,17,23,.18);}
.profile-backend-beta-title{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px;}
.profile-backend-beta-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:7px;}
.profile-backend-beta-grid input{min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:12px;padding:8px 9px;}
.profile-backend-beta-grid input:focus{outline:none;border-color:rgba(230,168,23,.55);}
.profile-backend-beta-toggle{display:flex;align-items:center;gap:8px;margin-top:8px;color:var(--text-muted);font-size:12px;font-weight:700;}
.profile-backend-beta-toggle input{accent-color:var(--accent);}
.profile-backend-beta-actions{display:flex;gap:7px;margin-top:9px;flex-wrap:wrap;}
.profile-backend-beta-actions button{min-height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font:inherit;font-size:11px;font-weight:800;cursor:pointer;padding:7px 9px;}
.profile-backend-beta-actions button:hover{border-color:rgba(230,168,23,.45);color:var(--accent);}
#insights-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 18px;margin-bottom:14px;}
.insights-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;}
.insights-card-title{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);}
#insights-rotating{margin-bottom:10px;min-height:52px;}
#insights-pills{display:flex;flex-direction:column;gap:7px;}
#screen-load,#screen-stats,#screen-quiz,#screen-results,#screen-release-notes,#screen-roadmap,#screen-laws,#screen-story,#screen-news,#screen-contact,#screen-terms{width:100%;}
body.app-ready #screen-load{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;}
.app-boot-skeleton{display:grid;gap:12px;margin:0 0 14px;}
body.app-ready .app-boot-skeleton{display:none;}
.boot-skeleton-card{display:grid;gap:13px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)) var(--surface);padding:14px;box-shadow:var(--shadow-soft);}
.boot-skeleton-top{display:flex;align-items:center;gap:12px;}
.boot-skeleton-avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(90deg,rgba(139,148,158,.1),rgba(139,148,158,.22),rgba(139,148,158,.1));background-size:240% 100%;animation:skeletonShimmer 1.2s ease-in-out infinite;flex:0 0 auto;}
.boot-skeleton-stack{display:grid;gap:7px;flex:1;min-width:0;}
.boot-skeleton-line,.boot-skeleton-tile,.boot-skeleton-action{position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(139,148,158,.1),rgba(139,148,158,.22),rgba(139,148,158,.1));background-size:240% 100%;animation:skeletonShimmer 1.2s ease-in-out infinite;}
.boot-skeleton-line{height:11px;border-radius:999px;width:58%;}
.boot-skeleton-line-title{width:46%;}
.boot-skeleton-line-small{width:72%;}
.boot-skeleton-line-wide{width:88%;}
.boot-skeleton-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.boot-skeleton-tile{height:84px;border-radius:8px;}
.boot-skeleton-action{height:44px;border-radius:8px;}
.card{width:100%;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)) var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:14px;position:relative;box-shadow:var(--shadow-soft);}
.app-footer{display:flex;align-items:center;justify-content:center;gap:clamp(4px,2.4vw,12px);margin-top:auto;padding:8px 0 0;border-top:1px solid rgba(48,54,61,.65);color:var(--text-dim);font-size:10px;}
.app-footer button{background:none;border:none;color:var(--text-muted);font:inherit;font-size:10px;font-weight:750;cursor:pointer;padding:3px clamp(3px,1.7vw,7px);border-radius:6px;}
.app-footer button:hover{color:var(--accent);background:rgba(230,168,23,.08);}
body.quiz-active .app-footer{display:none;}
body.quiz-active .app-header{margin-bottom:8px;}
.quiz-question-card.quiz-success-flash{border-color:rgba(63,185,80,.7);}
.quiz-question-card.quiz-success-flash::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;background:rgba(63,185,80,.22);box-shadow:0 0 0 1px rgba(63,185,80,.22) inset;animation:quizQuestionSuccessFlash .62s ease-out both;}
@keyframes quizQuestionSuccessFlash{0%{opacity:0;}12%{opacity:1;}100%{opacity:0;}}
@media(prefers-reduced-motion:reduce){.quiz-question-card.quiz-success-flash::after{animation:quizQuestionSuccessFlashReduced .34s ease-out both;}@keyframes quizQuestionSuccessFlashReduced{0%{opacity:0;}35%{opacity:1;}100%{opacity:0;}}}
.mobile-tabbar{display:flex;align-items:center;gap:6px;flex:0 0 auto;padding:4px;background:rgba(11,15,20,.48);border:1px solid rgba(139,148,158,.2);border-radius:12px;}
.mobile-tabbar.mobile-tabbar-hidden{display:none;}
.mobile-tab{min-height:38px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:850;cursor:pointer;padding:6px 13px;white-space:nowrap;}
.news-nav-badge{display:none;align-items:center;justify-content:center;min-width:17px;height:17px;border-radius:999px;background:var(--wrong);color:#fff;font-size:10px;font-weight:900;line-height:1;padding:0 5px;}
.news-nav-badge.visible{display:inline-flex;}
.mobile-tab-icon{display:none;}
.mobile-tab.active{border-color:rgba(230,168,23,.42);background:linear-gradient(180deg,rgba(230,168,23,.15),rgba(230,168,23,.08));color:var(--accent-strong);box-shadow:0 0 0 1px rgba(230,168,23,.06) inset;}
.mobile-tab:active{transform:translateY(1px);}
.app-info-card{width:100%;max-width:none;margin-left:auto;margin-right:auto;}
.app-info-kicker{font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;}
.app-info-title{font-family:'Lora',serif;font-size:26px;line-height:1.15;margin-bottom:6px;}
.app-info-copy{font-size:13px;color:var(--text-muted);line-height:1.55;margin-bottom:16px;max-width:680px;}
.legal-card{max-width:860px;}
.legal-updated{display:inline-flex;align-items:center;border:1px solid rgba(230,168,23,.28);background:rgba(230,168,23,.08);color:var(--accent);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:850;margin:2px 0 14px;}
.legal-section{border-top:1px solid rgba(48,54,61,.72);padding:13px 0 0;margin-top:13px;}
.legal-section h3{font-size:14px;line-height:1.25;margin-bottom:6px;}
.legal-section p{color:var(--text-muted);font-size:13px;line-height:1.58;margin:0 0 8px;}
.laws-screen-card{max-width:1040px;}
#screen-laws,.laws-screen-card,.laws-library,.law-card,.law-inline-panel,.law-full-body{touch-action:pan-y;}
.laws-library{display:grid;gap:12px;margin-top:14px;}
.laws-group{border:1px solid rgba(139,148,158,.18);border-radius:10px;background:rgba(13,17,23,.24);padding:13px;}
.laws-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px;}
.laws-group-kicker{display:inline-flex;width:max-content;border:1px solid rgba(139,148,158,.24);border-radius:999px;background:rgba(139,148,158,.08);color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;padding:3px 8px;margin-bottom:7px;}
.laws-group-title{font-size:17px;line-height:1.22;margin-bottom:4px;color:var(--text);}
.laws-group-desc{max-width:760px;font-size:12px;line-height:1.45;color:var(--text-muted);}
.laws-group-amber{border-color:rgba(230,168,23,.25);}
.laws-group-green{border-color:rgba(63,185,80,.22);}
.laws-group-blue{border-color:rgba(88,166,255,.22);}
.laws-group-purple{border-color:rgba(188,140,255,.22);}
.laws-group-teal{border-color:rgba(45,212,191,.22);}
.laws-group-red{border-color:rgba(248,81,73,.2);}
.laws-group-slate{border-color:rgba(139,148,158,.24);}
.laws-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;}
.law-card{--law-study-rgb:139,148,158;--law-study-color:var(--text-muted);display:grid;grid-template-rows:auto auto 1fr auto;gap:7px;min-height:190px;border:1px solid rgba(var(--law-study-rgb),.2);border-left-color:rgba(var(--law-study-rgb),.62);border-left-width:3px;border-radius:8px;background:linear-gradient(180deg,rgba(var(--law-study-rgb),.055),rgba(255,255,255,0)) var(--surface2);padding:12px;cursor:pointer;transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;}
.law-study-first{--law-study-rgb:248,81,73;--law-study-color:#ff6b64;}
.law-study-priority{--law-study-rgb:249,115,22;--law-study-color:#fb923c;}
.law-study-review{--law-study-rgb:230,168,23;--law-study-color:var(--accent);}
.law-study-specific{--law-study-rgb:188,140,255;--law-study-color:#bc8cff;}
.law-study-consult{--law-study-rgb:63,185,80;--law-study-color:var(--correct);}
.law-study-support{--law-study-rgb:88,166,255;--law-study-color:#8ec5ff;}
.law-card:hover{border-color:rgba(var(--law-study-rgb),.42);box-shadow:0 8px 20px rgba(0,0,0,.18);}
.law-card:active{transform:translateY(1px);}
.law-card-expanded{border-color:rgba(var(--law-study-rgb),.5);background:linear-gradient(180deg,rgba(var(--law-study-rgb),.08),rgba(255,255,255,0)) var(--surface2);}
.law-card-top{display:flex;align-items:center;justify-content:flex-start;gap:8px;}
.law-priority{display:inline-flex;align-items:center;gap:5px;min-height:22px;border:1px solid rgba(var(--law-study-rgb),.3);border-radius:999px;background:rgba(var(--law-study-rgb),.1);color:var(--law-study-color);font-size:10px;font-weight:850;line-height:1;padding:4px 7px;white-space:nowrap;}
.law-priority-label{text-transform:uppercase;letter-spacing:.045em;}
.law-priority-weight{font-family:monospace;font-size:9.5px;color:var(--text);opacity:.92;}
.law-id{min-width:0;color:var(--text-dim);font-size:10px;font-weight:850;letter-spacing:.04em;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.law-title{font-size:15px;line-height:1.22;color:var(--text);}
.law-summary{font-size:12px;line-height:1.42;color:var(--text-muted);flex:1;}
.law-subtitle{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.42;color:var(--text-dim);font-weight:650;letter-spacing:0;text-transform:none;}
.law-actions{display:flex;justify-content:flex-end;align-items:flex-end;min-height:38px;}
.law-read-btn{min-width:34px;width:34px;min-height:34px;border:1px solid rgba(230,168,23,.38);border-radius:8px;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:14px;font-weight:950;line-height:1;padding:7px;cursor:pointer;transition:transform .16s,color .16s,background .16s;}
.law-card-expanded .law-read-btn{transform:rotate(180deg);}
.law-read-btn:hover{background:rgba(230,168,23,.13);}
.law-inline-panel{grid-column:1/-1;margin:-1px 0 6px;border:1px solid rgba(var(--law-study-rgb),.28);border-radius:8px;background:linear-gradient(180deg,rgba(var(--law-study-rgb),.045),rgba(13,17,23,.32));padding:13px;}
.law-inline-panel[hidden]{display:none;}
.laws-reader{margin:14px 0 16px;border:1px solid rgba(230,168,23,.26);border-radius:10px;background:rgba(13,17,23,.35);overflow:hidden;}
.laws-reader[hidden]{display:none;}
.laws-reader-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid rgba(139,148,158,.18);background:linear-gradient(180deg,rgba(230,168,23,.07),rgba(13,17,23,.1));}
.laws-reader-head h3{font-family:'Lora',serif;font-size:22px;line-height:1.18;margin:0 0 4px;}
.laws-reader-head p{font-size:12px;line-height:1.45;color:var(--text-muted);margin:0;}
.laws-reader-close{flex:0 0 auto;}
.laws-reader-body{max-height:min(70vh,760px);overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 18px;background:rgba(10,14,18,.72);color:var(--text);}
.laws-reader-body #extera-content,.laws-reader-body body,.law-full-body{font-family:'Inter',sans-serif;color:var(--text);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;}
.law-full-body{max-width:860px;margin:0 auto;padding:2px clamp(12px,3vw,30px) 18px;}
.laws-reader-body p,.law-full-body p{margin:0 0 10px;color:var(--text-muted);font-size:14px;line-height:1.68;}
.laws-reader-body ol,.laws-reader-body ul,.law-full-body ol,.law-full-body ul{margin:0 0 12px 1.25rem;padding-left:1.15rem;color:var(--text-muted);font-size:14px;line-height:1.68;font-weight:400;}
.laws-reader-body li,.law-full-body li{margin:0 0 8px;color:var(--text-muted);font-size:14px;line-height:1.68;font-weight:400;}
.laws-reader-body li::marker,.law-full-body li::marker{color:var(--text-dim);font-weight:700;}
.laws-reader-body .law-inline-anchor,.law-full-body .law-inline-anchor{display:block;position:relative;top:-10px;scroll-margin-top:18px;}
.laws-reader-body p[id$="-tit"],.laws-reader-body p:has(+ p),.law-full-body p[id$="-tit"],.law-full-body p:has(+ p){max-width:920px;}
.law-full-body .law-document-title{margin:2px 0 8px!important;color:var(--text)!important;font-size:18px!important;line-height:1.38!important;font-weight:850!important;font-family:'Lora',serif;}
.law-full-body .law-section-title{margin:22px 0 8px!important;color:var(--accent-strong)!important;font-size:13px!important;line-height:1.35!important;font-weight:900!important;letter-spacing:.08em;text-transform:uppercase;}
.law-full-body .law-section-title-major{display:inline-flex;border:1px solid rgba(230,168,23,.28);border-radius:999px;background:rgba(230,168,23,.08);padding:5px 10px;}
.law-full-body .law-article-title{margin:18px 0 8px!important;padding:10px 11px;border-left:3px solid var(--accent);border-radius:8px;background:rgba(230,168,23,.07);color:var(--text)!important;font-size:15px!important;font-weight:900!important;line-height:1.3!important;}
.law-full-body .law-disposition-title{border-left-color:#58a6ff;background:rgba(88,166,255,.07);}
.law-full-body .law-list-item,.law-full-body .law-numbered-item{padding-left:28px;text-indent:-18px;color:#c9d1d9!important;}
.law-full-body .law-anchor{display:block;position:relative;top:-12px;scroll-margin-top:74px;}
.law-summary-panel{display:grid;gap:13px;max-width:800px;margin:0 auto;padding:4px 0 5px;cursor:pointer;}
.law-summary-panel:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px;}
.law-summary-kicker{display:inline-flex;width:max-content;border:1px solid rgba(230,168,23,.28);border-radius:999px;background:rgba(230,168,23,.08);color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;}
.law-summary-official-title{color:var(--text-dim);font-size:13px;font-weight:850;letter-spacing:.075em;line-height:1.5;text-transform:uppercase;font-variant-caps:all-small-caps;}
.law-summary-short{font-size:19px!important;line-height:1.45!important;color:var(--text)!important;margin:0!important;}
.law-summary-long{font-size:15px!important;line-height:1.72!important;color:var(--text-muted)!important;margin:0!important;}
.law-summary-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px;}
.law-open-full-btn,.law-summary-back-btn{min-height:40px;border:1px solid rgba(230,168,23,.42);border-radius:8px;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:13px;font-weight:850;padding:9px 12px;cursor:pointer;}
.law-open-full-btn:hover,.law-summary-back-btn:hover{background:rgba(230,168,23,.14);}
.law-full-slot{margin-top:13px;border-top:1px solid rgba(139,148,158,.18);padding-top:13px;}
.law-full-slot[hidden]{display:none;}
.laws-full-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:flex-end;margin:-12px -12px 14px;padding:10px 12px;border-bottom:1px solid rgba(139,148,158,.18);background:rgba(10,14,18,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.law-reader-dock{position:sticky;bottom:10px;z-index:4;display:flex;justify-content:flex-end;gap:7px;margin:10px 0 2px;pointer-events:none;}
.law-reader-dock-btn{pointer-events:auto;min-height:30px;border:1px solid rgba(139,148,158,.24);border-radius:8px;background:rgba(20,27,36,.94);color:var(--text-muted);font:inherit;font-size:11px;font-weight:850;padding:6px 9px;box-shadow:0 12px 28px rgba(0,0,0,.28);cursor:pointer;}
.law-reader-dock-prev,.law-reader-dock-next{min-width:34px;padding-left:8px;padding-right:8px;color:var(--accent);}
.law-reader-dock-close{color:var(--text);}
.laws-reader-body a[id],.law-full-body a[id]{display:block;position:relative;top:-10px;}
.laws-reader-body p[id],.law-full-body p[id]{scroll-margin-top:18px;}
.laws-reader-body p[id*="-"][id],.law-full-body p[id*="-"][id]{max-width:920px;}
.laws-reader-body p:has(+ a[id^="a"]),.laws-reader-body p[id*="-"],.law-full-body p:has(+ a[id^="a"]),.law-full-body p[id*="-"]{overflow-wrap:anywhere;}
.laws-reader-body [id^="conso-"],.law-full-body [id^="conso-"]{max-width:920px;margin:0 auto;}
.laws-reader-body p:has(+ p[id]),.law-full-body p:has(+ p[id]){color:var(--text);}
.laws-reader-frame{width:100%;min-height:70vh;border:0;background:#fff;border-radius:8px;}
.laws-loading{display:grid;gap:10px;padding:8px 0;}
.laws-loading span{display:block;height:12px;border-radius:999px;background:linear-gradient(90deg,rgba(139,148,158,.12),rgba(139,148,158,.24),rgba(139,148,158,.12));background-size:220% 100%;animation:skeletonShimmer 1.2s ease-in-out infinite;}
.laws-loading span:nth-child(1){width:40%;}
.laws-loading span:nth-child(2){width:82%;}
.laws-loading span:nth-child(3){width:68%;}
.release-list{display:grid;gap:10px;}
.release-item,.roadmap-item{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:13px;}
.release-version,.roadmap-state{display:inline-flex;align-items:center;width:max-content;border:1px solid rgba(230,168,23,.28);background:var(--accent-dim);color:var(--accent);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;margin-bottom:8px;}
.release-title,.roadmap-item h3{font-size:14px;font-weight:800;color:var(--text);margin-bottom:4px;}
.release-item p,.roadmap-item p{font-size:12px;color:var(--text-muted);line-height:1.5;}
.roadmap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;}
.roadmap-item.done{border-color:rgba(63,185,80,.26);}
.roadmap-item.done .roadmap-state{border-color:rgba(63,185,80,.3);background:rgba(63,185,80,.09);color:var(--correct);}
.roadmap-item.active{border-color:rgba(230,168,23,.32);}
.roadmap-item.next .roadmap-state{border-color:rgba(139,148,158,.32);background:rgba(139,148,158,.08);color:var(--text-muted);}
.roadmap-item.later{opacity:.82;}
.app-info-back{margin-top:14px;}
.news-screen-card{max-width:none;overflow:hidden;}
.news-screen-card .app-info-lead{font-size:12.5px;color:var(--text-muted);line-height:1.5;margin-bottom:14px;max-width:none;}
.news-filter{display:grid;gap:8px;margin:4px 0 14px;padding:8px;border:1px solid rgba(139,148,158,.18);border-radius:10px;background:rgba(13,17,23,.16);width:100%;max-width:100%;min-width:0;}
.news-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;}
.news-filter-row-years{grid-template-columns:repeat(2,minmax(0,1fr));}
.news-filter-row-audience{grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(139,148,158,.18);padding-top:8px;}
.news-filter-btn{--news-filter-color:var(--text-muted);--news-filter-rgb:139,148,158;min-width:0;border:1px solid rgba(var(--news-filter-rgb),.22);border-radius:8px;background:rgba(var(--news-filter-rgb),.055);color:var(--news-filter-color);font:inherit;font-size:12px;font-weight:850;line-height:1.15;cursor:pointer;padding:8px 9px;white-space:normal;text-align:center;overflow:hidden;}
.news-filter-btn:hover{border-color:rgba(var(--news-filter-rgb),.45);background:rgba(var(--news-filter-rgb),.10);color:var(--news-filter-color);}
.news-filter-btn.active{border-color:rgba(var(--news-filter-rgb),.58);background:rgba(var(--news-filter-rgb),.16);color:var(--news-filter-color);box-shadow:0 0 0 1px rgba(var(--news-filter-rgb),.08) inset;}
.news-filter-year{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:50px;}
.news-filter-kicker{display:block;font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:rgba(var(--news-filter-rgb),.82);}
.news-filter-year strong{display:block;color:var(--news-filter-color);font-size:14px;font-weight:950;letter-spacing:.02em;}
.news-year-2025{--news-year-color:#f2c94c;--news-year-rgb:242,201,76;--news-filter-color:#f2c94c;--news-filter-rgb:242,201,76;}
.news-year-2024{--news-year-color:#58a6ff;--news-year-rgb:88,166,255;--news-filter-color:#8ec5ff;--news-filter-rgb:88,166,255;}
.news-year-2023{--news-year-color:#c59cff;--news-year-rgb:197,156,255;--news-filter-color:#d4b8ff;--news-filter-rgb:197,156,255;}
.news-audience-docentes{--news-audience-color:#f4a8ca;--news-audience-rgb:244,168,202;--news-filter-color:#f4a8ca;--news-filter-rgb:244,168,202;}
.news-audience-asesores{--news-audience-color:#98e0ad;--news-audience-rgb:152,224,173;--news-filter-color:#98e0ad;--news-filter-rgb:152,224,173;}
.news-filter-audience{min-height:40px;}
.news-filter-docentes,.news-filter-asesores{width:100%;}
.news-group{display:grid;gap:10px;margin-top:14px;}
.news-previous-title{font-size:16px;font-weight:900;color:var(--text);margin:22px 0 0;padding-top:14px;border-top:1px solid rgba(139,148,158,.16);}
.news-group summary{cursor:pointer;color:var(--accent);font-size:13px;font-weight:850;padding:10px 0;}
.news-group>h3{font-size:15px;font-weight:850;color:var(--text);margin-bottom:0;}
.news-forecast-group{border:1px solid rgba(230,168,23,.18);border-radius:10px;background:rgba(230,168,23,.035);padding:0 12px 12px;}
.news-forecast-group summary{padding:12px 0;color:var(--accent);}
.news-roadmap-copy{display:grid;gap:11px;padding-top:2px;}
.news-roadmap-intro{font-size:13px;line-height:1.58;color:var(--text);font-weight:750;}
.news-roadmap-list{display:grid;gap:9px;list-style:none;margin:0;padding:0;}
.news-roadmap-list li{display:grid;gap:3px;border-left:3px solid rgba(230,168,23,.55);background:rgba(13,17,23,.18);border-radius:8px;padding:9px 11px;}
.news-roadmap-list strong{color:var(--accent);font-size:12px;line-height:1.3;font-weight:900;}
.news-roadmap-list em{color:var(--text);font-size:12px;line-height:1.35;font-style:normal;font-weight:850;}
.news-roadmap-list span{color:var(--text-muted);font-size:13px;line-height:1.52;}
.news-roadmap-close{font-size:13px;line-height:1.5;color:var(--accent);font-weight:850;}
.news-source-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:-2px;max-width:100%;min-width:0;}
.news-source-links a{display:inline-flex;align-items:flex-start;gap:7px;width:auto;max-width:100%;min-width:0;border:1px solid rgba(139,148,158,.24);border-radius:8px;background:rgba(13,17,23,.2);color:var(--text-muted);font-size:12px;font-weight:850;text-decoration:none;padding:7px 9px;}
.news-source-links a.news-source-docentes{border-color:rgba(244,168,202,.28);background:rgba(244,168,202,.075);color:#f4a8ca;}
.news-source-links a.news-source-asesores{border-color:rgba(152,224,173,.28);background:rgba(152,224,173,.075);color:#98e0ad;}
.news-source-links a:hover{border-color:rgba(230,168,23,.35);color:var(--accent);background:var(--accent-dim);}
.news-empty{font-size:13px;color:var(--text-muted);line-height:1.5;}
.news-item{min-width:0;max-width:100%;border:1px solid var(--border);border-radius:10px;background:var(--surface2);padding:13px;display:grid;grid-template-columns:minmax(112px,auto) minmax(0,1fr);gap:8px 14px;align-items:start;overflow:hidden;}
.news-item.official{border-left:3px solid rgba(var(--news-audience-rgb,230,168,23),.72);}
.news-item.forecast{background:rgba(13,17,23,.22);border-left-color:rgba(139,148,158,.55);}
.news-item.unread{border-color:rgba(230,168,23,.4);box-shadow:0 0 0 1px rgba(230,168,23,.07) inset;}
.news-item-date{font-size:12px;line-height:1.35;color:var(--news-year-color,var(--accent));font-weight:900;text-transform:none;}
.news-item-head,.news-item-body,.news-attachments,.news-resource-brand,.news-item-actions{grid-column:2;}
.news-item-head,.news-item-body,.news-attachments,.news-resource-brand,.news-item-actions{min-width:0;max-width:100%;}
.news-item-head h3{font-size:14px;line-height:1.32;margin-top:5px;color:var(--text);overflow-wrap:anywhere;}
.news-item-meta{display:flex;flex-wrap:wrap;gap:6px;}
.news-item-meta span{display:inline-flex;align-items:center;border:1px solid rgba(139,148,158,.24);border-radius:999px;background:rgba(13,17,23,.22);color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:5px 7px;}
.news-item .news-item-meta span:first-child{border-color:rgba(var(--news-audience-rgb,230,168,23),.34);background:rgba(var(--news-audience-rgb,230,168,23),.075);color:var(--news-audience-color,var(--accent));}
.news-item-meta .news-chip-docentes{border-color:rgba(244,114,182,.28)!important;background:rgba(244,114,182,.095)!important;color:#f4a8ca!important;}
.news-item-meta .news-chip-asesores{border-color:rgba(74,222,128,.26)!important;background:rgba(74,222,128,.085)!important;color:#98e0ad!important;}
.news-item-meta .news-chip-year{border-color:rgba(var(--news-year-rgb,230,168,23),.32)!important;background:rgba(var(--news-year-rgb,230,168,23),.08)!important;color:var(--news-year-color,var(--accent))!important;}
.news-item-body{font-size:12.5px;color:var(--text-muted);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;}
.news-attachments{display:flex;flex-wrap:wrap;gap:7px;max-width:100%;min-width:0;}
.news-attachment{display:inline-flex;align-items:flex-start;gap:8px;width:auto;max-width:100%;min-width:0;border:1px solid rgba(var(--news-year-rgb,230,168,23),.3);border-radius:8px;background:rgba(var(--news-year-rgb,230,168,23),.065);color:var(--news-year-color,var(--accent));font-size:12px;font-weight:850;text-decoration:none;padding:7px 9px;overflow-wrap:anywhere;}
.news-external-label{min-width:0;max-width:100%;overflow:visible;text-overflow:clip;white-space:normal;line-height:1.35;overflow-wrap:anywhere;word-break:normal;}
.news-external-marker{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--text-dim);font-size:13px;font-weight:900;line-height:1.25;padding-top:1px;}
.news-attachment:hover .news-external-marker,.news-source-links a:hover .news-external-marker{color:var(--accent);}
.news-resource-brand{width:max-content;border:1px solid rgba(63,185,80,.25);border-radius:999px;background:rgba(63,185,80,.08);color:var(--correct);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;padding:4px 7px;}
.news-item-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;}
.news-read-btn:disabled{opacity:.5;cursor:default;}
.news-expand-btn{display:none;width:auto;min-width:18px;height:24px;min-height:24px;border:0;border-radius:0;background:transparent;color:var(--accent);font:inherit;font-size:15px;font-weight:950;line-height:1;padding:0 2px;cursor:pointer;}
.news-expand-btn:hover{color:var(--accent-strong);background:transparent;}
.news-admin-panel{border:1px dashed rgba(230,168,23,.32);border-radius:10px;background:rgba(230,168,23,.045);padding:0;margin:14px 0;}
.news-admin-panel summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:11px 12px;}
.news-admin-form{padding:0 12px 12px;display:grid;gap:10px;}
.news-admin-form label{display:grid;gap:5px;color:var(--text-muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em;}
.news-admin-form input,.news-admin-form select,.news-admin-form textarea{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;text-transform:none;letter-spacing:0;padding:9px 10px;}
.news-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.news-admin-actions,.news-report-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;}
.news-admin-existing,.news-admin-reports{border-top:1px solid rgba(139,148,158,.16);padding:12px;display:grid;gap:8px;}
.news-admin-existing-row,.news-report-row{border:1px solid rgba(139,148,158,.18);border-radius:8px;background:rgba(13,17,23,.18);padding:9px;display:grid;gap:5px;}
.news-admin-existing-row span{font-size:10px;color:var(--text-dim);font-weight:850;text-transform:uppercase;}
.news-admin-existing-row strong,.news-report-row strong{font-size:12px;color:var(--text);}
.news-report-row p{font-size:12px;color:var(--text-muted);line-height:1.45;}
.news-report-row small{font-size:11px;color:var(--text-dim);}
.news-pending-modal{z-index:1250;}
.news-pending-card{text-align:left;}
.news-pending-card .modal-actions{display:flex;gap:10px;justify-content:flex-end;}
.contact-card{max-width:860px;}
.contact-form{display:grid;gap:10px;margin-top:14px;}
.contact-form .form-label{margin:0;font-size:11px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);}
.contact-form .form-control{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font:inherit;font-size:14px;line-height:1.4;padding:10px 11px;}
.contact-form textarea{resize:vertical;min-height:132px;}
.contact-submit{width:100%;margin-top:4px;}
.contact-feedback{min-height:18px;font-size:13px;line-height:1.45;color:var(--correct);font-weight:750;}
.contact-ticket-list{display:grid;gap:8px;margin-top:14px;}
.contact-empty{font-size:13px;color:var(--text-muted);line-height:1.5;}
.contact-ticket-row{border:1px solid rgba(139,148,158,.18);border-radius:8px;background:var(--surface2);padding:10px;display:grid;gap:5px;}
.contact-ticket-row span{font-size:10px;color:var(--text-dim);font-weight:850;text-transform:uppercase;letter-spacing:.05em;}
.contact-ticket-row strong{font-size:13px;color:var(--text);}
.contact-ticket-row p{font-size:12px;color:var(--text-muted);line-height:1.45;}
@media(max-width:640px){
  .mobile-tab{padding:6px 10px;font-size:13px;}
  .news-filter{width:100%;}
  .news-filter-row{width:100%;}
  .news-filter-btn{min-width:0;white-space:normal;}
  .news-item{grid-template-columns:1fr;gap:8px;padding:12px;}
  .news-item-head,.news-item-body,.news-attachments,.news-resource-brand,.news-item-actions{grid-column:1;}
  .news-attachment,.news-source-links a{width:auto;max-width:100%;justify-content:flex-start;}
  .news-admin-grid{grid-template-columns:1fr;}
  .news-item-actions,.news-admin-actions,.news-report-actions,.news-pending-card .modal-actions{justify-content:stretch;}
  .news-item-actions button,.news-admin-actions button,.news-report-actions button,.news-pending-card .modal-actions button{flex:1;}
  .contact-submit{width:100%;}
}
@media(min-width:560px){.news-filter-row-years{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(min-width:820px){.news-filter-row-years{grid-template-columns:repeat(4,minmax(0,1fr));}}
.secondary-card{opacity:.88;}
.section-label{display:block;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;}
.setup-section{margin-bottom:18px;}
.setup-section:last-child{margin-bottom:0;}
.home-start-section{display:flex;flex-direction:column;gap:10px;}
.home-start-copy p{font-size:12px;color:var(--text-dim);line-height:1.4;margin-top:-4px;}
.home-readme-card{margin:0 0 14px;border:1px solid rgba(230,168,23,.26);border-radius:10px;background:linear-gradient(180deg,rgba(230,168,23,.08),rgba(255,255,255,.018)) var(--surface);padding:14px;box-shadow:var(--shadow-soft);}
.home-readme-card[hidden]{display:none;}
.home-readme-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;}
.home-readme-kicker{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:3px;}
.home-readme-head h3{margin:0;font-family:'Lora',serif;font-size:20px;line-height:1.2;color:var(--text);}
.home-readme-close{flex:0 0 auto;width:34px;min-width:34px;min-height:34px;border:1px solid rgba(139,148,158,.24);border-radius:8px;background:rgba(13,17,23,.35);color:var(--text-muted);font:inherit;font-size:18px;font-weight:850;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;}
.home-readme-close:hover{border-color:rgba(230,168,23,.44);color:var(--accent);background:rgba(230,168,23,.08);}
.home-readme-summary{font-size:13px;line-height:1.55;color:var(--text-muted);margin:0 0 10px;}
.home-readme-card>details>summary{cursor:pointer;min-height:38px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(230,168,23,.24);border-radius:8px;background:rgba(230,168,23,.07);color:var(--accent);font-size:13px;font-weight:850;padding:8px 10px;list-style:none;}
.home-readme-card>details>summary::-webkit-details-marker{display:none;}
.home-readme-card>details>summary::after{content:'▾';font-size:12px;color:var(--accent);transition:transform .16s ease;}
.home-readme-card>details[open]>summary::after{transform:rotate(180deg);}
.home-readme-card>details[open]>summary{margin-bottom:10px;}
.home-readme-content .news-forecast-group{margin-top:0;border-color:rgba(230,168,23,.16);background:rgba(13,17,23,.16);}
.home-readme-content .news-forecast-group summary{display:none;}
.home-readme-content .news-roadmap-copy{padding-top:0;}
.home-readme-actions{display:flex;justify-content:flex-end;margin-top:10px;}
.home-readme-secondary{min-height:34px;border:1px solid rgba(139,148,158,.24);border-radius:8px;background:rgba(13,17,23,.28);color:var(--text-muted);font:inherit;font-size:12px;font-weight:750;padding:7px 10px;cursor:pointer;}
.home-readme-secondary:hover{border-color:rgba(230,168,23,.4);color:var(--accent);}
.news-roadmap-link{display:inline;border:0;background:transparent;color:var(--accent);font:inherit;font-weight:900;text-decoration:underline;text-underline-offset:2px;padding:0;cursor:pointer;}
.news-roadmap-link:hover{color:var(--accent-strong);}

/* NAME INPUT */
.name-row{display:flex;gap:10px;align-items:center;}
.name-input{flex:1;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 12px;color:var(--text);font-size:14px;outline:none;}
.name-input:focus{border-color:var(--accent);}

/* TIPS */
.tips-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:12px 16px;background:rgba(230,168,23,.06);border:1px solid rgba(230,168,23,.2);border-radius:var(--radius);margin-bottom:14px;}
.tips-toggle:hover{background:var(--accent-dim);}
.tips-toggle-label{font-size:13px;font-weight:600;color:var(--accent);}
.tips-toggle-icon{color:var(--accent);font-size:16px;transition:transform .2s;}
.tips-toggle.open .tips-toggle-icon{transform:rotate(180deg);}
.tips-body{display:none;background:rgba(230,168,23,.04);border:1px solid rgba(230,168,23,.15);border-top:none;border-radius:0 0 var(--radius) var(--radius);padding:16px;}
.tips-body.open{display:block;}
.tips-body p{font-size:13px;color:var(--text-muted);margin-bottom:10px;line-height:1.6;}
.tips-body p:last-child{margin-bottom:0;}
.tips-body strong{color:var(--text);}
.tips-formula{background:var(--surface2);border-radius:8px;padding:12px;margin:10px 0;font-size:13px;font-family:monospace;color:var(--accent);}
.tips-callout{text-align:center;margin:10px 0;}
.tips-callout-badge{display:inline-block;font-size:14px;font-weight:700;color:var(--accent);background:rgba(230,168,23,.15);padding:4px 14px;border-radius:4px;border:1px solid rgba(230,168,23,.3);}

/* LEADERBOARD */
.ranking-subtitle{font-size:11px;color:var(--text-dim);margin-bottom:8px;}
.ranking-loading{font-size:13px;color:var(--text-dim);}
.lb-table{width:100%;border-collapse:collapse;font-size:12px;}
.lb-table th{text-align:left;padding:5px 8px;color:var(--text-dim);font-size:10px;text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);}
.lb-table td{padding:5px 8px;border-bottom:1px solid rgba(48,54,61,.4);}
.lb-table tr:last-child td{border-bottom:none;}
.lb-table .medal{font-size:14px;}

/* DROP ZONE */
.drop-zone{border:2px dashed var(--border);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:border-color .2s,background .2s;margin-bottom:14px;}
.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:var(--accent-dim);}
.drop-zone-icon{font-size:26px;margin-bottom:5px;}
.drop-zone-text{color:var(--text-muted);font-size:13px;}
.drop-zone-text strong{color:var(--accent);}
.drop-zone-hint{display:block;margin-top:3px;font-size:11px;color:var(--text-dim);}
#file-input{display:none;}
.file-list{display:flex;flex-direction:column;gap:7px;margin-bottom:7px;}
.file-item{display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:9px 13px;transition:border-color .15s;}
.file-item.active{border-color:var(--accent);}
.file-checkbox{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;}
.file-info{flex:1;min-width:0;}
.file-name{font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.file-meta{font-size:11px;color:var(--text-muted);margin-top:1px;}
.file-remove{color:var(--text-dim);cursor:pointer;font-size:15px;padding:2px 6px;border:none;background:none;}
.file-remove:hover{color:var(--wrong);}

/* PILLS */
.pill-group{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;}
.pill{font:inherit;display:inline-flex;align-items:center;gap:6px;min-height:34px;min-width:0;background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:5px 10px;font-size:12px;cursor:pointer;color:var(--text-muted);transition:all .15s;user-select:none;text-align:left;overflow-wrap:anywhere;word-break:normal;hyphens:auto;}
.pill:hover{border-color:var(--accent);color:var(--text);}
.pill:active{transform:translateY(1px);}
.pill.active,.pill.multi-active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:500;}
.pill.all-active{border-color:rgba(63,185,80,.42);background:rgba(63,185,80,.09);color:#9be9a8;font-weight:750;}
.pill.multi-active::before{content:'';display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px rgba(0,0,0,.18);flex:0 0 auto;}
.filter-tools{display:flex;align-items:center;gap:8px;margin-bottom:9px;}
.filter-search{width:100%;min-height:34px;min-width:0;background:var(--surface2);border:1px solid var(--border);border-radius:9px;color:var(--text);font-size:12px;padding:7px 10px;}
.filter-search:focus{outline:2px solid rgba(230,168,23,.28);border-color:var(--accent);}
.filter-inline-status{flex:0 0 auto;max-width:42%;border:1px solid var(--border);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:750;letter-spacing:.03em;text-transform:uppercase;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(139,148,158,.06);}
.filter-inline-status.has-active{border-color:rgba(230,168,23,.35);color:var(--accent);background:var(--accent-dim);}
.filter-inline-status.none-selected{border-color:rgba(248,81,73,.34);color:var(--wrong);background:rgba(248,81,73,.08);}
.filter-hint{font-size:11px;color:var(--text-dim);line-height:1.35;margin:0 0 9px 2px;}
.filter-mini-btn{width:100%;min-height:34px;margin-top:8px;background:transparent;border:1px dashed var(--border);border-radius:8px;color:var(--text-muted);font-size:12px;cursor:pointer;}
.filter-mini-btn:hover{border-color:var(--accent);color:var(--accent);}
.compact-pill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));align-items:stretch;gap:7px;min-width:0;max-width:100%;}
.compact-pill-grid .pill{width:100%;max-width:100%;justify-content:flex-start;align-items:center;border-radius:9px;white-space:normal;text-align:left;line-height:1.2;overflow:hidden;}
.compact-pill-grid .pill[data-val="__todas__"]{grid-column:auto;}
.compact-pill-grid.law-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.compact-pill-grid.law-pill-grid .filter-search{align-self:stretch;}
.compact-pill-grid.law-pill-grid .pill[data-val="__todas__"]{grid-column:auto;}
.compact-pill-grid.law-pill-grid .filter-search,
.compact-pill-grid.law-pill-grid .pill[data-val="__todas__"]{min-width:0;}
.compact-pill-grid .pill:not([data-val="__todas__"]){width:100%;margin-left:0;}
.compact-pill-grid .pill[data-val="__todas__"]:not(.all-active)::before{content:'';display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;border:1px solid var(--border);background:transparent;flex:0 0 auto;}
.compact-pill-grid .pill:not([data-val="__todas__"])::before{content:'';display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;border:1px solid var(--border);background:transparent;flex:0 0 auto;}
@media(max-width:380px){.compact-pill-grid{grid-template-columns:1fr;}}

/* BUTTONS */
.btn-primary{width:100%;min-height:var(--tap-min);padding:12px 13px;background:linear-gradient(180deg,var(--accent-strong),var(--accent));color:#090b0d;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);font-size:15px;font-weight:800;cursor:pointer;transition:opacity .15s,transform .15s,filter .15s;display:inline-flex;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 22px rgba(230,168,23,.15);}
.btn-primary:hover{filter:brightness(1.04);}
.btn-primary:active:not(:disabled){transform:translateY(1px);}
.btn-primary:disabled{opacity:.35;cursor:default;}
.btn-ghost{width:100%;min-height:var(--tap-min);padding:10px 11px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;cursor:pointer;margin-top:8px;display:inline-flex;align-items:center;justify-content:center;text-align:center;}
.btn-ghost:hover{border-color:var(--accent);color:var(--text);}
.btn-danger{min-height:var(--tap-min);padding:8px 16px;background:var(--wrong-dim);color:var(--wrong);border:1px solid rgba(248,81,73,.3);border-radius:8px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.btn-danger:hover{background:rgba(248,81,73,.15);}

/* ══ QUIZ LAYOUT ══ */
.quiz-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;margin:0 0 8px;}
.quiz-topbar>button{height:auto;margin-top:0;display:inline-flex;align-items:center;justify-content:center;}
.quiz-back-space{min-height:32px;padding:6px 10px;font-size:12px;}
.quiz-topbar #btn-reset{min-height:32px;padding:6px 12px;align-self:stretch;}
.quiz-layout{display:flex;gap:var(--layout-gap);align-items:flex-start;}
.history-sidebar{width:clamp(170px,16vw,220px);flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:sticky;top:10px;max-height:calc(100vh - 20px);display:flex;flex-direction:column;}
.history-header{padding:9px 11px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;}
.h-toggle-btn{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:13px;padding:0 3px;}
.history-list{overflow-y:auto;padding:6px;display:flex;flex-direction:column;gap:3px;flex:1;scrollbar-width:thin;scrollbar-color:var(--border) transparent;}
.history-item{display:flex;align-items:center;gap:4px;padding:5px 7px;border-radius:5px;cursor:pointer;font-size:10px;background:var(--surface2);border:1px solid transparent;border-left:3px solid var(--border);transition:all .12s;}
.history-item:hover:not(.h-pending){border-color:var(--accent);}
.history-item.h-current{box-shadow:0 0 0 1px rgba(230,168,23,.28) inset;}
.history-item.h-correct{border-left-color:var(--correct);}
.history-item.h-wrong{border-left-color:var(--wrong);}
.history-item.h-blank{border-left-color:var(--text-dim);}
.history-item.h-pending{opacity:.35;cursor:default;pointer-events:none;}
.h-num{display:inline-flex;align-items:center;justify-content:center;min-width:1.45em;height:auto;border:0!important;border-radius:0;background:transparent!important;line-height:1;font-weight:800;}
.history-block-section{flex:0 0 auto;min-width:0;margin:0 0 4px;}
.history-block-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 7px;background:var(--surface2);border-radius:5px;cursor:pointer;user-select:none;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:2px;white-space:nowrap;}
.history-block-title{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;}
.history-block-compact-label{display:none;}
.history-block-chevron{font-size:9px;line-height:1;transition:transform .15s;}
.history-block-section.open .history-block-chevron{transform:rotate(0deg);}
.history-block-body{display:flex;flex-direction:column;gap:3px;}
.history-block-body[hidden]{display:none;}
.h-num{font-weight:750;color:var(--text-muted);min-width:14px;font-size:10px;line-height:1;}
.h-abbr{color:var(--text-dim);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.h-icon{display:none;margin-left:auto;flex-shrink:0;}
.quiz-main{flex:1;min-width:0;overscroll-behavior:contain;}

@media(min-width:1121px){
  body.quiz-block-mode .history-sidebar,
  body.quiz-exam-mode .history-sidebar{width:clamp(235px,18vw,310px);}
  body.quiz-block-mode .history-list,
  body.quiz-exam-mode .history-list{gap:6px;padding:8px;}
  body.quiz-block-mode .history-block-body,
  body.quiz-exam-mode .history-block-body{gap:6px;}
  body.quiz-block-mode .history-block-header,
  body.quiz-exam-mode .history-block-header{min-height:34px;padding:7px 10px;border-radius:7px;font-size:11px;margin-bottom:6px;}
  body.quiz-block-mode .history-item,
  body.quiz-exam-mode .history-item{min-height:42px;padding:8px 10px;border-radius:7px;font-size:12px;gap:8px;}
  body.quiz-block-mode .h-num,
  body.quiz-exam-mode .h-num{min-width:24px;font-size:12px;}
  body.quiz-block-mode .h-abbr,
  body.quiz-exam-mode .h-abbr{font-size:12px;}
}

@media(min-width:1360px) and (min-height:820px){
  body.quiz-active .app-header{margin-bottom:12px;}
  body.quiz-active .quiz-layout{gap:14px;}
  body.quiz-active .timer-banner{padding:10px 14px;margin-bottom:10px;}
  body.quiz-active .timer-label{font-size:11px;}
  body.quiz-active .timer-value{font-size:17px;height:24px;}
  body.quiz-active .timer-score-pill{height:24px;font-size:12px;min-width:38px;}
  body.quiz-active .progress-info{font-size:13px;margin-bottom:6px;}
  body.quiz-active .progress-bar-wrap{height:4px;margin-bottom:9px;}
  body.quiz-active .quiz-question-card{padding:18px 18px 20px;}
  body.quiz-active .q-text{font-size:17px;line-height:1.5;margin-bottom:14px;}
  body.quiz-active .options{gap:10px;}
  body.quiz-active .option-btn{min-height:58px;padding:14px 13px;grid-template-columns:25px 1fr;column-gap:13px;}
  body.quiz-active .option-letter{width:25px;height:25px;font-size:12px;}
  body.quiz-active .option-text{font-size:14.5px;line-height:1.52;}
  body.quiz-active .btn-finish,
  body.quiz-active .btn-pause-exam,
  body.quiz-active .btn-skip,
  body.quiz-active .btn-next{min-height:46px;font-size:14px;}
}

@media(min-width:1680px) and (min-height:920px){
  body.quiz-active .quiz-layout{gap:16px;}
  body.quiz-active .timer-banner{padding:12px 16px;}
  body.quiz-active .quiz-question-card{padding:22px 22px 24px;}
  body.quiz-active .q-text{font-size:18.5px;line-height:1.52;margin-bottom:16px;}
  body.quiz-active .options{gap:11px;}
  body.quiz-active .option-btn{min-height:64px;padding:15px 15px;}
  body.quiz-active .option-text{font-size:15.5px;line-height:1.54;}
}

/* GLOBAL TIMER BANNER */
.timer-banner{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:8px 12px;margin-bottom:7px;display:flex;justify-content:space-between;align-items:center;gap:10px;}
.timer-main{flex:1;min-width:0;}
.timer-label{font-size:10px;color:var(--text-muted);line-height:1.2;}
.timer-compact-row{display:grid;grid-template-columns:auto minmax(56px,1fr) auto;align-items:center;gap:9px;min-width:0;}
.timer-value{display:flex;align-items:center;font-family:monospace;font-size:15px;font-weight:600;color:var(--text);line-height:1;height:22px;}
.timer-score-inline{display:flex;align-items:center;align-self:center;justify-content:flex-end;gap:5px;min-width:78px;overflow:hidden;color:var(--text-muted);font-size:11px;line-height:1;}
.timer-score-pill{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:22px;border:1px solid var(--border-soft);border-radius:999px;background:rgba(139,148,158,.07);font-size:11px;font-weight:850;line-height:1;padding:0 7px;white-space:nowrap;}
.timer-score-pill.ok{border-color:rgba(63,185,80,.28);background:rgba(63,185,80,.08);color:var(--correct);}
.timer-score-pill.wrong{border-color:rgba(248,81,73,.28);background:rgba(248,81,73,.08);color:var(--wrong);}
.timer-score-pill.blank{border-color:rgba(139,148,158,.26);background:rgba(139,148,158,.08);color:var(--text-muted);}
.timer-score-pill[hidden]{display:none;}
.modo-examen-activo .timer-score-pill.ok,
.modo-examen-activo .timer-score-pill.wrong{
  border-color:rgba(139,148,158,.3);
  background:rgba(139,148,158,.08);
  color:var(--text-muted);
}
#countdown-block{text-align:right;}
#qtimer-countdown{font-size:13px;}
.timer-value.warn{color:var(--warn);}
.timer-value.crit{color:var(--wrong);animation:blink .6s infinite alternate;}
.timer-value.infinite-hint{font-family:'Inter',sans-serif;font-size:12px;color:var(--text-dim);}
@keyframes blink{from{opacity:1}to{opacity:.4}}

/* LIVE SCORE */
.live-score-bar{display:none;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:9px 14px;margin-bottom:9px;}
.live-score-row{display:flex;justify-content:space-between;align-items:center;}
.live-score-detail{font-size:12px;color:var(--text-muted);}
.live-score-val{font-size:14px;font-weight:700;}
.live-score-val.aprobado{color:var(--correct);}
.live-score-val.suspenso{color:var(--wrong);}
.live-score-val.neutro{color:var(--text-muted);}

/* PROGRESS */
.progress-info{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:11px;color:var(--text-muted);margin-bottom:4px;}
#prog-text{min-width:0;flex:1 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#prog-score{flex:0 0 auto;white-space:nowrap;}
.progress-bar-wrap{height:3px;background:var(--surface2);border-radius:2px;margin-bottom:6px;}
.progress-bar-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s;}

/* PER-QUESTION TIMER BAR */
.qtimer-wrap{height:5px;background:var(--surface2);border-radius:3px;margin-bottom:12px;overflow:hidden;}
.qtimer-wrap-inline{margin:0;}
.qtimer-bar{height:100%;border-radius:3px;transition:width 1s linear;}
.qt-green{background:var(--correct);}
.qt-yellow{background:#eab308;}
.qt-orange{background:var(--warn);}
.qt-red{background:var(--wrong);animation:blink .6s infinite alternate;}

/* REVIEW BANNER */
.review-banner{background:rgba(230,168,23,.08);border:1px solid rgba(230,168,23,.25);border-radius:8px;padding:9px 13px;font-size:13px;color:var(--accent);margin-bottom:10px;display:none;justify-content:space-between;align-items:center;}
.review-banner.visible{display:flex;}
.btn-back{min-height:36px;background:var(--accent);color:#000;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}

/* QUESTION */
.q-meta{display:none;flex-wrap:wrap;gap:5px;margin-bottom:11px;min-height:4px;padding-right:76px;}
.quiz-question-card{padding-top:14px;}
.quiz-main.answered-can-advance{cursor:pointer;}
.quiz-main.answered-can-advance .nota-ley-link,
.quiz-main.answered-can-advance .q-action-btn,
.quiz-main.answered-can-advance .q-tag-clickable,
.quiz-main.answered-can-advance #btn-finish,
.quiz-main.answered-can-advance #btn-pause-exam,
.quiz-main.answered-can-advance #btn-next,
.quiz-main.answered-can-advance #btn-skip,
.quiz-main.answered-can-advance .history-sidebar{cursor:auto;}
.q-tag{font-size:11px;font-weight:500;padding:2px 8px;border-radius:4px;}
.q-tag.ley{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border);}
.q-tag.examen{background:rgba(230,168,23,.12);color:var(--accent);}
.q-tag.examen-real{background:var(--accent);color:#000;font-weight:700;}
.q-tag.archivo{background:rgba(63,185,80,.1);color:var(--correct);}
.q-tag.categoria{background:rgba(99,102,241,.12);color:#818cf8;}
.q-tag.etiqueta{background:rgba(139,148,158,.12);color:var(--text-muted);border:1px solid var(--border);}
.q-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:2px;margin-left:auto;}
.q-action-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:rgba(13,17,23,.24);border:1px solid transparent;border-radius:9px;color:var(--text-dim);font-size:14px;line-height:1;padding:0;cursor:pointer;transition:all .15s;touch-action:manipulation;}
.q-action-btn:hover{background:var(--surface2);border-color:var(--border);color:var(--accent);}
.q-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.q-action-btn.active{background:rgba(230,168,23,.1);border-color:rgba(230,168,23,.28);color:var(--accent);}
.q-action-btn.doubt.active{background:rgba(59,130,246,.1);border-color:rgba(59,130,246,.28);color:#60a5fa;}
.q-action-btn.doubt:hover{border-color:rgba(59,130,246,.35);color:#60a5fa;}
.q-action-btn.warn:hover{border-color:rgba(249,115,22,.35);color:var(--warn);}

/* FILTROS COLAPSABLES */
.filter-section{min-width:0;max-width:100%;margin:0 0 14px 6px;}
.filter-section:last-child{margin-bottom:0;}
.filter-toggle{width:100%;font:inherit;display:flex;align-items:center;gap:10px;cursor:pointer;padding:11px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;transition:border-color .15s,background .15s;min-height:46px;text-align:left;color:var(--text);}
.filter-toggle::before{content:'';display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:#000;font-size:12px;font-weight:800;flex:0 0 auto;}
.filter-toggle:hover{border-color:var(--accent);}
.filter-toggle.has-active{border-color:var(--accent);background:var(--accent-dim);}
.filter-toggle.has-active::before{content:'✓';background:var(--accent);border-color:var(--accent);}
.filter-toggle.all-included{border-color:var(--accent);background:var(--accent-dim);}
.filter-toggle.all-included::before{content:'✓';background:var(--accent);border-color:var(--accent);color:#000;}
.filter-toggle.none-selected{border-color:rgba(248,81,73,.42);background:rgba(248,81,73,.08);}
.filter-toggle.none-selected::before{content:'!';background:var(--wrong);border-color:var(--wrong);color:#fff;}
.filter-toggle-label{font-size:13px;font-weight:650;color:var(--text-muted);line-height:1.25;flex:1;min-width:0;}
.filter-toggle.has-active .filter-toggle-label{color:var(--text);}
.filter-toggle.all-included .filter-toggle-label{color:var(--accent);}
.filter-toggle.none-selected .filter-toggle-label{color:var(--wrong);}
.filter-toggle-meta{font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:3px 7px;white-space:nowrap;}
.filter-toggle.has-active .filter-toggle-meta{border-color:rgba(230,168,23,.35);color:var(--accent);}
.filter-toggle.all-included .filter-toggle-meta{border-color:rgba(230,168,23,.35);color:var(--accent);}
.filter-toggle.none-selected .filter-toggle-meta{border-color:rgba(248,81,73,.34);color:var(--wrong);}
.filter-toggle-icon{font-size:11px;color:var(--text-dim);transition:transform .2s;margin-left:auto;}
.filter-toggle.open .filter-toggle-icon{transform:rotate(180deg);}
.filter-body{display:none;min-width:0;max-width:100%;padding:8px 0 2px;}
.filter-body.open{display:block;}
/* Sub-grupos dentro de etiquetas */
.etiq-group{margin:10px 0 0;padding-left:10px;border-left:2px solid var(--border);}
.etiq-group:last-child{margin-bottom:0;}
.etiq-group-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;margin-bottom:6px;padding:8px 10px;background:rgba(139,148,158,.06);border:1px solid var(--border);border-radius:8px;transition:border-color .15s,background .15s;min-height:44px;}
.etiq-group-toggle:hover{border-color:rgba(230,168,23,.35);}
.etiq-group-toggle.has-active-sub{border-color:var(--accent);background:var(--accent-dim);}
.etiq-group-label{font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);flex:1;}
.etiq-group-toggle.has-active-sub .etiq-group-label{color:var(--accent);}
.etiq-group-count{font-size:10px;font-weight:700;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:2px 6px;}
.etiq-group-icon{font-size:10px;color:var(--text-dim);transition:transform .2s;}
.etiq-group-toggle.open .etiq-group-icon{transform:rotate(180deg);}
.etiq-group-pills{display:none;flex-wrap:wrap;gap:7px;padding:3px 0 2px 8px;}
.etiq-group-pills.open{display:flex;}
.q-text{font-family:'Lora',serif;font-size:15px;line-height:1.44;margin:0 0 11px;scroll-margin-top:10px;padding-right:0;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.options{display:grid;gap:8px;}
.option-btn{display:grid;grid-template-columns:23px minmax(0,1fr);align-items:center;column-gap:11px;background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 11px;text-align:left;cursor:pointer;color:var(--text);transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;width:100%;min-width:0;max-width:100%;min-height:52px;}
.option-btn:hover:not(:disabled){border-color:var(--accent);}
.option-letter{flex-shrink:0;width:23px;height:23px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-muted);}
.option-btn>div:not(.option-letter){display:contents;}
.option-text{font-size:13px;line-height:1.5;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.option-feedback{grid-column:1 / -1;font-size:12px;color:var(--text-muted);margin-top:6px;display:none;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.options.answered .option-feedback{display:none;}
.options.answered .option-btn.show-feedback .option-feedback{display:grid;grid-template-columns:23px 1fr;gap:11px;align-items:start;}
.options.answered .option-btn.show-feedback .option-feedback::before{display:grid;place-items:center;justify-self:center;width:14px;height:14px;border-radius:50%;font-size:10px;font-weight:850;line-height:1;margin-top:1px;color:#fff;}
.options.answered .option-btn.selected-correct.show-feedback .option-feedback::before{content:"✓";background:var(--correct);}
.options.answered .option-btn.selected-wrong.show-feedback .option-feedback::before{content:"❌";background:transparent;font-size:10px;}
.option-btn.selected-correct{background:var(--correct-dim);border-color:var(--correct);}
.option-btn.selected-correct .option-letter{background:transparent;border:1px solid var(--correct);color:var(--correct);}
.option-btn.selected-wrong{background:var(--wrong-dim);border-color:var(--wrong);}
.option-btn.selected-wrong .option-letter{background:var(--wrong);color:#fff;}
.option-btn.correct-answer{background:rgba(63,185,80,.11);border-color:rgba(63,185,80,.58);}
.option-btn.correct-answer .option-letter{background:transparent;border:1px solid var(--correct);color:var(--correct);}
.option-btn.answer-pulse-correct{animation:answerPulseCorrect .26s ease-out both;}
.option-btn.answer-pulse-wrong{animation:answerPulseWrong .36s ease-out both;}
@keyframes answerPulseCorrect{0%{transform:scale(1);}42%{transform:scale(1.014);box-shadow:0 0 0 4px rgba(63,185,80,.08);}100%{transform:scale(1);box-shadow:none;}}
@keyframes answerPulseWrong{0%,100%{transform:translateX(0);}24%{transform:translateX(-3px);}48%{transform:translateX(3px);}72%{transform:translateX(-2px);}}
.option-btn.reveal-correct{border-color:var(--correct);}
.option-btn.reveal-correct .option-letter{background:transparent;color:var(--correct);font-size:14px;}
/* reveal-correct mantenida en CSS por retrocompatibilidad pero ya no se asigna desde JS (Beta 6.4) */
/* Beta 6.1 — Fix 2: solo la letra cambia a verde al fallar en modo feedback instantáneo */
.text-correct-only{color:var(--correct) !important;font-weight:bold !important;}
.nota-ley{position:relative;background:linear-gradient(180deg,rgba(230,168,23,.105),rgba(230,168,23,.062));border:1px solid rgba(230,168,23,.22);border-radius:var(--radius);padding:11px 13px;margin-top:12px;display:none;min-width:0;max-width:100%;overflow:hidden;}
.nota-ley.visible{display:block;}
.nota-ley-label{display:flex;align-items:center;min-height:0;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.nota-ley-text{font-size:12px;color:var(--text-muted);line-height:1.55;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.nota-ley-trap{margin-top:9px;padding-top:9px;border-top:1px solid rgba(230,168,23,.18);font-size:12px;color:var(--text);line-height:1.52;min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.nota-ley-trap[hidden]{display:none!important;}
.nota-ley-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;margin-top:10px;min-width:0;}
.nota-ley-actions[hidden]{display:none!important;}
.nota-ley-actions.action-count-1{grid-template-columns:1fr;}
.nota-ley-actions.action-count-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.nota-ley-link,.nota-ley-toggle{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:34px;border:1px solid rgba(230,168,23,.42);border-radius:8px;background:rgba(230,168,23,.1);color:var(--accent);font:inherit;font-size:11px;font-weight:850;padding:7px 10px;cursor:pointer;white-space:normal;text-align:center;min-width:0;}
.nota-ley-link[hidden],.nota-ley-toggle[hidden]{display:none!important;}
.nota-ley-toggle{border-color:rgba(139,148,158,.22);background:rgba(139,148,158,.08);color:var(--text-muted);}
.nota-ley-toggle:hover,.nota-ley-toggle:focus-visible{border-color:rgba(230,168,23,.38);color:var(--accent);background:rgba(230,168,23,.08);}
.nota-ley-link:hover,.nota-ley-link:focus-visible{background:rgba(230,168,23,.16);}
.nota-ley-link-top{position:static;min-height:34px;font-size:11px;line-height:normal;padding:7px 10px;}
@media(max-width:520px){
  .nota-ley{padding:10px;margin-top:10px;}
  .nota-ley-label{font-size:9px;line-height:1.25;margin-bottom:4px;}
  .nota-ley-text,.nota-ley-trap{font-size:11px;line-height:1.42;}
  .nota-ley-trap{max-height:90px;overflow:auto;-webkit-overflow-scrolling:touch;}
  .nota-ley-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:8px;}
  .nota-ley-actions.action-count-1{grid-template-columns:1fr;}
  .nota-ley-link,.nota-ley-toggle{min-height:32px;}
}
.q-tag-clickable{cursor:pointer;border-color:rgba(230,168,23,.45)!important;background:rgba(230,168,23,.11)!important;color:var(--accent)!important;}
.q-tag-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.law-reference-open{overflow:hidden;}
.law-reference-overlay{position:fixed;inset:0;z-index:1700;display:flex;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.62);padding:calc(12px + var(--safe-top)) calc(10px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(10px + var(--safe-left));}
.law-reference-overlay[hidden]{display:none;}
.law-reference-sheet{width:min(920px,100%);max-height:min(86vh,860px);display:flex;flex-direction:column;border:1px solid rgba(230,168,23,.28);border-radius:14px;background:rgba(15,20,27,.98);box-shadow:0 30px 80px rgba(0,0,0,.52);overflow:hidden;}
.law-reference-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid rgba(139,148,158,.18);background:linear-gradient(180deg,rgba(230,168,23,.08),rgba(13,17,23,.08));}
.law-reference-kicker{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;}
.law-reference-head h3{font-family:'Lora',serif;font-size:21px;line-height:1.18;margin:0;color:var(--text);}
.law-reference-close{flex:0 0 auto;min-height:36px;border:1px solid rgba(139,148,158,.24);border-radius:8px;background:rgba(139,148,158,.08);color:var(--text-muted);font:inherit;font-size:12px;font-weight:850;padding:8px 11px;cursor:pointer;}
.law-reference-body{overflow:auto;-webkit-overflow-scrolling:touch;padding:22px clamp(20px,4vw,42px) 26px;background:rgba(10,14,18,.66);}
.law-reference-body .law-full-body{max-width:820px;padding-left:clamp(10px,2vw,22px);padding-right:clamp(10px,2vw,22px);}
.law-reference-summary{max-width:760px;}
.law-ref-highlight{outline:2px solid rgba(230,168,23,.72);outline-offset:4px;border-radius:6px;background:rgba(230,168,23,.13);}
.q-nav{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:7px;flex-wrap:wrap;}
.btn-skip{min-height:var(--tap-min);padding:9px 14px;background:transparent;color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;cursor:pointer;display:none;align-items:center;justify-content:center;text-align:center;}
.btn-skip.visible{display:block;}
.btn-skip:hover{border-color:var(--text-muted);color:var(--text-muted);}
.btn-next{min-height:var(--tap-min);padding:9px 20px;background:var(--accent);color:#000;border:none;border-radius:var(--radius);font-size:14px;font-weight:600;cursor:pointer;display:none;margin-left:auto;align-items:center;justify-content:center;text-align:center;}
.btn-next.visible{display:block;}
.home-loading-skeleton{display:grid;gap:10px;margin:10px 0 12px;}
.home-loading-skeleton[hidden]{display:none;}
body:not(.extera-pro) .home-loading-skeleton{display:none!important;}
body:has(.modal-overlay.visible) .home-loading-skeleton,
body:has(.modal-overlay.visible) #setup-count,
body:has(.modal-overlay.visible) #json-loading-status{display:none!important;}
.skeleton-question-card{display:grid;gap:9px;border:1px solid rgba(139,148,158,.16);border-radius:10px;background:rgba(13,17,23,.28);padding:12px;}
.skeleton-line,.skeleton-option{position:relative;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,rgba(139,148,158,.12),rgba(139,148,158,.22),rgba(139,148,158,.12));background-size:240% 100%;animation:skeletonShimmer 1.2s ease-in-out infinite;}
.skeleton-line{height:10px;width:68%;}
.skeleton-line-short{width:34%;}
.skeleton-line-wide{width:82%;}
.skeleton-option{height:38px;border-radius:8px;}
@keyframes skeletonShimmer{0%{background-position:110% 0;}100%{background-position:-110% 0;}}

/* MODE CARDS */
.mode-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.mode-card{position:relative;width:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;font:inherit;color:var(--text);background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)) var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:14px;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .15s;text-align:left;min-height:96px;box-shadow:0 1px 0 rgba(255,255,255,.025) inset;}
.mode-card:hover{border-color:rgba(230,168,23,.55);box-shadow:var(--shadow-soft);}
.mode-card.active{border-color:rgba(230,168,23,.74);background:linear-gradient(180deg,rgba(230,168,23,.14),rgba(230,168,23,.06)) var(--surface2);box-shadow:0 0 0 1px rgba(230,168,23,.18) inset,0 12px 28px rgba(0,0,0,.22);}
.mode-card:active:not(:disabled){transform:translateY(1px);}
.mode-card-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;border:1px solid rgba(var(--mode-icon-rgb,230,168,23),.34);border-radius:8px;background:rgba(var(--mode-icon-rgb,230,168,23),.10);color:var(--mode-icon-color,var(--accent));font-family:var(--mode-icon-font,inherit);font-size:var(--mode-icon-size,15px);font-weight:900;line-height:1;flex:0 0 auto;}
.mode-card-title{display:block;width:100%;font-size:14px;font-weight:850;margin-bottom:3px;color:var(--text);text-align:left;}
.mode-card-desc{display:block;width:100%;font-size:12px;color:var(--text-muted);line-height:1.5;text-align:left;}
.mode-card.active .mode-card-title{color:var(--accent-strong);}
.mode-card-reading{grid-column:1;}
.story-entry-card{display:flex;align-items:flex-start;gap:10px;--mode-icon-rgb:230,168,23;--mode-icon-color:var(--accent);--mode-icon-font:'Lora',serif;--mode-icon-size:15px;border-color:rgba(230,168,23,.24);background:linear-gradient(180deg,rgba(230,168,23,.09),rgba(255,255,255,0)) var(--surface2);}
.story-entry-card:hover{border-color:rgba(230,168,23,.55);}
.story-entry-card .mode-card-title{color:#ffe1a3;}
.law-entry-card{grid-column:3;display:flex;align-items:flex-start;gap:10px;--mode-icon-rgb:63,185,80;--mode-icon-color:var(--correct);--mode-icon-font:'Lora',serif;--mode-icon-size:22px;border-color:rgba(63,185,80,.22);background:linear-gradient(180deg,rgba(63,185,80,.075),rgba(255,255,255,0)) var(--surface2);}
.law-entry-card:hover{border-color:rgba(63,185,80,.48);}
.law-entry-card .mode-card-title{color:#dff8e6;}
.baremo-entry-card{grid-column:4;display:flex;align-items:flex-start;gap:10px;--mode-icon-rgb:88,166,255;--mode-icon-color:#58a6ff;--mode-icon-font:monospace;--mode-icon-size:13px;border-color:rgba(88,166,255,.28);background:linear-gradient(180deg,rgba(88,166,255,.10),rgba(255,255,255,0)) var(--surface2);}
.baremo-entry-card:hover{border-color:rgba(88,166,255,.58);}
.baremo-entry-card .mode-card-title{color:#c9e3ff;}
.mode-card-disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.35);}
.mode-card-disabled:hover{border-color:var(--border);}
.mode-card-disabled .mode-card-title{color:var(--text-muted);}
.mode-card:disabled{cursor:not-allowed;}
.mode-card-locked{opacity:.55;filter:grayscale(.2);border-style:dashed;}
.mode-card-locked .mode-card-desc::after{content:' · Pro';color:var(--accent);font-weight:800;}
.mode-card-locked:not(.active):hover{border-color:var(--border);}
.pro-preview-panel{display:none;margin:10px 0 0;border:1px solid rgba(230,168,23,.24);border-radius:8px;background:rgba(230,168,23,.055);padding:10px;}
.pro-preview-panel.visible{display:block;}
.pro-preview-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.pro-preview-title{font-size:12px;font-weight:850;color:var(--accent);letter-spacing:.04em;text-transform:uppercase;}
.pro-preview-dismiss{width:30px;min-width:30px;min-height:30px;border:1px solid rgba(139,148,158,.24);background:rgba(13,17,23,.38);color:var(--text-muted);border-radius:8px;font:inherit;font-size:16px;font-weight:850;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;}
.pro-preview-dismiss:hover{border-color:rgba(230,168,23,.38);color:var(--accent);background:rgba(230,168,23,.08);}
.pro-preview-action{min-height:32px;border:1px solid rgba(230,168,23,.45);background:var(--accent-dim);color:var(--accent);border-radius:8px;font:inherit;font-size:11px;font-weight:850;padding:6px 9px;cursor:pointer;white-space:nowrap;}
.pro-preview-action:hover{background:rgba(230,168,23,.13);}
.pro-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.pro-preview-item{border:1px solid rgba(139,148,158,.16);background:rgba(13,17,23,.28);border-radius:8px;padding:8px 9px;}
.pro-preview-item strong{display:block;font-size:12px;color:var(--text);margin-bottom:2px;}
.pro-preview-item span{display:block;font-size:11px;line-height:1.35;color:var(--text-muted);}
.pro-preview-foot{font-size:11px;line-height:1.4;color:var(--text-dim);margin-top:8px;}
.subscription-banner.free + .mode-grid + .pro-preview-panel{margin-top:10px;}
.submode-dropdown{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mode-card-dropdown{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;padding-bottom:24px;}
.submode-copy,.mode-card-copy{display:block;min-width:0;text-align:left;}
.submode-chevron{color:var(--text-dim);font-size:12px;line-height:1;transition:transform .18s,color .18s;flex:0 0 auto;}
.mode-card-dropdown>.submode-chevron{position:absolute;right:10px;bottom:8px;left:auto;transform:none;margin:0;color:var(--text-dim);}
.submode-dropdown.active .submode-chevron{transform:rotate(180deg);color:var(--accent);}
.mode-card-dropdown.active>.submode-chevron{transform:rotate(180deg);color:var(--accent);}
.repaso-mode-panel,.exam-mode-panel,.interview-mode-panel{position:static;z-index:auto;grid-column:1/-1;order:5;width:100%;max-height:min(46dvh,460px);overflow:auto;display:grid;gap:8px;margin:0;padding:10px;border:1px solid rgba(230,168,23,.28);border-radius:10px;background:linear-gradient(180deg,rgba(22,27,34,.98),rgba(13,17,23,.98));box-shadow:0 1px 0 rgba(255,255,255,.025) inset;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;}
.repaso-mode-panel{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));}
.exam-mode-panel{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));}
.interview-mode-panel{grid-template-columns:repeat(4,minmax(0,1fr));}
.submode-label{grid-column:1/-1;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:1px;}
.interview-text-heading{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin:2px 0 -2px;padding-top:3px;border-top:1px solid rgba(139,148,158,.14);}
.interview-text-heading span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);}
.interview-text-heading strong{font-size:11px;font-weight:650;line-height:1.25;color:var(--text-muted);text-align:right;}
.repaso-type,.interview-type{background:rgba(13,17,23,.35);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);padding:9px 10px;text-align:left;cursor:pointer;min-height:58px;}
.repaso-type:hover,.interview-type:hover{border-color:rgba(230,168,23,.55);}
.repaso-type.active,.interview-type.active{border-color:var(--accent);background:rgba(230,168,23,.08);color:var(--text);}
.repaso-type:disabled,.interview-type:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.25);}
.repaso-type:disabled:hover,.interview-type:disabled:hover{border-color:var(--border);}
.repaso-type-title,.interview-type-title{display:block;font-size:13px;font-weight:700;color:var(--text);}
.repaso-type.active .repaso-type-title,.interview-type.active .interview-type-title{color:var(--accent);}
.repaso-type:disabled .repaso-type-title,.interview-type:disabled .interview-type-title{color:var(--text-muted);}
.repaso-type-desc,.interview-type-desc{display:block;font-size:11px;line-height:1.35;margin-top:3px;color:var(--text-dim);}
.exam-type-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.exam-type{background:rgba(13,17,23,.35);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);padding:9px 10px;text-align:left;cursor:pointer;min-height:68px;}
.exam-type:hover{border-color:rgba(230,168,23,.55);}
.exam-type.active{border-color:var(--accent);background:rgba(230,168,23,.08);color:var(--text);}
.exam-resume-type{grid-column:1/-1;border-color:rgba(63,185,80,.34);background:rgba(63,185,80,.055);}
.exam-audience-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-2px 0 2px 12px;padding:8px 2px 0 10px;border-left:1px solid rgba(139,148,158,.18);}
.exam-audience-choice{width:100%;min-height:52px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:rgba(13,17,23,.22);color:var(--text);font:inherit;text-align:left;cursor:pointer;}
.exam-audience-choice:hover{border-color:rgba(230,168,23,.42);}
.exam-audience-choice.active{border-color:rgba(230,168,23,.65);background:var(--accent-dim);}
.exam-audience-choice:disabled{opacity:.42;cursor:not-allowed;border-style:dashed;filter:grayscale(.25);}
.exam-audience-choice:disabled:hover{border-color:var(--border);}
.exam-random-resume-panel{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-2px 0 2px 12px;padding:8px 2px 0 10px;border-left:1px solid rgba(139,148,158,.18);}
.exam-resume-choice{width:100%;min-height:54px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:rgba(13,17,23,.22);color:var(--text);font:inherit;text-align:left;cursor:pointer;}
.exam-resume-choice:hover{border-color:rgba(230,168,23,.42);}
.exam-resume-choice.active{border-color:rgba(230,168,23,.65);background:var(--accent-dim);}
.exam-resume-type.active{border-color:rgba(63,185,80,.55);background:rgba(63,185,80,.09);}
.exam-resume-type.active .exam-type-title{color:var(--correct);}
.exam-type-title{display:block;font-size:13px;font-weight:700;color:var(--text);}
.exam-type.active .exam-type-title{color:var(--accent);}
.exam-type-desc{display:block;font-size:11px;line-height:1.35;margin-top:3px;color:var(--text-dim);}
.exam-resume-choice .exam-type-desc{font-size:10px;line-height:1.3;}
.exam-type-locked{opacity:.55;border-style:dashed;}
.exam-type-locked .exam-type-desc::after{content:' · Pro';color:var(--accent);font-weight:800;}
#filter-card.home-mode-expanded #setup-count{margin-top:0;}
.subscription-banner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0 12px;padding:9px 10px;border:1px solid var(--border-soft);border-radius:8px;background:rgba(13,17,23,.42);box-shadow:0 1px 0 rgba(255,255,255,.018) inset;}
.subscription-banner.dismissed{display:none!important;}
.subscription-banner>div{min-width:0;}
.subscription-banner strong{display:block;font-size:12px;color:var(--text);margin-bottom:2px;}
.subscription-banner span{display:block;font-size:11px;color:var(--text-muted);line-height:1.35;}
.subscription-banner-detail{display:none!important;margin-top:2px;color:var(--text-dim)!important;}
.subscription-banner button{flex-shrink:0;border:1px solid rgba(230,168,23,.45);background:var(--accent-dim);color:var(--accent);border-radius:8px;padding:7px 9px;font-size:11px;font-weight:800;cursor:pointer;}
.subscription-banner-close{position:absolute;top:7px;right:7px;width:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;border-color:rgba(139,148,158,.22)!important;background:rgba(13,17,23,.42)!important;color:var(--text-dim)!important;font-size:16px!important;line-height:1!important;}
.subscription-banner-close:hover{border-color:rgba(230,168,23,.4)!important;color:var(--accent)!important;background:rgba(230,168,23,.08)!important;}
.subscription-banner.free:not(.used):not(.pro){padding-right:44px;}
.subscription-banner.free:not(.used){border-color:rgba(63,185,80,.28);background:rgba(63,185,80,.045);}
.subscription-banner.used{border-color:rgba(249,115,22,.32);background:rgba(249,115,22,.055);}
.subscription-banner.free:not(.used) strong{color:var(--correct);}
.subscription-banner.used strong{color:var(--warn);}
.subscription-banner.pro{border-color:rgba(63,185,80,.32);background:rgba(63,185,80,.06);}
.subscription-banner.pro button{border-color:rgba(139,148,158,.35);background:var(--surface2);color:var(--text-muted);}
.subscription-pro-pill{display:inline-flex!important;align-items:center;justify-content:center;margin-right:6px;border:1px solid rgba(230,168,23,.55);border-radius:999px;background:rgba(230,168,23,.12);color:var(--accent)!important;font-size:9px!important;font-weight:950;letter-spacing:.1em;line-height:1;padding:3px 6px;vertical-align:middle;}
body.extera-pro #home-readme-card,body.extera-pro #subscription-banner{display:none!important;}
body.extera-pro #filter-card{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;padding:12px;}
body.extera-pro #filter-card:has(.filters-body.open){flex:1 1 auto;min-height:0;overflow:hidden;}
body.extera-pro .setup-section{margin-bottom:10px;}
body.extera-pro .home-start-section{gap:8px;}
body.extera-pro .home-start-copy{display:none;}
body.extera-pro .home-start-copy .section-label{margin:0;}
body.extera-pro .home-start-copy p{display:none;}
body.extera-pro .mode-grid{gap:7px;}
body.extera-pro .story-entry-card{order:1;}
body.extera-pro .mode-card[data-val="libre"]{order:2;}
body.extera-pro .mode-card[data-val="examen"]{order:3;}
body.extera-pro .mode-card[data-val="repaso"]{order:4;}
body.extera-pro .mode-card-reading{order:6;}
body.extera-pro .law-entry-card{order:7;}
body.extera-pro .baremo-entry-card{order:8;}
body.extera-pro .mode-card{min-height:68px;padding:9px 10px;}
body.extera-pro .mode-card-title{font-size:13px;margin-bottom:1px;}
body.extera-pro .mode-card-desc{font-size:10.5px;line-height:1.25;}
body.extera-pro .mode-card:has(.mode-card-icon){gap:7px;}
body.extera-pro .mode-card .mode-card-icon{width:26px;height:26px;}
body.extera-pro .law-entry-card{--mode-icon-size:18px;}
body.extera-pro .baremo-entry-card{--mode-icon-size:11px;}
body.extera-pro .story-entry-card{--mode-icon-size:13px;}
body.extera-pro .filter-scope{padding-top:8px;}
body.extera-pro .filter-scope-toggle{min-height:38px;padding:8px 10px;}
body.extera-pro .filter-scope-help{display:none;}
body.extera-pro #setup-count{margin-top:0;margin-bottom:6px;font-size:11px;}
body.extera-pro #btn-start{min-height:40px;margin-top:10px;padding:9px 12px;font-size:14px;}
.exam-official-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:2px 0 0 12px;padding:8px 2px 0 10px;border-top:1px solid rgba(139,148,158,.18);border-left:1px solid rgba(139,148,158,.18);max-height:282px;overflow-y:auto;overscroll-behavior:auto;}
.exam-official-list::-webkit-scrollbar{width:4px;}
.exam-official-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;}
.exam-official-option{min-height:54px;padding:7px 9px;display:flex;flex-direction:column;justify-content:center;}
.exam-official-option .exam-type-title{font-size:12px;letter-spacing:.02em;}
.exam-official-option .exam-type-desc{font-size:10px;line-height:1.25;margin-top:2px;}
.exam-official-placeholder{min-height:54px;visibility:hidden;pointer-events:none;}
.exam-official-note{grid-column:1/-1;font-size:10px;line-height:1.4;color:var(--text-dim);border:1px solid rgba(139,148,158,.18);background:rgba(139,148,158,.06);border-radius:8px;padding:7px 9px;}
.exam-resume-warning{grid-column:1/-1;font-size:11px;line-height:1.4;color:var(--warn);border:1px solid rgba(249,115,22,.26);background:rgba(249,115,22,.07);border-radius:8px;padding:8px 10px;}
.filter-scope{border-top:1px solid var(--border);padding-top:12px;}
.filter-scope-row{display:flex;align-items:stretch;gap:8px;min-width:0;}
.filter-scope-toggle{width:100%;min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:10px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:inherit;padding:10px 12px;cursor:pointer;text-align:left;}
.filter-scope-toggle:hover{border-color:rgba(230,168,23,.45);}
.filter-scope.access-locked{opacity:.72;}
.filter-scope-toggle.access-locked{cursor:pointer;border-style:dashed;}
.filter-scope-toggle.access-locked:hover{border-color:rgba(230,168,23,.45);}
.filter-scope-toggle:disabled{opacity:1;}
.filter-scope.access-locked .filter-scope-summary{border-color:rgba(230,168,23,.28);color:var(--accent);background:var(--accent-dim);}
.filter-scope.access-locked .filters-body{display:none!important;}
.filter-scope-title{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0;}
.filter-scope-toggle .section-label{margin-bottom:0;}
.filter-scope-help{font-size:11px;color:var(--text-dim);line-height:1.25;}
.filter-scope-toggle.open .filter-toggle-icon{transform:rotate(180deg);}
.filter-scope-summary{display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;min-width:0;max-width:45%;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--border);border-radius:999px;padding:3px 7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.filter-scope-toggle.has-active .filter-scope-summary{border-color:rgba(230,168,23,.35);color:var(--accent);}
.filters-body{display:none;min-width:0;max-width:100%;padding:8px 0 0 0;}
.filters-body.open{display:block;}
body.extera-pro .filter-scope:has(.filters-body.open){display:flex;flex:0 0 auto;flex-direction:column;min-height:0;margin-bottom:8px;}
body.extera-pro .filter-scope:has(.filters-body.open) .filters-body.open{flex:0 0 auto;min-height:0;overflow:visible;padding-right:0;}
body.extera-pro .filters-body.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;align-content:start;gap:7px;}
body.extera-pro .filters-body.open .filter-section{display:contents;margin:0;}
body.extera-pro .filters-body.open .filter-toggle{order:1;min-height:42px;padding:6px 10px;border-radius:8px;gap:7px;justify-content:center;text-align:center;}
body.extera-pro .filters-body.open .filter-toggle::before{width:18px;height:18px;border-radius:5px;font-size:10px;}
body.extera-pro .filters-body.open .filter-toggle-label{flex:0 1 auto;font-size:14px;font-weight:900;letter-spacing:.055em;line-height:1.08;text-align:center;text-transform:uppercase;font-variant-caps:all-small-caps;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
body.extera-pro .filters-body.open .filter-toggle-meta{display:none;}
body.extera-pro .filters-body.open .filter-toggle-icon{margin-left:0;}
body.extera-pro .filters-body.open .filter-toggle.all-included{border-color:rgba(63,185,80,.42);background:rgba(63,185,80,.09);}
body.extera-pro .filters-body.open .filter-toggle.all-included::before{background:var(--correct);border-color:var(--correct);color:#06130a;}
body.extera-pro .filters-body.open .filter-toggle.all-included .filter-toggle-label{color:#9be9a8;}
body.extera-pro .filters-body.open .filter-toggle.has-active:not(.none-selected){border-color:rgba(230,168,23,.5);background:rgba(230,168,23,.1);}
body.extera-pro .filters-body.open .filter-toggle.has-active:not(.none-selected)::before{background:var(--accent);border-color:var(--accent);color:#0d1117;}
body.extera-pro .filters-body.open .filter-toggle.has-active:not(.none-selected) .filter-toggle-label{color:var(--accent-strong);}
body.extera-pro .filters-body.open .filter-toggle.none-selected{border-color:rgba(248,81,73,.5);background:rgba(248,81,73,.09);}
body.extera-pro .filters-body.open .filter-toggle.none-selected::before{background:var(--wrong);border-color:var(--wrong);color:#fff;}
body.extera-pro .filters-body.open .filter-toggle.none-selected .filter-toggle-label{color:var(--wrong);}
body.extera-pro .filters-body.open .filter-body.open{order:2;grid-column:1/-1;min-width:0;max-width:100%;max-height:min(26dvh,240px);min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:7px 4px 2px 0;}
body.extera-pro .filters-body.open .filter-body.open .compact-pill-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,132px),1fr));}
body.extera-pro .filters-body.open .filter-body.open .law-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
body.extera-pro .filters-body.open .filter-body.open .law-pill-grid .pill[data-val="__todas__"],
body.extera-pro .filters-body.open .filter-body.open .law-pill-grid .filter-search{grid-column:span 1;}
body.extera-pro #filter-card:has(.filters-body.open) .mode-grid>.mode-card{display:flex;}
body.extera-pro #filter-card:has(.filters-body.open) .mode-grid>.mode-card-dropdown,
body.extera-pro #filter-card:has(.filters-body.open) .mode-grid>.law-entry-card,
body.extera-pro #filter-card:has(.filters-body.open) .mode-grid>.baremo-entry-card{display:flex;}
body.extera-pro #filter-card:has(.filters-body.open .filter-body.open) .mode-card-reading,
body.extera-pro #filter-card:has(.filters-body.open .filter-body.open) .law-entry-card,
body.extera-pro #filter-card:has(.filters-body.open .filter-body.open) .baremo-entry-card{display:none!important;}
body.extera-pro #filter-card:has(.filters-body.open) #setup-count{margin-top:0;}
body.extera-pro #filter-card:has(.filters-body.open) #btn-start{flex:0 0 auto;}
@media(min-width:641px){
  body.extera-pro .filters-body.open{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.extera-pro .filters-body.open .filter-body.open .compact-pill-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  body.extera-pro .filters-body.open .filter-body.open .law-pill-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
  body.extera-pro .filters-body.open .filter-body.open .law-pill-grid .pill[data-val="__todas__"]{grid-column:span 1;}
  body.extera-pro .filters-body.open .filter-body.open .law-pill-grid .filter-search{grid-column:span 2;}
  body.extera-pro #filter-card:has(.filters-body.open) .mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  body.extera-pro #filter-card:has(.filters-body.open) .mode-grid>.mode-card-dropdown,
  body.extera-pro #filter-card:has(.filters-body.open) .mode-grid>.law-entry-card,
  body.extera-pro #filter-card:has(.filters-body.open) .mode-grid>.baremo-entry-card{display:flex;}
  body.extera-pro #filter-card:has(.filters-body.open .filter-body.open) .mode-card-reading,
  body.extera-pro #filter-card:has(.filters-body.open .filter-body.open) .law-entry-card,
  body.extera-pro #filter-card:has(.filters-body.open .filter-body.open) .baremo-entry-card{display:none!important;}
}
@media(min-width:900px){
  body.extera-pro .filters-body.open .filter-body.open .law-pill-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  body.extera-pro .filters-body.open .filter-body.open .law-pill-grid .pill[data-val="__todas__"]{grid-column:span 1;}
  body.extera-pro .filters-body.open .filter-body.open .law-pill-grid .filter-search{grid-column:span 3;}
}
.filter-pro-preview{display:none;margin-top:9px;}
.filter-pro-preview.open{display:block;}
.filter-pro-preview-card{border:1px solid rgba(230,168,23,.28);border-radius:10px;background:rgba(230,168,23,.055);padding:12px;}
.filter-pro-preview-kicker{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:3px;}
.filter-pro-preview-title{font-size:14px;font-weight:850;color:var(--text);margin-bottom:4px;}
.filter-pro-preview-card p{font-size:12px;line-height:1.45;color:var(--text-muted);margin-bottom:9px;}
.filter-pro-preview-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px;}
.filter-pro-preview-examples span{border:1px solid rgba(139,148,158,.18);border-radius:8px;background:rgba(13,17,23,.28);color:var(--text-muted);font-size:11px;font-weight:750;text-align:center;padding:7px 6px;}
.filter-pro-preview-card button{width:100%;min-height:38px;border:1px solid rgba(230,168,23,.45);border-radius:8px;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:12px;font-weight:850;cursor:pointer;}
.filter-pro-preview-card button:hover{background:rgba(230,168,23,.13);}
#filter-card:has(#filter-pro-preview.open) #home-readme-card{display:none!important;}
#filter-card:has(#filter-pro-preview.open) #btn-start{margin-top:auto;}
#filter-card:has(#filter-pro-preview.open) .filter-pro-preview-card{padding:10px;}
#filter-card:has(#filter-pro-preview.open) .filter-pro-preview-examples{margin-bottom:8px;}
.filter-reset-btn{display:none;align-items:center;justify-content:center;min-height:42px;flex:0 0 auto;background:rgba(248,81,73,.07);border:1px solid rgba(248,81,73,.22);border-radius:8px;color:var(--wrong);font-size:12px;font-weight:650;cursor:pointer;padding:8px 10px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s,background .15s;}
.filter-reset-btn.visible{display:inline-flex;opacity:1;pointer-events:auto;}
.filter-reset-btn:hover{background:rgba(248,81,73,.12);}
@media(max-width:420px){.filter-scope-row{gap:6px;}.filter-reset-btn{font-size:11px;padding:8px;}.filter-scope-summary{display:none;}}
@media(max-width:520px){.filter-pro-preview-examples{grid-template-columns:1fr;}}

@media(max-width:420px){
  .mobile-tab{min-height:34px;padding:5px 9px;font-size:12px;}
  .mobile-tab[data-short] span:first-child{display:none;}
  .mobile-tab[data-short]::before{content:attr(data-short);}
  .mobile-tab .app-plan-badge{margin-left:2px;font-size:7px;padding:2px 4px;}
}
@media(max-width:340px){
  .mobile-tab{min-width:0;padding:5px 8px;font-size:12px;flex:1 1 0;}
  .mobile-tab[data-tiny]::before{content:attr(data-tiny);}
}
.pill.all-active{border-color:rgba(63,185,80,.42);background:rgba(63,185,80,.09);color:#9be9a8;font-weight:750;}
.pill.all-active::before{content:'';display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;border:1px solid var(--correct);background:var(--correct);box-shadow:inset 0 0 0 3px rgba(0,0,0,.18);flex:0 0 auto;}
.pill.included-default{background:rgba(139,148,158,.055);border-color:rgba(139,148,158,.24);color:var(--text-muted);}
.pill.included-default::before{content:'';display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;border:1px solid rgba(139,148,158,.34);background:rgba(139,148,158,.1);box-shadow:inset 0 0 0 4px var(--surface2);flex:0 0 auto;}
.pill.excluded-filter,.pill.none-selected{background:rgba(248,81,73,.075);border-color:rgba(248,81,73,.32);color:var(--wrong);font-weight:650;}
.pill.excluded-filter::before,.pill.none-selected::before{content:'';display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;border:1px solid rgba(248,81,73,.5);background:rgba(248,81,73,.2);box-shadow:inset 0 0 0 4px var(--surface2);flex:0 0 auto;}
.compact-pill-grid .pill.included-default:not([data-val="__todas__"])::before{border-color:rgba(139,148,158,.34);background:rgba(139,148,158,.1);box-shadow:inset 0 0 0 4px var(--surface2);}
.compact-pill-grid .pill.multi-active:not([data-val="__todas__"]){background:rgba(230,168,23,.08);border-color:rgba(230,168,23,.42);color:var(--accent-strong);font-weight:750;}
.compact-pill-grid .pill.multi-active:not([data-val="__todas__"])::before{border-color:var(--accent);background:var(--accent);box-shadow:inset 0 0 0 3px rgba(0,0,0,.18);}
#setup-count{font-size:12px;color:var(--text-muted);margin-bottom:10px;}
#count-warn{display:none;font-size:12px;color:var(--warn);margin-bottom:10px;padding:8px 10px;background:rgba(249,115,22,.08);border:1px solid rgba(249,115,22,.28);border-radius:8px;}
.start-action-hint{display:none;margin-top:8px;font-size:12px;font-weight:650;color:var(--wrong);text-align:center;}
.start-action-hint.visible{display:block;}
.start-action-hint-inner{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;}
.start-action-hint button{min-height:34px;border:1px solid rgba(230,168,23,.45);border-radius:8px;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:12px;font-weight:850;padding:7px 10px;cursor:pointer;}
.start-action-hint button:hover{background:rgba(230,168,23,.13);}
#json-loading-status{display:none;font-size:12px;color:var(--text-muted);margin-bottom:10px;padding:8px 10px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;}
@media(max-width:720px){.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.mode-card{min-height:92px;}.mode-card-reading{grid-column:1;}.law-entry-card{grid-column:1;}.baremo-entry-card{grid-column:2;}.repaso-mode-panel,.exam-mode-panel,.interview-mode-panel,.exam-official-list,.exam-audience-panel{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.pro-preview-grid{grid-template-columns:1fr;}}
@media(max-width:720px),(max-height:760px){
  #filter-card{display:flex!important;flex:1 1 auto;flex-direction:column;min-height:0;max-height:calc(100dvh - 96px - var(--safe-top) - var(--safe-bottom));overflow:hidden;padding:10px;margin-bottom:6px;}
  #home-readme-card{display:none!important;}
  .home-start-section{gap:7px;margin-bottom:7px;min-height:0;overflow:visible;}
  #filter-card.home-mode-expanded .home-start-section{
    flex:1 1 auto;
    min-height:0;
    overflow:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding-right:2px;
  }
  #filter-card.home-mode-expanded .filter-scope,
  #filter-card.home-mode-expanded #setup-count,
  #filter-card.home-mode-expanded #count-warn,
  #filter-card.home-mode-expanded #json-loading-status,
  #filter-card.home-mode-expanded #btn-start{
    flex:0 0 auto;
  }
  #filter-card.home-mode-expanded .exam-official-list{
    max-height:min(40dvh, 340px);
    overflow-y:auto;
  }
  #filter-card.home-mode-expanded:has(.filters-body.open) .home-start-section{
    flex:0 1 auto;
    max-height:clamp(126px,30dvh,220px);
  }
  .home-start-copy{display:none;}
  .mode-grid{gap:6px;}
  .mode-card{min-height:58px;padding:7px 8px;}
  .mode-card-title{font-size:12px;line-height:1.12;margin-bottom:1px;}
  .mode-card-desc{font-size:9.5px;line-height:1.15;}
  .pro-preview-panel.visible{display:none;}
  .pro-preview-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;margin:0;}
  .pro-preview-title{font-size:10px;letter-spacing:.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .pro-preview-dismiss{width:24px;min-width:24px;min-height:24px;border-radius:6px;font-size:13px;}
  .pro-preview-action{min-height:26px;padding:4px 7px;border-radius:6px;font-size:10px;}
  .pro-preview-grid,.pro-preview-foot{display:none;}
  #filter-card:has(#filter-pro-preview.open) .subscription-banner{display:none!important;}
  #filter-card:has(#filter-pro-preview.open) .mode-card-disabled,
  #filter-card:has(#filter-pro-preview.open) .law-entry-card,
  #filter-card:has(#filter-pro-preview.open) .baremo-entry-card{display:none!important;}
  #filter-card:has(#filter-pro-preview.open) .filter-pro-preview{margin-top:6px;}
  #filter-card:has(#filter-pro-preview.open) .filter-pro-preview-card{padding:8px;}
  #filter-card:has(#filter-pro-preview.open) .filter-pro-preview-kicker{font-size:9px;margin-bottom:1px;}
  #filter-card:has(#filter-pro-preview.open) .filter-pro-preview-title{font-size:12px;margin-bottom:2px;}
  #filter-card:has(#filter-pro-preview.open) .filter-pro-preview-card p{font-size:10.5px;line-height:1.25;margin-bottom:6px;}
  #filter-card:has(#filter-pro-preview.open) .filter-pro-preview-examples{display:none;}
  #filter-card:has(#filter-pro-preview.open) .filter-pro-preview-card button{min-height:30px;padding:5px 8px;font-size:11px;}
  .filter-scope{padding-top:6px;margin-bottom:6px;}
  .filter-scope-toggle{min-height:36px;padding:7px 9px;}
  #setup-count{font-size:11px;margin-bottom:6px;}
  #btn-start{flex:0 0 auto;margin-top:auto;min-height:40px;padding:9px 11px;font-size:14px;}
  .app-footer{display:none;}
}
@media(max-height:860px){
  #home-readme-card{display:none!important;}
}
@media(max-width:420px){
  .mode-card-desc{display:block;font-size:9px;line-height:1.12;}
}
@media(max-width:360px),(max-height:620px){
  #filter-card{max-height:calc(100dvh - 74px - var(--safe-top) - var(--safe-bottom));padding:8px;}
  .mode-card{min-height:48px;padding:6px 7px;}
  .mode-card-desc{display:none;}
  .pro-preview-panel.visible{display:none;}
  .mode-card .mode-card-icon{display:none;}
  .filter-scope{padding-top:4px;margin-bottom:4px;}
  .filter-scope-toggle{min-height:32px;padding:6px 8px;}
  #setup-count{display:none;}
  #btn-start{min-height:36px;font-size:13px;padding:7px 9px;}
}
@media(max-width:360px),(max-height:500px){
  #filter-card:has(#filter-pro-preview.open) .filter-pro-preview-card p{display:none;}
  #filter-card:has(#filter-pro-preview.open) .mode-card{min-height:42px;}
  #filter-card:has(#filter-pro-preview.open) .home-start-section{display:none!important;}
  #filter-card:has(#filter-pro-preview.open) .start-action-hint.visible{margin-top:5px;font-size:10.5px;line-height:1.22;}
  #filter-card:has(#filter-pro-preview.open) .start-action-hint-inner{gap:5px;}
  #filter-card:has(#filter-pro-preview.open) .start-action-hint button{min-height:28px;padding:5px 8px;font-size:10.5px;}
}
@media(max-width:760px){
  body.extera-pro .app-header{margin-bottom:8px;padding:8px 10px;}
  body.extera-pro #filter-card{padding:10px;margin-bottom:8px;}
  body.extera-pro .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
  body.extera-pro .mode-card{min-height:58px;padding:8px;}
  body.extera-pro .mode-card-title{font-size:12px;}
  body.extera-pro .mode-card-desc{font-size:10px;line-height:1.2;}
  body.extera-pro .mode-card-reading{grid-column:1;}
  body.extera-pro .law-entry-card{grid-column:1;}
  body.extera-pro .baremo-entry-card{grid-column:2;}
  body.extera-pro .repaso-mode-panel,
  body.extera-pro .exam-mode-panel,
  body.extera-pro .interview-mode-panel{gap:6px;}
  body.extera-pro .exam-type,
  body.extera-pro .repaso-type,
  body.extera-pro .interview-type{min-height:48px;padding:7px 8px;}
  body.extera-pro .exam-type-title,
  body.extera-pro .repaso-type-title,
  body.extera-pro .interview-type-title{font-size:12px;}
  body.extera-pro .exam-type-desc,
  body.extera-pro .repaso-type-desc,
  body.extera-pro .interview-type-desc{font-size:10px;line-height:1.2;margin-top:1px;}
}
@media(max-width:420px),(max-height:700px){
  body.extera-pro .mode-card{min-height:58px;padding:7px 8px;}
  body.extera-pro .mode-card-desc{display:block;font-size:9.5px;line-height:1.16;}
  body.extera-pro .mode-card .mode-card-icon{width:24px;height:24px;}
  body.extera-pro .filter-scope{padding-top:6px;}
  body.extera-pro .filter-scope-toggle{min-height:34px;padding:7px 9px;}
  body.extera-pro .filter-scope-summary{font-size:9px;min-width:62px;}
  body.extera-pro #setup-count,
  body.extera-pro #count-warn,
  body.extera-pro #json-loading-status{margin-bottom:5px;}
  body.extera-pro #btn-start{min-height:38px;}
}
@media(min-width:641px){
  body.extera-pro .mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
  body.extera-pro .mode-card-reading{grid-column:auto;}
  body.extera-pro .law-entry-card{grid-column:auto;}
  body.extera-pro .baremo-entry-card{grid-column:auto;}
}
@media(min-width:641px) and (min-height:700px){
  body.extera-pro .mode-grid{gap:12px;}
  body.extera-pro .mode-card{min-height:clamp(150px,23dvh,188px);padding:16px;}
  body.extera-pro .mode-card-title{font-size:16px;margin-bottom:5px;}
  body.extera-pro .mode-card-desc{font-size:13px;line-height:1.38;}
  body.extera-pro .mode-card:has(.mode-card-icon){gap:12px;}
  body.extera-pro .mode-card .mode-card-icon{width:38px;height:38px;}
  body.extera-pro .story-entry-card{--mode-icon-size:15px;}
  body.extera-pro .law-entry-card{--mode-icon-size:24px;}
  body.extera-pro .baremo-entry-card{--mode-icon-size:14px;}
}
@media(min-height:760px){
  body.extera-pro #filter-card{padding:14px;}
  body.extera-pro .home-start-section{gap:10px;}
  body.extera-pro .mode-grid{gap:9px;}
  body.extera-pro .mode-card{min-height:76px;padding:11px 12px;}
  body.extera-pro .mode-card-title{font-size:14px;margin-bottom:2px;}
  body.extera-pro .mode-card-desc{font-size:11.5px;line-height:1.3;}
  body.extera-pro .mode-card:has(.mode-card-icon){gap:9px;}
  body.extera-pro .mode-card .mode-card-icon{width:30px;height:30px;}
  body.extera-pro .story-entry-card{--mode-icon-size:13px;}
  body.extera-pro .law-entry-card{--mode-icon-size:20px;}
  body.extera-pro .baremo-entry-card{--mode-icon-size:12px;}
  body.extera-pro .filter-scope{padding-top:10px;}
  body.extera-pro .filter-scope-toggle{min-height:42px;padding:9px 11px;}
  body.extera-pro #setup-count{font-size:12px;}
  body.extera-pro #btn-start{min-height:48px;padding:12px 14px;font-size:15px;}
}
@media(min-height:880px){
  body.extera-pro #filter-card{padding:16px;}
  body.extera-pro .home-start-section{gap:12px;}
  body.extera-pro .mode-grid{gap:10px;}
  body.extera-pro .mode-card{min-height:86px;padding:13px;}
  body.extera-pro .mode-card-title{font-size:15px;}
  body.extera-pro .mode-card-desc{font-size:12px;line-height:1.35;}
  body.extera-pro .filter-scope-toggle{min-height:46px;padding:10px 12px;}
  body.extera-pro #btn-start{min-height:54px;font-size:16px;}
}
@media(min-width:641px) and (min-height:700px){
  body.extera-pro .mode-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
  body.extera-pro .mode-card{min-height:clamp(150px,23dvh,188px);padding:16px;}
  body.extera-pro .mode-card-title{font-size:16px;margin-bottom:5px;}
  body.extera-pro .mode-card-desc{font-size:13px;line-height:1.38;}
  body.extera-pro .mode-card:has(.mode-card-icon){gap:12px;}
  body.extera-pro .mode-card .mode-card-icon{width:38px;height:38px;}
  body.extera-pro .story-entry-card{--mode-icon-size:15px;}
  body.extera-pro .law-entry-card{--mode-icon-size:24px;}
  body.extera-pro .baremo-entry-card{--mode-icon-size:14px;}
}
@media(min-width:641px) and (min-height:740px){
  body.extera-pro .app-header{padding:13px 14px;margin-bottom:16px;}
  body.extera-pro .app-badge{font-size:11px;padding:4px 10px;}
  body.extera-pro .brand-mark{font-size:30px;}
  body.extera-pro .brand-subtitle{font-size:13px;}
  body.extera-pro #filter-card{padding:16px;}
  body.extera-pro .mode-card:has(.mode-card-icon){flex-direction:column;align-items:center;justify-content:center;text-align:center;}
  body.extera-pro .mode-card:has(.mode-card-icon) .mode-card-copy{text-align:center;}
  body.extera-pro #btn-start{min-height:62px;padding:15px 16px;font-size:17px;}
}
body.extera-pro #setup-count{margin-top:0;}
body.extera-pro #btn-start{margin-top:10px;}
body.extera-pro #filter-card:has(.filters-body.open) #setup-count{margin-top:0;}

/* Home responsive smoothing: fluid spacing first, hard cuts only when space is genuinely gone. */
body .app-header{margin-bottom:clamp(5px,1.2dvh,16px);padding:clamp(6px,1.35dvh,13px) clamp(8px,2.4vw,14px);}
body .app-badge{font-size:clamp(9px,1.35dvh,11px);padding:clamp(3px,.55dvh,4px) clamp(8px,1.8vw,10px);}
body .brand-mark{font-size:clamp(22px,4.1dvh,30px);}
body .brand-subtitle{font-size:clamp(11px,1.65dvh,13px);}
body .mobile-tabbar{gap:clamp(3px,.9vw,6px);padding:clamp(3px,.8dvh,4px);}
body .mobile-tab{min-height:clamp(30px,5.4dvh,38px);padding:clamp(4px,.9dvh,6px) clamp(8px,2.3vw,13px);font-size:clamp(11px,1.75dvh,14px);}
body #filter-card{padding:clamp(8px,1.85dvh,16px);margin-bottom:clamp(0px,.9dvh,8px);}
body .setup-section{margin-bottom:clamp(5px,1.2dvh,10px);}
body .home-start-section{gap:clamp(6px,1.3dvh,12px);}
body .mode-grid{gap:clamp(5px,1.05dvh,12px);}
body .mode-card{min-height:clamp(42px,10.6dvh,112px);padding:clamp(5px,1.45dvh,14px) clamp(7px,2vw,14px);}
body .mode-card-title{font-size:clamp(11px,2dvh,16px);line-height:1.13;margin-bottom:clamp(0px,.55dvh,5px);}
body .mode-card-desc{display:block;font-size:clamp(9px,1.55dvh,12px);line-height:1.18;}
body .mode-card:has(.mode-card-icon){gap:clamp(6px,1.4dvh,12px);}
body .mode-card .mode-card-icon{width:clamp(22px,4.1dvh,38px);height:clamp(22px,4.1dvh,38px);}
body .story-entry-card{--mode-icon-size:clamp(12px,2.1dvh,15px);}
body .law-entry-card{--mode-icon-size:clamp(16px,3dvh,24px);}
body .baremo-entry-card{--mode-icon-size:clamp(10px,1.8dvh,14px);}
body .filter-scope{padding-top:clamp(5px,1.2dvh,10px);}
body .filter-scope-toggle{min-height:clamp(30px,5.8dvh,46px);padding:clamp(6px,1.2dvh,10px) clamp(8px,2vw,12px);}
body .filters-body.open{gap:clamp(5px,1dvh,7px);}
body .filters-body.open .filter-toggle{min-height:clamp(30px,5.5dvh,42px);padding:clamp(4px,1dvh,6px) clamp(5px,1.8vw,10px);}
body .filters-body.open .filter-toggle-label{font-size:clamp(10px,1.85dvh,14px);}
body #setup-count{margin-bottom:clamp(4px,.9dvh,6px);font-size:clamp(10px,1.6dvh,12px);}
body #btn-start{margin-top:auto;min-height:clamp(34px,6.4dvh,62px);padding:clamp(7px,1.5dvh,15px) clamp(9px,2.4vw,16px);font-size:clamp(13px,2.15dvh,17px);}
body:not(.quiz-active) #btn-start{margin-top:clamp(10px,2dvh,18px)!important;}
body .app-footer{gap:clamp(4px,2.4vw,12px);padding-top:clamp(5px,1.2dvh,10px);}
body .app-footer button{font-size:clamp(9px,1.45dvh,11px);padding:3px clamp(3px,1.7vw,7px);}
@media(max-height:620px){
  body .app-footer{display:none;}
}
@media(max-height:580px){
  body .brand-subtitle{display:none;}
  body .mode-card-desc{font-size:clamp(8.8px,1.45dvh,10px);line-height:1.12;}
  body #setup-count{display:block;}
}
@media(max-width:520px),(max-height:540px){
  body .mode-card{align-items:center;justify-content:center;text-align:center;}
  body .mode-card-copy{text-align:center;}
  body .mode-card-dropdown .mode-card-copy{width:100%;padding-right:0;}
  body .mode-card .mode-card-icon{display:none;}
  body .mode-card-desc{display:block;font-size:clamp(8.8px,1.45dvh,10px);line-height:1.12;}
  body #setup-count{display:none;}
}

/* Keep home tiles visually consistent across Safari/desktop/tablet/mobile.
   Earlier compact-height rules may center cards; this final pass restores the
   shared left-aligned reading pattern and leaves chevrons tucked in the corner. */
body .mode-card,
body.extera-pro .mode-card,
body.extera-pro .law-entry-card,
body.extera-pro .baremo-entry-card{
  align-items:flex-start;
  justify-content:center;
  text-align:left;
}
body.extera-pro .law-entry-card,
body.extera-pro .baremo-entry-card{
  flex-direction:row;
}
body .mode-card-copy,
body.extera-pro .mode-card-copy,
body.extera-pro .law-entry-card .mode-card-copy,
body.extera-pro .baremo-entry-card .mode-card-copy{
  width:100%;
  min-width:0;
  text-align:left;
}
body .mode-card-title,
body .mode-card-desc{
  text-align:left;
}
body .mode-card-dropdown .mode-card-copy{
  padding-right:18px;
}
body .mode-card-dropdown>.submode-chevron{
  right:9px;
  bottom:7px;
  left:auto;
  transform:none;
}
body .mode-card-dropdown.active>.submode-chevron{
  transform:rotate(180deg);
}
@media(max-height:500px){
  body .mode-card-reading,
  body .law-entry-card,
  body .baremo-entry-card{display:none!important;}
}
@media(max-height:480px){
  body .app-badge{display:none;}
  body .filters-body.open .filter-toggle::before{display:none;}
  body .filters-body.open .filter-body.open{max-height:min(16dvh,80px);}
}
.beta-private-panel{display:none!important;}
body.extera-debug .beta-private-panel{display:flex!important;}
@media(max-width:640px){.interview-mode-panel{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:380px){.repaso-mode-panel,.exam-mode-panel,.interview-mode-panel,.exam-official-list,.exam-audience-panel,.exam-type-row{grid-template-columns:1fr;}.exam-official-placeholder{display:none;}}

/* LECTURA / ENTREVISTA */
:root{
  --interview-pixel-font:"LucasArts SCUMM Menu","LucasArts SCUMM","Secret of Monkey Island","Monkey Island 1990","Perfect DOS VGA 437","IBM VGA 8x16","Courier New",ui-monospace,monospace;
}
body.interview-open{overflow:hidden;}
body.interview-text-open{overflow:hidden;}
.interview-text-panel{position:fixed;inset:0;z-index:1580;display:none;align-items:center;justify-content:center;background:rgba(3,7,12,.78);padding:18px;}
.interview-text-panel.visible{display:flex;}
.interview-text-card{position:relative;width:min(900px,100%);max-height:min(760px,94dvh);overflow:auto;border:1px solid var(--border);border-radius:12px;background:linear-gradient(180deg,rgba(19,27,37,.98),rgba(9,13,20,.98));box-shadow:0 24px 80px rgba(0,0,0,.55);padding:24px;}
.interview-text-close{position:absolute;top:16px;right:16px;border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.04);color:var(--text-muted);font:inherit;font-size:12px;font-weight:750;padding:7px 10px;cursor:pointer;}
.interview-text-close:hover{border-color:var(--accent);color:var(--accent);}
.interview-text-kicker{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
.interview-text-card h2{margin:0 76px 18px 0;font-size:clamp(24px,4vw,36px);line-height:1.1;color:var(--text);}
.interview-text-content{display:grid;gap:12px;}
.interview-text-item{border:1px solid rgba(255,255,255,.08);border-radius:10px;background:rgba(255,255,255,.035);padding:14px 15px;}
.interview-text-item h3{margin:0 0 7px;font-size:14px;line-height:1.25;color:var(--accent);}
.interview-text-item p{margin:0;font-size:14px;line-height:1.55;color:var(--text-muted);}
.interview-question-group ul{margin:10px 0 0;padding-left:18px;display:grid;gap:7px;}
.interview-question-group li{font-size:13px;line-height:1.45;color:var(--text-muted);}
.interview-text-source{border-color:rgba(230,168,23,.28);background:rgba(230,168,23,.07);}
.interview-shell{position:fixed;inset:0;z-index:1600;display:none;align-items:center;justify-content:center;background:#030303;color:#f8f1b6;padding:18px;font-family:var(--interview-pixel-font);}
.interview-shell.visible{display:flex;}
.interview-stage{position:relative;width:min(1120px,100%);height:min(760px,100%);min-height:560px;border:4px solid #1c2c24;border-radius:0;overflow:hidden;background:#060806;box-shadow:0 28px 80px rgba(0,0,0,.78),0 0 0 2px #000 inset,0 0 0 6px rgba(96,133,101,.28);}
.interview-bg{position:absolute;inset:0;background-color:#101410;background-size:320px auto;opacity:.54;image-rendering:pixelated;}
.interview-stage::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 42%,transparent 0,transparent 48%,rgba(0,0,0,.42) 100%);}
.interview-stage::after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(rgba(255,255,255,.04) 50%,rgba(0,0,0,.08) 50%);background-size:100% 4px;mix-blend-mode:overlay;opacity:.42;}
.interview-shell.serious .interview-stage::after{opacity:.22;}
.interview-topbar{position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 14px;background:linear-gradient(180deg,rgba(0,0,0,.86),rgba(0,0,0,.24));border-bottom:2px solid rgba(126,231,135,.18);}
.interview-topbar strong{display:block;font-size:18px;letter-spacing:0;color:#7ee787;text-transform:uppercase;text-shadow:2px 2px 0 #000;}
.interview-kicker{display:block;max-width:760px;font-size:10px;font-weight:850;letter-spacing:0;color:rgba(248,241,182,.78);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:2px 2px 0 #000;}
.interview-close{min-height:34px;border:2px solid rgba(248,241,182,.45);border-radius:0;background:#090c09;color:#f8f1b6;font:inherit;font-size:12px;font-weight:850;text-transform:uppercase;cursor:pointer;padding:7px 12px;box-shadow:2px 2px 0 #000;}
.interview-close:hover{border-color:#ffd866;color:#ffd866;background:#14140a;}
.interview-tribunal-frame{position:absolute;left:50%;top:72px;z-index:1;transform:translateX(-50%);width:min(920px,92%);height:52%;display:flex;align-items:center;justify-content:center;}
.interview-tribunal-frame img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 24px 32px rgba(0,0,0,.75)) saturate(1.08) contrast(1.08);}
.interview-stage-title{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#7ee787;font-size:clamp(24px,4.4vw,54px);font-weight:950;line-height:1.15;text-align:center;text-transform:uppercase;text-shadow:3px 3px 0 #000,0 0 18px rgba(126,231,135,.24);}
.interview-stage-title[hidden]{display:none;}
.interview-shell.interview-door-screen .interview-tribunal-frame{top:58px;height:61%;width:min(620px,72%);}
.interview-shell.interview-door-screen .interview-tribunal-frame img{width:auto;height:100%;object-fit:contain;}
.interview-dialogue{position:absolute;left:16px;right:16px;bottom:16px;z-index:6;border:3px solid #78986f;border-radius:0;background:rgba(0,0,0,.92);box-shadow:0 18px 42px rgba(0,0,0,.66),0 0 0 2px #000 inset,4px 4px 0 rgba(0,0,0,.85);padding:15px;}
.interview-speaker-row{display:flex;align-items:center;gap:10px;margin-bottom:8px;min-height:18px;}
.interview-speaker{font-size:12px;font-weight:950;letter-spacing:0;text-transform:uppercase;text-shadow:2px 2px 0 #000;}
.interview-role{font-size:10px;font-weight:850;color:rgba(248,241,182,.62);letter-spacing:0;text-transform:uppercase;text-shadow:2px 2px 0 #000;}
.interview-text{min-height:82px;font-family:var(--interview-pixel-font);font-size:17px;line-height:1.5;color:#b8f7c4;text-shadow:2px 2px 0 #000;white-space:pre-wrap;}
.interview-shell.serious .interview-text{color:#f3f6d2;text-transform:none;}
.interview-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;}
.interview-choice{min-height:42px;border:2px solid rgba(126,231,135,.32);border-radius:0;background:#071008;color:#b8f7c4;font:inherit;font-size:13px;font-weight:750;text-align:left;cursor:pointer;padding:9px 11px;box-shadow:2px 2px 0 #000;text-shadow:2px 2px 0 #000;}
.interview-choice:hover,.interview-choice.focused{border-color:#7ee787;background:#102016;color:#b8f7c4;}
.interview-footer{margin-top:10px;font-size:10px;font-weight:850;letter-spacing:0;color:rgba(248,241,182,.52);text-transform:uppercase;text-align:right;text-shadow:2px 2px 0 #000;}
.interview-shell.serious .interview-dialogue{border-color:#5c6772;background:rgba(3,7,12,.94);}
.interview-shell.serious .interview-choice{border-color:rgba(126,231,135,.32);background:#10151c;color:#b8f7c4;}
.interview-shell.serious .interview-choice:hover,.interview-shell.serious .interview-choice.focused{border-color:#7ee787;background:#102016;color:#b8f7c4;}
.interview-shell.interview-no-tribunal .interview-tribunal-frame{display:none!important;}
.interview-shell.interview-no-tribunal .interview-dialogue{top:64px;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;justify-content:center;}
.interview-shell.interview-no-tribunal .interview-text{font-size:clamp(17px,2.6vw,24px);line-height:1.45;min-height:0;}
.interview-shell.interview-rules-screen .interview-dialogue{justify-content:flex-start;overflow:auto;}
.interview-shell.interview-rules-screen .interview-speaker-row{display:block;margin-bottom:16px;}
.interview-shell.interview-rules-screen .interview-speaker{display:block;font-size:clamp(18px,3vw,28px);line-height:1.2;margin-bottom:8px;color:#7ee787!important;}
.interview-shell.interview-rules-screen .interview-role{display:block;font-size:clamp(16px,2.5vw,24px);line-height:1.2;color:#f8f1b6;}
.interview-shell.interview-rules-screen .interview-text{font-size:clamp(16px,2.2vw,23px);}
.interview-shell.interview-rule-title-screen .interview-text{font-size:clamp(30px,5.2vw,62px);font-weight:950;text-align:center;margin:auto;text-transform:uppercase;color:#7ee787;}
.interview-shell.interview-reading-screen .interview-text{color:#b8f7c4;}
.interview-shell.interview-question-screen .interview-text{color:#b8f7c4;}
.interview-shell.interview-choices-visible .interview-text{min-height:0;}
.interview-shell.interview-choices-visible .interview-dialogue{padding-top:12px;}
.interview-shell.interview-action-screen .interview-text{color:#f8f1b6;text-align:center;}
.interview-shell.interview-summary-screen .interview-dialogue{top:64px;left:18px;right:18px;bottom:18px;display:flex;flex-direction:column;justify-content:center;}
.interview-shell.interview-summary-screen .interview-speaker{font-size:clamp(22px,4vw,48px);color:#7ee787!important;text-align:center;}
.interview-shell.interview-summary-screen .interview-speaker-row{display:block;text-align:center;}
.interview-shell.interview-summary-screen .interview-role{display:none;}
.interview-shell.interview-summary-screen .interview-text{min-height:0;text-align:center;font-size:clamp(18px,2.7vw,28px);}
.interview-shell::before{content:'';position:absolute;inset:0;z-index:1700;pointer-events:none;background:#000;opacity:0;transition:opacity 1.35s steps(8,end);}
.interview-shell.interview-fading::before{opacity:1;}
@media(max-width:720px){
  .interview-shell{padding:0;}
  .interview-stage{height:100%;min-height:100%;border-radius:0;border-left:0;border-right:0;}
  .interview-topbar{padding:12px;}
  .interview-topbar strong{font-size:15px;}
  .interview-kicker{max-width:230px;}
  .interview-tribunal-frame{top:64px;width:100%;height:40%;}
  .interview-stage-title{font-size:clamp(22px,8vw,38px);padding:0 18px;}
  .interview-shell.interview-door-screen .interview-tribunal-frame{top:58px;width:76%;height:56%;}
  .interview-dialogue{left:10px;right:10px;bottom:10px;padding:12px;}
  .interview-text{font-size:14px;line-height:1.42;min-height:86px;}
  .interview-choices{grid-template-columns:1fr;}
  .interview-choice{font-size:12.5px;min-height:40px;padding:8px 10px;}
  .interview-footer{text-align:left;font-size:9px;}
  .interview-shell.interview-no-tribunal .interview-dialogue{top:58px;left:10px;right:10px;bottom:10px;}
  .interview-shell.interview-no-tribunal .interview-text{font-size:clamp(15px,4.8vw,21px);}
  .interview-shell.interview-rules-screen .interview-text{font-size:clamp(15px,4.2vw,19px);}
  .interview-shell.interview-rule-title-screen .interview-text{font-size:clamp(28px,9vw,44px);}
}

/* ══ INSIGHTS PILLS (Beta 6.5) ══ */
.insight-pill{display:flex;align-items:flex-start;gap:9px;padding:8px 11px;border-radius:8px;font-size:12px;line-height:1.5;border:1px solid transparent;}
.insight-pill.generic{background:rgba(230,168,23,.07);border-color:rgba(230,168,23,.2);color:var(--text-muted);}
.insight-pill.historic{background:rgba(63,185,80,.07);border-color:rgba(63,185,80,.2);color:var(--text-muted);}
.insight-pill.destino{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.25);color:var(--text-muted);}
.insight-pill.curiosity{background:var(--surface);border-color:var(--border);color:var(--text-dim);}
.insight-pill-icon{flex-shrink:0;font-size:14px;margin-top:1px;}
.insight-pill-text{flex:1;}
.insight-pill-text strong{color:var(--text);}


.modo-examen-toggle-wrap{display:flex;align-items:center;gap:6px;flex-shrink:0;}
.modo-examen-label{font-size:10px;font-weight:750;color:var(--text-muted);letter-spacing:.03em;user-select:none;cursor:pointer;white-space:nowrap;text-transform:uppercase;}
.modo-examen-chk{appearance:none;width:36px;height:20px;background:var(--surface2);border:1px solid var(--border);border-radius:10px;cursor:pointer;position:relative;transition:background .2s,border-color .2s;flex-shrink:0;}
.modo-examen-chk:checked{background:var(--accent);border-color:var(--accent);}
.modo-examen-chk::after{content:'';position:absolute;top:3px;left:3px;width:12px;height:12px;border-radius:50%;background:#fff;transition:transform .2s;}
.modo-examen-chk:checked::after{transform:translateX(16px);}
/* ══ MODO CIEGO (Bug 1+2): ocultar TODA información de resultado ══ */
/* Opciones seleccionadas: color acento neutro, sin verde/rojo */
.modo-examen-activo .option-btn.selected-correct{background:var(--surface2) !important;border-color:var(--accent) !important;}
.modo-examen-activo .option-btn.selected-correct .option-letter{background:var(--accent) !important;color:#000 !important;}
.modo-examen-activo .option-btn.selected-wrong{background:var(--surface2) !important;border-color:var(--accent) !important;}
.modo-examen-activo .option-btn.selected-wrong .option-letter{background:var(--accent) !important;color:#000 !important;}
.modo-examen-activo .option-btn.correct-answer{background:var(--surface2) !important;border-color:var(--border) !important;}
.modo-examen-activo .option-btn.correct-answer .option-letter{background:var(--border) !important;border-color:transparent !important;color:var(--text-muted) !important;}
.modo-examen-activo .quiz-question-card.quiz-success-flash{border-color:var(--border) !important;}
.modo-examen-activo .quiz-question-card.quiz-success-flash::after{display:none !important;}
.modo-examen-activo .option-btn.show-feedback .option-feedback{display:none !important;}
/* Bug 1: reveal-correct ya no se usa (Beta 6.4) — reglas de override eliminadas */
/* Ocultar feedbacks y nota de ley */
.modo-examen-activo .option-feedback{display:none !important;}
.modo-examen-activo .nota-ley{display:none !important;}
/* Ocultar marcador en vivo */
.modo-examen-activo .live-score-bar{visibility:hidden;}
/* Bug 2: panel lateral — preguntas respondidas en neutro (sin revelar verde/rojo) */
.modo-examen-activo .history-item.h-correct{border-left-color:var(--text-dim) !important;}
.modo-examen-activo .history-item.h-wrong{border-left-color:var(--text-dim) !important;}
.modo-examen-activo .history-item.h-correct .h-icon{visibility:hidden;}
.modo-examen-activo .history-item.h-wrong .h-icon{visibility:hidden;}
/* h-answered: clase neutra para historial respondido sin revelar si es correcto o incorrecto */
.history-item.h-answered{border-left-color:var(--text-dim) !important;}
.history-item.h-answered .h-icon{visibility:hidden;}
.history-item.h-doubtful{box-shadow:none;}
.history-item.h-doubtful .h-num{color:#60a5fa;}
.history-item.h-saved{box-shadow:none;}
.history-item.h-saved .h-num{color:var(--accent);}
.history-item.h-doubtful.h-saved .h-num{color:#60a5fa;}

.progress-info .modo-examen-toggle-wrap{margin-left:auto;}
.progress-info .q-actions{margin-left:0;}
/* Bug 4: btn-finish en rojo — acción crítica */
.btn-finish{min-height:var(--tap-min);padding:9px 14px;background:rgba(248,81,73,.1);color:var(--wrong);border:1px solid rgba(248,81,73,.35);border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;display:none;align-items:center;justify-content:center;text-align:center;}
.btn-finish.visible{display:block;}
.btn-finish:hover{background:rgba(248,81,73,.2);border-color:var(--wrong);}
.btn-pause-exam{min-height:var(--tap-min);padding:9px 14px;background:rgba(139,148,158,.08);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius);font-size:13px;font-weight:600;cursor:pointer;display:none;align-items:center;justify-content:center;text-align:center;}
.btn-pause-exam.visible{display:block;}
.btn-pause-exam:hover{border-color:rgba(230,168,23,.45);color:var(--accent);background:rgba(230,168,23,.07);}
.exam-save-status{display:none;min-height:34px;align-items:center;justify-content:center;padding:7px 10px;border:1px solid rgba(139,148,158,.18);border-radius:10px;background:rgba(139,148,158,.05);color:var(--text-dim);font-size:12px;line-height:1.25;text-align:center;}
.exam-save-status:not(.visible){display:none!important;}
.exam-save-status.visible{display:flex;}
.exam-save-status.saved{color:var(--correct);border-color:rgba(63,185,80,.28);background:rgba(63,185,80,.06);}
.exam-save-status.paused{color:var(--accent);border-color:rgba(230,168,23,.34);background:rgba(230,168,23,.08);}
/* Review-postexam-banner: wrap en móvil */
.review-postexam-banner{flex-wrap:wrap;gap:8px;}
@media(max-width:600px){
  .review-postexam-banner{padding:10px;}
  .review-postexam-nav{flex-wrap:wrap;gap:6px;}
}
/* Modal de fin de bloque libre */
.modal-bloque-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:none;align-items:center;justify-content:center;z-index:1000;padding:12px;padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right));padding-top:calc(12px + var(--safe-top));padding-bottom:calc(12px + var(--safe-bottom));overflow:hidden;}
.modal-bloque-overlay.visible{display:flex;}
.modal-bloque{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px 24px;max-width:400px;width:92%;max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));overflow:auto;-webkit-overflow-scrolling:touch;text-align:center;}
.modal-bloque-titulo{font-family:'Lora',serif;font-size:20px;margin-bottom:6px;}
.modal-bloque-sub{font-size:13px;color:var(--text-muted);margin-bottom:16px;}
.modal-bloque-badge{display:inline-block;font-family:monospace;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:var(--accent-dim);border:1px solid rgba(230,168,23,.35);color:var(--accent);padding:4px 10px;border-radius:4px;margin-bottom:10px;}
.modal-bloque-refuerzo{font-size:12px;color:var(--text-muted);margin-bottom:14px;line-height:1.5;}
.modal-bloque-stats{display:flex;justify-content:center;gap:20px;margin-bottom:18px;}
.modal-bloque-stat{text-align:center;}
.modal-bloque-stat-val{font-size:26px;font-weight:700;font-family:monospace;}
.modal-bloque-stat-lbl{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;}
.modal-bloque-btns{display:flex;flex-direction:column;gap:9px;}
/* Bug 3: estado preseleccionado — selección provisional antes de confirmar */
.option-btn.preselected{border-color:var(--accent) !important;background:var(--accent-dim) !important;}
.option-btn.preselected .option-letter{background:var(--accent);color:#000;}
.toast-libre{flex:1 1 180px;min-height:34px;background:transparent;border:1px solid transparent;border-radius:10px;padding:7px 12px;font-size:13px;color:var(--accent);opacity:0;transition:opacity .2s,background .2s,border-color .2s;pointer-events:none;text-align:center;}
.toast-libre:not(.visible){display:none;}
.toast-libre.visible{display:flex;align-items:center;justify-content:center;background:var(--surface);border-color:var(--accent);}
.toast-libre.warn{color:var(--wrong);}
.toast-libre.visible.warn{border-color:var(--wrong);background:var(--wrong-dim);}
.toast-libre.visible{opacity:1;}
#btn-rotate-insights{background:none;border:none;font-size:11px;color:var(--text-dim);cursor:pointer;padding:2px 8px;border-radius:4px;transition:color .15s;}
#btn-rotate-insights:hover{color:var(--accent);}
/* Read-only (post-exam review) banner */
.review-postexam-banner{display:none;background:rgba(99,102,241,.09);border:1px solid rgba(99,102,241,.3);border-radius:8px;padding:9px 13px;font-size:13px;color:#818cf8;margin-bottom:10px;align-items:center;justify-content:space-between;gap:10px;}
.review-postexam-banner.visible{display:flex;}
.review-postexam-nav{display:flex;gap:6px;align-items:center;}
#rev-postexam-counter{font-size:11px;color:var(--text-muted);min-width:60px;text-align:center;}
.btn-rev-nav{background:rgba(99,102,241,.12);color:#818cf8;border:1px solid rgba(99,102,241,.3);border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;}
.btn-rev-nav:disabled{opacity:.35;cursor:default;}
.btn-rev-back{background:var(--accent);color:#000;border:none;border-radius:6px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer;}
.q-nav-actions{display:flex;gap:8px;margin-left:auto;}

/* RESULTS */
.result-hero{text-align:center;padding:16px 0 14px;}
.result-kicker{font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;}
.result-number{font-family:'Lora',serif;font-size:64px;font-weight:600;line-height:1;}
.result-verdict{font-size:15px;font-weight:600;margin-top:6px;}
.result-meta{font-size:12px;color:var(--text-muted);margin-top:4px;}
.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px;margin:14px 0;}
.result-stat{background:var(--surface2);border-radius:8px;padding:11px;text-align:center;}
.result-stat-val{font-size:19px;font-weight:700;}
.result-stat-lbl{font-size:10px;color:var(--text-muted);margin-top:1px;text-transform:uppercase;letter-spacing:.04em;}
.result-penalty{font-size:12px;color:var(--text-dim);text-align:center;margin-bottom:4px;}
.divider{height:1px;background:var(--border);margin:14px 0;}
.breakdown-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;}
/* Beta 6.4 — tablas de estadísticas con barra visual (6 columnas) */
.law-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed;}
.law-table th{text-align:left;padding:4px 7px;color:var(--text-dim);font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);overflow:hidden;}
.law-table td{padding:5px 7px;border-bottom:1px solid rgba(48,54,61,.4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.law-table th:first-child,.law-table td:first-child{width:auto;white-space:normal;word-break:break-word;}
.law-table th:nth-child(2),.law-table td:nth-child(2),
.law-table th:nth-child(3),.law-table td:nth-child(3),
.law-table th:nth-child(4),.law-table td:nth-child(4){width:28px;text-align:center;}
.law-table th:nth-child(5),.law-table td:nth-child(5){width:60px;padding:5px 4px;}
.law-table th:nth-child(6),.law-table td:nth-child(6){width:40px;text-align:right;}
.law-table tr:last-child td{border-bottom:none;}
.err-bar{height:4px;background:var(--surface2);border-radius:2px;margin-top:2px;}
.err-fill{height:100%;border-radius:2px;transition:width .3s;}

/* WEAK AREAS (from results) */
.weak-list{display:flex;flex-direction:column;gap:6px;}
.weak-item{display:flex;justify-content:space-between;align-items:center;background:var(--wrong-dim);border:1px solid rgba(248,81,73,.2);border-radius:8px;padding:8px 12px;font-size:13px;}
.weak-name{color:var(--text);}
.weak-pct{color:var(--wrong);font-weight:600;}

/* PARSE ERROR */
.parse-error{background:rgba(248,81,73,.08);border:1px solid rgba(248,81,73,.25);border-radius:8px;padding:9px 13px;font-size:12px;color:var(--wrong);margin-top:7px;}

/* MODAL */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:999;padding:12px;padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right));padding-top:calc(12px + var(--safe-top));padding-bottom:calc(12px + var(--safe-bottom));overflow:hidden;}
.modal-overlay.visible{display:flex;}
.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:380px;width:90%;max-height:calc(100dvh - 24px - var(--safe-top) - var(--safe-bottom));overflow:auto;-webkit-overflow-scrolling:touch;text-align:center;}
.modal h3{font-family:'Lora',serif;font-size:18px;margin-bottom:10px;}
.modal p{font-size:13px;color:var(--text-muted);margin-bottom:18px;}
.modal .form-label{display:block;text-align:left;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:10px 0 6px;}
.modal .form-control{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:13px;padding:10px 11px;margin-bottom:10px;}
.modal textarea.form-control{resize:vertical;min-height:88px;}
.modal-btns{display:flex;gap:10px;justify-content:center;}
.modal-btns button{padding:9px 22px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;}
.modal-ok{background:var(--wrong);color:#fff;}
.modal-cancel{background:var(--surface2);color:var(--text-muted);border:1px solid var(--border) !important;border-style:solid;}
.paywall-overlay{z-index:1300;background:rgba(0,0,0,.76);padding:calc(16px + var(--safe-top)) calc(12px + var(--safe-right)) calc(16px + var(--safe-bottom)) calc(12px + var(--safe-left));backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.paywall-modal{position:relative;max-width:480px;text-align:left;padding:22px;border-color:rgba(230,168,23,.2);box-shadow:0 22px 60px rgba(0,0,0,.45);}
.paywall-close{position:absolute;top:10px;right:10px;width:38px;height:38px;border:1px solid var(--border-soft);border-radius:8px;background:rgba(255,255,255,.03);color:var(--text-muted);font-size:24px;line-height:1;cursor:pointer;}
.paywall-kicker{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.paywall-modal h3{font-family:inherit;font-size:22px;line-height:1.15;margin:0 42px 8px 0;color:var(--text);}
.paywall-modal .paywall-lead{font-size:13px;line-height:1.55;color:var(--text-muted);margin:0 0 14px;}
.paywall-lead-secondary{color:var(--text)!important;background:rgba(230,168,23,.055);border-left:3px solid var(--accent);border-radius:7px;padding:9px 10px;margin-top:-4px!important;}
.paywall-closing{font-size:13px;font-weight:850;color:var(--text);line-height:1.45;margin:0 0 14px;}
.paywall-value-list{display:grid;gap:8px;margin:0 0 14px;}
.paywall-value-list div{border:1px solid rgba(139,148,158,.18);background:rgba(13,17,23,.42);border-radius:8px;padding:10px 11px;box-shadow:0 1px 0 rgba(255,255,255,.015) inset;}
.paywall-value-list strong{display:block;font-size:13px;color:var(--text);margin-bottom:2px;}
.paywall-value-list span{display:block;font-size:12px;line-height:1.4;color:var(--text-muted);}
.paywall-compare{border:1px solid rgba(139,148,158,.18);border-radius:10px;overflow:hidden;background:rgba(13,17,23,.22);margin:0 0 12px;}
.paywall-compare-head,.paywall-compare-row{display:grid;grid-template-columns:1.25fr .68fr .68fr;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid rgba(139,148,158,.14);}
.paywall-compare-row:last-child{border-bottom:none;}
.paywall-compare-head{background:rgba(230,168,23,.055);font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);}
.paywall-compare-head strong:last-child{color:var(--accent);}
.paywall-compare-row span{font-size:11px;line-height:1.3;color:var(--text-muted);}
.paywall-compare-row span:first-child{font-weight:750;color:var(--text);}
.paywall-compare-row span:last-child{font-weight:800;color:var(--accent);}
.paywall-plans{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 12px;}
.paywall-plan{position:relative;min-height:92px;border:1px solid var(--border);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0)) var(--surface2);color:var(--text-muted);font:inherit;text-align:left;padding:12px 11px;cursor:pointer;}
.paywall-plan:hover{border-color:rgba(230,168,23,.55);}
.paywall-plan.active{border-color:var(--accent);background:linear-gradient(180deg,rgba(230,168,23,.12),rgba(230,168,23,.055));box-shadow:0 0 0 1px rgba(230,168,23,.14) inset,0 10px 24px rgba(0,0,0,.18);}
.paywall-plan strong{display:block;font-size:17px;color:var(--text);margin-bottom:5px;}
.paywall-plan.active strong{color:var(--accent);}
.paywall-plan span{display:block;font-size:11px;line-height:1.35;color:var(--text-muted);}
.paywall-plan-badge{display:inline-block!important;width:max-content;margin-bottom:7px;border-radius:999px;background:var(--accent);color:#111!important;font-size:9px!important;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:3px 6px;}
.paywall-continue{width:100%;min-height:48px;margin-top:2px;}
.paywall-restore{width:100%;min-height:40px;margin-top:8px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font:inherit;font-size:13px;font-weight:800;cursor:pointer;}
.paywall-restore:hover{border-color:var(--accent);color:var(--accent);}
.paywall-status{min-height:16px;margin-top:8px;font-size:12px;line-height:1.35;color:var(--correct);text-align:center;}
.paywall-status.warn{color:var(--warn);}
.paywall-small{font-size:11px!important;line-height:1.45!important;color:var(--text-dim)!important;margin:8px 0 0!important;text-align:center;}
@media(max-width:520px){
  .paywall-overlay{align-items:flex-end;padding-left:0;padding-right:0;padding-bottom:0;}
  .paywall-modal{width:100%;max-width:none;border-radius:16px 16px 0 0;border-left:none;border-right:none;border-bottom:none;max-height:calc(100vh - 20px - var(--safe-top));overflow:auto;padding-bottom:calc(20px + var(--safe-bottom));}
  .paywall-plans{grid-template-columns:1fr;}
  .paywall-compare-head,.paywall-compare-row{grid-template-columns:1.1fr .7fr .7fr;padding:8px;}
}
.welcome-modal{text-align:left;max-width:430px;}
.welcome-modal-kicker{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:4px;}
.welcome-modal h3{margin-bottom:8px;}
.welcome-modal p{font-size:13px;color:var(--text-muted);line-height:1.55;margin-bottom:8px;}
.profile-nudge-modal{text-align:left;max-width:430px;}
.profile-nudge-kicker{font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:5px;}
.profile-nudge-modal h3{font-family:inherit;font-size:20px;line-height:1.18;margin-bottom:8px;}
.profile-nudge-modal p{font-size:13px;line-height:1.55;color:var(--text-muted);margin-bottom:16px;}
.profile-nudge-primary{background:var(--accent);color:#111;}
.welcome-skip-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted);margin:12px 0 14px;cursor:pointer;user-select:none;}
.welcome-skip-row input{accent-color:var(--accent);width:16px;height:16px;}
.orientation-notice{position:fixed;left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));z-index:1200;display:none;align-items:center;justify-content:space-between;gap:12px;background:rgba(22,27,34,.96);border:1px solid rgba(230,168,23,.35);box-shadow:0 12px 30px rgba(0,0,0,.32);border-radius:12px;padding:12px 14px;color:var(--text);}
.orientation-notice.visible{display:flex;}
.orientation-notice-title{font-size:13px;font-weight:700;line-height:1.35;color:var(--accent);}
.orientation-notice-actions{display:flex;gap:8px;flex-shrink:0;}
.orientation-notice-actions button{min-height:34px;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text-muted);font:inherit;font-size:12px;font-weight:750;padding:7px 10px;cursor:pointer;}
.orientation-notice-actions button:first-child{background:var(--accent);border-color:var(--accent);color:#111;}
@media(max-width:520px){.orientation-notice{align-items:stretch;flex-direction:column;}.orientation-notice-actions{display:grid;grid-template-columns:1fr 1fr;}}
.home-hidden-section{display:none!important;}
.onboarding-modal{text-align:left;max-width:460px;}
.onboarding-modal h3{margin-bottom:8px;}
.onboarding-modal p{font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:14px;}
.onboarding-field{margin-bottom:12px;}
.onboarding-field label{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
.onboarding-field input,.onboarding-field select{width:100%;}
#onboarding-especialidad{background:var(--surface2);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:13px;padding:9px 11px;outline:none;}
#onboarding-especialidad:focus{border-color:var(--accent);}
.onboarding-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.onboarding-choice-grid button{min-height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text-muted);font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.onboarding-choice-grid button.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);}
.onboarding-note{font-size:12px;color:var(--text-dim);line-height:1.45;margin:4px 0 12px;}
#onboarding-save{width:100%;margin-bottom:8px;}
#onboarding-save:disabled{opacity:.45;cursor:not-allowed;}
.onboarding-skip{width:100%;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font:inherit;font-size:13px;font-weight:700;padding:10px;cursor:pointer;}
.onboarding-skip:hover{border-color:var(--accent);color:var(--accent);}
@media(max-width:520px),(max-height:720px){
  .modal-overlay{padding:10px;padding-left:calc(10px + var(--safe-left));padding-right:calc(10px + var(--safe-right));padding-top:calc(10px + var(--safe-top));padding-bottom:calc(10px + var(--safe-bottom));}
  .modal{width:min(100%,420px);padding:18px;max-height:calc(100dvh - 20px - var(--safe-top) - var(--safe-bottom));}
  .welcome-modal,.onboarding-modal{max-width:420px;}
  .welcome-modal-kicker{font-size:9px;margin-bottom:3px;letter-spacing:.085em;}
  .welcome-modal h3,.onboarding-modal h3{font-size:17px;line-height:1.12;margin-bottom:6px;}
  .welcome-modal p,.onboarding-modal p{font-size:12px;line-height:1.4;margin-bottom:7px;}
  .welcome-skip-row{font-size:11.5px;margin:9px 0 10px;}
  #welcome-ok,#onboarding-save{min-height:38px;padding:9px 11px;font-size:13px;border-radius:8px;}
  .onboarding-field{margin-bottom:9px;}
  .onboarding-field label{font-size:9px;margin-bottom:4px;}
  #onboarding-especialidad,.onboarding-field input{min-height:36px;font-size:12px;padding:7px 9px;}
  .onboarding-choice-grid{gap:6px;}
  .onboarding-choice-grid button{min-height:36px;font-size:12px;border-radius:7px;}
  .onboarding-note{font-size:11px;line-height:1.32;margin:2px 0 9px;}
  .onboarding-skip{min-height:36px;padding:8px 10px;font-size:12px;border-radius:7px;}
}
@media(max-width:360px),(max-height:560px){
  .modal-overlay{align-items:flex-end;padding:8px;padding-left:calc(8px + var(--safe-left));padding-right:calc(8px + var(--safe-right));padding-top:calc(8px + var(--safe-top));padding-bottom:calc(8px + var(--safe-bottom));}
  .modal{width:100%;padding:14px;max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom));border-radius:10px;}
  .welcome-modal-kicker{font-size:8.5px;}
  .welcome-modal h3,.onboarding-modal h3{font-size:15px;margin-bottom:5px;}
  .welcome-modal p,.onboarding-modal p{font-size:10.8px;line-height:1.32;margin-bottom:6px;}
  .welcome-skip-row{font-size:10.5px;margin:7px 0 8px;}
  .welcome-skip-row input{width:14px;height:14px;}
  #welcome-ok,#onboarding-save{min-height:34px;padding:7px 9px;font-size:11.5px;}
  .onboarding-field{margin-bottom:7px;}
  .onboarding-field label{font-size:8.5px;letter-spacing:.06em;}
  #onboarding-especialidad,.onboarding-field input{min-height:32px;font-size:11px;padding:6px 8px;}
  .onboarding-choice-grid button{min-height:32px;font-size:11px;}
  .onboarding-note{font-size:10px;line-height:1.25;margin-bottom:7px;}
  .onboarding-skip{min-height:32px;padding:6px 8px;font-size:11px;}
}

/* TEST DE REPASO / TESTS INTELIGENTES */
.repaso-banner{background:rgba(230,168,23,.07);border:1px solid rgba(230,168,23,.25);border-radius:var(--radius);padding:13px 16px;margin-top:14px;}
.repaso-banner-title{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
#repaso-desc{font-size:12px;color:var(--text-muted);margin-bottom:10px;}
.repaso-btns{display:flex;flex-wrap:wrap;gap:8px;}
.btn-repaso{padding:9px 16px;background:var(--accent);color:#000;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;}
.btn-repaso:hover{opacity:.85;}
.btn-repaso.secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border);}
.btn-repaso.secondary:hover{border-color:var(--accent);color:var(--accent);}
.result-actions{display:flex;gap:10px;margin-top:8px;}
.result-actions-primary{margin-top:14px;}
.result-actions-primary .btn-primary{min-height:52px;font-size:15px;}
.result-btn{flex:1;font-size:13px;}
.result-btn-secondary{background:var(--surface2);color:var(--text);border:1px solid var(--border);}
.result-btn-warning{border-color:rgba(249,115,22,.35);color:var(--warn);}
.btn-review-exam{font-size:13px;background:rgba(99,102,241,.15);color:#818cf8;border:1px solid rgba(99,102,241,.35);}
#share-test-status,#exclude-attempt-status{display:none;font-size:12px;color:var(--text-muted);margin-top:7px;}
/* TESTS INTELIGENTES CARDS */
.test-int-card{background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(255,255,255,0)) var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:8px;overflow:hidden;transition:border-color .15s,box-shadow .15s;}
.test-int-card.open{border-color:var(--accent);}
.test-int-header{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;user-select:none;}
.test-int-header:hover{background:rgba(230,168,23,.05);}
.test-int-icon{font-size:16px;flex-shrink:0;}
.test-int-title{flex:1;font-size:14px;font-weight:500;color:var(--text);}
.test-int-chevron{font-size:12px;color:var(--text-dim);transition:transform .2s;flex-shrink:0;}
.test-int-card.open .test-int-chevron{transform:rotate(90deg);}
.test-int-body{display:none;padding:0 14px 14px;}
.test-int-desc{font-size:13px;color:var(--text-muted);line-height:1.6;margin-bottom:12px;}
.test-int-card.open .test-int-body{display:block;}
.stats-footer-divider{margin-top:16px;}
.saved-question-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:9px 10px;margin-bottom:7px;}
.saved-question-card{--saved-rgb:230,168,23;--saved-color:var(--accent);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:7px 10px;background:linear-gradient(180deg,rgba(var(--saved-rgb),.07),rgba(13,17,23,.2)) var(--surface);border-color:rgba(var(--saved-rgb),.24);padding:9px;border-radius:8px;}
.saved-question-card-saved{--saved-rgb:230,168,23;--saved-color:var(--accent);}
.saved-question-card-doubtful{--saved-rgb:88,166,255;--saved-color:#8ec5ff;}
.saved-question-card-head{grid-column:1/2;display:flex;align-items:center;gap:6px;min-width:0;}
.saved-question-badge{display:inline-flex;align-items:center;justify-content:center;min-height:18px;border:1px solid rgba(var(--saved-rgb),.32);border-radius:999px;background:rgba(var(--saved-rgb),.1);color:var(--saved-color);font-size:8.5px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;line-height:1;padding:3px 6px;flex:0 0 auto;}
.saved-question-title{grid-column:1/2;font-size:12px;font-weight:850;line-height:1.28;color:var(--text);white-space:normal;overflow:visible;text-overflow:clip;}
.saved-question-meta{grid-column:1/2;min-width:0;font-size:10px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.saved-question-options{grid-column:1/-1;display:grid;gap:4px;margin:1px 0 0;padding:0;list-style:none;}
.saved-question-options li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:6px;align-items:start;border:1px solid rgba(139,148,158,.14);border-radius:7px;background:rgba(139,148,158,.055);padding:5px 7px;color:var(--text-muted);}
.saved-question-options li.correct{border-color:rgba(63,185,80,.26);background:rgba(63,185,80,.075);color:#c9f7d3;}
.saved-question-option-letter{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:rgba(139,148,158,.14);color:var(--text-dim);font-size:9px;font-weight:900;line-height:1;}
.saved-question-options li.correct .saved-question-option-letter{background:rgba(63,185,80,.18);color:var(--correct);}
.saved-question-option-text{font-size:10.5px;line-height:1.25;}
.saved-question-remove{grid-column:2/3;grid-row:1/3;background:transparent;border:1px solid rgba(var(--saved-rgb,139,148,158),.25);border-radius:7px;color:var(--text-muted);font-size:10.5px;font-weight:800;padding:5px 8px;cursor:pointer;}
.saved-question-remove:hover{border-color:var(--wrong);color:var(--wrong);}
.saved-question-empty{font-size:12px;color:var(--text-dim);padding:8px 4px;margin:0 0 8px;}
.saved-question-more{padding-bottom:0;margin-bottom:0;color:var(--text-muted);}
.doubtful-question-row{border-color:rgba(88,166,255,.24);}
/* ── STATS PANEL ── */
.stats-panel{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-top:14px;}
.stats-panel-title{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;}
.stat-block{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px 14px;margin-bottom:8px;position:relative;}
.stat-block:last-child{margin-bottom:0;}
.stat-block-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;}
.stat-block-text{font-size:13px;color:var(--text);line-height:1.5;}
.stat-block-text strong{color:var(--accent);}
.stat-block-text .hi{color:var(--correct);}
.stat-block-text .lo{color:var(--wrong);}
.stat-block-text .alias{font-family:monospace;font-weight:700;letter-spacing:.08em;color:var(--accent);font-size:12px;}
.stat-block-warn{font-size:10px;color:var(--text-dim);margin-top:4px;font-style:italic;}
.stat-block.survival{border-left:3px solid var(--wrong);}
.stat-block.competition{border-left:3px solid var(--correct);}
.stat-block.neutral{border-left:3px solid var(--accent);}

/* ── ARCADE RANKING ── */
.arcade-table{width:100%;border-collapse:collapse;font-size:13px;}
.arcade-table td{padding:5px 7px;border-bottom:1px solid rgba(48,54,61,.3);}
.arcade-table tr:last-child td{border-bottom:none;}
.arcade-pos{color:var(--text-dim);font-size:11px;min-width:28px;text-align:right;padding-right:10px;font-family:monospace;}
.arcade-pos.medal{font-size:14px;}
.arcade-alias{font-family:monospace;font-weight:700;letter-spacing:.12em;font-size:14px;}
.arcade-alias.user{color:var(--accent);}
.arcade-alias.hist{color:var(--text-muted);}
.arcade-alias.winner{color:var(--correct);}
.arcade-score{font-family:monospace;font-weight:700;font-size:13px;padding:0 8px;}
.arcade-score.aprobado{color:var(--correct);}
.arcade-score.suspenso{color:var(--wrong);}
.arcade-meta{font-size:10px;color:var(--text-dim);}
.arcade-dest{font-size:10px;color:var(--correct);font-style:italic;}
.arcade-user-name{font-size:10px;color:var(--text-muted);font-family:'Inter',sans-serif;margin-left:4px;}
.arcade-sep td{text-align:center;color:var(--text-dim);font-size:11px;padding:3px;letter-spacing:.2em;}
.arcade-user-row{background:rgba(230,168,23,.08);}
.arcade-newrecord{text-align:center;padding:12px 16px;margin-bottom:12px;background:rgba(230,168,23,.12);border:1px solid var(--accent);border-radius:8px;animation:blink-nr 0.8s ease-in-out 4;}
@keyframes blink-nr{0%,100%{opacity:1}50%{opacity:.3}}
.arcade-newrecord-text{font-family:monospace;font-size:17px;font-weight:700;color:var(--accent);letter-spacing:.18em;}
.arcade-newrecord-sub{font-size:12px;color:var(--text-muted);margin-top:4px;}
.arcade-footer{font-size:10px;color:var(--text-dim);margin-top:8px;text-align:center;}
.result-hof-panel{background:#0a0d12;border:1px solid rgba(230,168,23,.45);box-shadow:0 0 0 1px rgba(230,168,23,.08),0 12px 28px rgba(0,0,0,.22);border-radius:8px;padding:18px;margin:18px 0;color:var(--text);}
.result-hof-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.result-hof-kicker{font-family:monospace;font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);}
.result-hof-title{font-family:monospace;font-size:18px;font-weight:900;color:var(--text);margin-top:2px;letter-spacing:.08em;text-transform:uppercase;}
.result-hof-chip{font-family:monospace;font-size:16px;font-weight:900;letter-spacing:.08em;color:#111;background:var(--accent);border-radius:6px;padding:5px 10px;white-space:nowrap;}
.result-hof-summary{font-family:monospace;font-size:13px;color:var(--text-muted);line-height:1.5;margin-bottom:10px;}
.result-hof-summary strong{color:var(--accent);font-weight:900;}
.result-hof-arcade-table{font-family:monospace;font-size:14px;background:rgba(13,17,23,.5);border:1px solid rgba(230,168,23,.14);border-radius:6px;overflow:hidden;}
.result-hof-arcade-table th{font-size:10px;color:var(--text-dim);font-weight:700;text-align:left;padding:5px 7px;border-bottom:1px solid rgba(230,168,23,.14);}
.result-hof-arcade-table td{padding:7px 8px;border-bottom:1px solid rgba(230,168,23,.11);}
.result-hof-arcade-table .arcade-alias{font-size:15px;}
.result-hof-arcade-table .arcade-score{font-size:14px;}
.arcade-latest-row{animation:blink-hof-row 1s step-end infinite;outline:1px solid rgba(230,168,23,.5);outline-offset:-1px;}
@keyframes blink-hof-row{0%,49%{background:rgba(230,168,23,.22);}50%,100%{background:rgba(230,168,23,.06);}}

/* ── PERFIL DOCENTE CASCADE ── */
.perfil-step{margin-bottom:14px;}
.perfil-step-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px;}
.perfil-pill-group{display:flex;flex-wrap:wrap;gap:6px;}
.perfil-pill{background:var(--surface2);border:1px solid var(--border);border-radius:16px;padding:5px 13px;font-size:13px;cursor:pointer;color:var(--text-muted);transition:all .15s;user-select:none;}
.perfil-pill:hover{border-color:var(--accent);color:var(--text);}
.perfil-pill.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);font-weight:500;}
.perfil-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:7px 11px;color:var(--text);font-size:13px;outline:none;font-family:inherit;}
.perfil-input:focus{border-color:var(--accent);}
.dest-item{display:flex;align-items:flex-start;gap:9px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:9px 12px;cursor:pointer;transition:border-color .15s;margin-bottom:5px;}
.dest-item:hover{border-color:var(--accent);}
.dest-item.active{border-color:var(--accent);background:var(--accent-dim);}
.dest-item input[type=checkbox]{margin-top:3px;accent-color:var(--accent);flex-shrink:0;cursor:pointer;}
.dest-item-body{flex:1;min-width:0;}
.dest-item-title{font-size:13px;font-weight:500;color:var(--text);}
.dest-item-meta{font-size:11px;color:var(--text-muted);margin-top:2px;}
.dest-idioma-tag{display:inline-block;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1px 7px;font-size:10px;margin-right:3px;color:var(--text-dim);}
.perfil-completeness{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-dim);}
.perfil-dot{width:7px;height:7px;border-radius:50%;background:var(--border);flex-shrink:0;}
.perfil-dot.done{background:var(--correct);}
.perfil-load-status{margin-top:6px;}
.btn-loading{opacity:.55;cursor:not-allowed !important;}

/* ── Mi espacio ── */
.profile-block{margin-bottom:16px;}
.profile-block-compact{margin-bottom:10px;}
.profile-block-title{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;}
#stats-user-chips{display:flex;gap:8px;flex-wrap:wrap;}
.profile-space-layout{display:grid;grid-template-columns:clamp(118px,13vw,168px) minmax(0,1fr);gap:var(--layout-gap);align-items:start;}
.profile-space-content{min-width:0;}
.stats-tabs{display:flex;flex-direction:column;gap:8px;position:sticky;top:12px;}
.stats-tab{font:inherit;display:flex;align-items:center;justify-content:flex-start;min-height:42px;padding:8px 11px;border-radius:8px;font-size:12px;font-weight:750;color:var(--text-muted);cursor:pointer;border:1px solid var(--border);background:var(--surface2);transition:all .12s;user-select:none;text-align:left;}
.stats-tab:hover{border-color:var(--accent);color:var(--text);}
.stats-tab.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);}
@media(max-width:1120px){
  .quiz-layout{flex-direction:column;align-items:stretch;gap:6px;}
  .history-sidebar{width:100%!important;position:static;top:auto;z-index:auto;max-height:none;overflow:hidden;border-radius:8px;background:var(--surface);}
  .history-header{display:none;min-height:34px;padding:7px 10px;border-bottom:1px solid var(--border);}
  .history-header span{font-size:9px;letter-spacing:.08em;}
  .h-toggle-btn{display:none;}
  .history-list{position:relative;width:100%;min-width:0;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;padding:4px;gap:3px;scroll-snap-type:none;-webkit-overflow-scrolling:touch;}
  .history-list::-webkit-scrollbar{height:4px;}
  .history-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;}
  .history-item{width:clamp(30px,7.2vw,54px);min-width:30px;max-width:54px;min-height:30px;flex:0 0 auto;aspect-ratio:auto;flex-direction:column;justify-content:center;text-align:center;gap:0;padding:3px;border-left-width:1px;border-bottom:2px solid var(--border);scroll-snap-align:none;border-radius:5px;}
  .history-item.h-current{border-color:var(--border);box-shadow:0 0 0 1px rgba(230,168,23,.28) inset;}
  .history-item.h-correct{border-bottom-color:var(--correct);}
  .history-item.h-wrong{border-bottom-color:var(--wrong);}
  .history-item.h-blank{border-bottom-color:var(--text-dim);}
  .history-item.h-answered{border-bottom-color:var(--text-dim)!important;}
  .h-num{min-width:1.15em;font-size:9px;}
  .h-icon{display:none;}
  .h-abbr{display:none;}
  .history-block-section{display:flex;align-items:stretch;gap:3px;margin:0;min-width:0;width:auto;max-width:none;flex:0 0 auto;}
  .history-list .history-block-section{order:2;}
  .history-block-section.open{order:1;flex:1 0 100%;width:100%;max-width:100%;}
  .history-block-header{position:sticky;left:0;z-index:4;flex:0 0 28px;width:28px;min-height:30px;margin:0;padding:3px;justify-content:center;text-align:center;border:1px solid rgba(139,148,158,.34);border-bottom:2px solid rgba(139,148,158,.42);background:#242b35;color:#c9d1d9;scroll-snap-align:none;box-shadow:5px 0 9px rgba(13,17,23,.52);border-radius:5px;overflow:visible;}
  .history-block-header::before{content:'';position:absolute;top:-1px;bottom:-2px;left:-5px;width:5px;background:var(--surface);border-radius:5px 0 0 5px;pointer-events:none;}
  .history-block-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;font-size:9px;letter-spacing:.03em;line-height:1;}
  .history-block-full-label{display:none;}
  .history-block-compact-label{display:inline;}
  .history-block-chevron{display:none;}
  .history-block-body{display:flex;min-width:0;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;gap:3px;}
  .history-block-section.open .history-block-body{flex:1 1 auto;width:auto;}
  .history-block-section.open .history-item{flex:1 1 0;width:auto;min-width:0;max-width:none;}
  .quiz-main{display:flex;flex-direction:column;width:100%;max-width:100%;min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 188px);padding-bottom:6px;}
  .quiz-question-card{display:flex;flex-direction:column;justify-content:flex-start;flex:1 1 auto;min-height:0;margin-bottom:0;}
  .q-nav{position:static;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6px;width:100%;max-width:100%;margin:6px 0 0;padding:3px 0 5px;background:rgba(13,17,23,.94);border:0;border-radius:8px;box-shadow:none;backdrop-filter:blur(10px);overflow:hidden;}
  .btn-finish{grid-column:1;grid-row:1;order:1;width:100%;max-width:100%;min-width:0;align-self:stretch;}
  .q-nav-actions{grid-column:2;grid-row:1;order:2;width:100%;min-width:0;margin-left:0;display:grid;grid-template-columns:minmax(0,1fr);}
  .btn-pause-exam{grid-column:1/-1;grid-row:2;order:3;width:100%;max-width:100%;align-self:stretch;}
  .exam-save-status,.toast-libre{grid-column:1/-1;order:4;width:100%;text-align:center;}
  .btn-skip.visible,.btn-next.visible{display:block;width:100%;margin-left:0;}
  .result-grid{grid-template-columns:repeat(2,1fr);}
  .history-sidebar.collapsed{max-height:none!important;overflow:hidden;}
  .history-sidebar.collapsed .history-list{display:flex;}
  body.quiz-block-mode #progress-wrap{display:none;}
}

/* USUARIO Y ESTADÍSTICAS */
.profile-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.profile-page-head>div{min-width:0;}
.profile-page-kicker{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:2px;}
.profile-page-title{font-family:'Lora',serif;font-size:24px;font-weight:600;line-height:1.15;margin:0;color:var(--text);}
.profile-page-subtitle{font-size:12px;color:var(--text-muted);margin-top:5px;line-height:1.45;}
.user-avatar{width:48px;height:48px;border-radius:50%;background:var(--accent-dim);border:2px solid var(--accent);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.user-info{flex:1;min-width:0;}
.user-name-display{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.user-alias{font-size:12px;color:var(--text-muted);margin-top:2px;}
.user-row{display:flex;align-items:center;gap:14px;}
.profile-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;}
.profile-chip{background:var(--surface2);border:1px solid var(--border);border-radius:20px;padding:4px 12px;font-size:12px;cursor:pointer;color:var(--text-muted);transition:all .15s;}
.profile-chip:hover{border-color:var(--accent);color:var(--text);}
.profile-chip.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);}
.profile-chip.active .chip-avatar{background:rgba(230,168,23,.2);border-color:rgba(230,168,23,.4);color:var(--accent);}
.profile-chip.new-profile{border-style:dashed;color:var(--text-dim);}
.user-notice{font-size:12px;color:var(--text-muted);margin-top:8px;padding:8px 12px;background:var(--surface2);border-radius:6px;}
#pf-form-toggle{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:9px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;margin-bottom:10px;user-select:none;}
.profile-form-toggle-label{font-size:12px;font-weight:600;color:var(--text-muted);}
#pf-form-chevron{color:var(--text-dim);font-size:13px;}
#pf-form{border:1px solid var(--border);border-radius:8px;padding:14px;margin-bottom:14px;}
.profile-field{margin-bottom:14px;}
.profile-field-label{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;}
.profile-inline-row{display:flex;align-items:center;gap:8px;}
.profile-name-input{flex:1;}
#pf-alias-preview{width:40px;height:40px;border-radius:50%;background:var(--accent-dim);border:1px solid rgba(230,168,23,.3);display:flex;align-items:center;justify-content:center;font-family:monospace;font-weight:700;font-size:12px;color:var(--accent);flex-shrink:0;letter-spacing:.05em;}
.profile-help{font-size:10px;color:var(--text-dim);margin-top:4px;}
.profile-help-italic{font-style:italic;}
.profile-help-spaced{margin-bottom:8px;}
.profile-type-row{display:flex;gap:8px;}
.profile-type-btn{flex:1;padding:8px;border-radius:8px;font-size:13px;font-weight:500;border:1px solid var(--border);background:var(--surface2);color:var(--text-dim);cursor:pointer;}
.profile-type-btn.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);}
.profile-type-btn.disabled{cursor:not-allowed;opacity:.4;}
.profile-baremo-input{width:110px;}
.profile-input-suffix{font-size:12px;color:var(--text-dim);}
#pf-dest-pais{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:8px 11px;color:var(--text);font-size:13px;outline:none;font-family:inherit;cursor:pointer;}
#pf-dest-lista,#pf-dest-selected{margin-top:8px;}
.profile-progress-block{border-top:1px solid var(--border);padding-top:12px;}
.profile-progress-track{height:5px;background:var(--surface2);border-radius:3px;overflow:hidden;margin-bottom:4px;}
#pf-prog-fill{height:100%;width:0%;border-radius:3px;background:var(--wrong);transition:width .3s,background .3s;}
#pf-prog-label{font-size:11px;color:var(--text-dim);margin-bottom:10px;}
#pf-diagnostico{margin-bottom:14px;}
.profile-repaso-bridge{display:flex;align-items:center;justify-content:space-between;gap:12px;background:rgba(230,168,23,.06);border:1px solid rgba(230,168,23,.2);border-radius:8px;padding:11px 13px;margin-bottom:14px;}
.profile-repaso-title{font-size:12px;font-weight:700;color:var(--accent);margin-bottom:2px;}
.profile-repaso-copy{font-size:11px;color:var(--text-muted);line-height:1.45;}
.profile-repaso-btn{flex-shrink:0;font-size:12px;white-space:nowrap;}
.profile-library-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:14px;}
.profile-library-card,.profile-saved-library{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:0;}
.profile-library-main{border-color:rgba(88,166,255,.24);background:linear-gradient(180deg,rgba(88,166,255,.055),rgba(13,17,23,.12)) var(--surface2);}
.profile-library-card-wide{grid-column:1/-1;}
.profile-library-card:has(#profile-saved-questions-list){border-color:rgba(230,168,23,.22);background:linear-gradient(180deg,rgba(230,168,23,.055),rgba(13,17,23,.12)) var(--surface2);}
.profile-doubtful-library{border-color:rgba(88,166,255,.24);background:linear-gradient(180deg,rgba(88,166,255,.06),rgba(13,17,23,.12)) var(--surface2);}
.profile-saved-head,.profile-library-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;}
.profile-library-title{font-size:12px;font-weight:800;color:var(--text);margin-bottom:2px;}
.profile-library-desc,#profile-saved-desc,#profile-doubtful-desc{font-size:12px;color:var(--text-muted);line-height:1.45;}
#profile-saved-questions-list,#profile-doubtful-questions-list{display:flex;flex-direction:column;gap:6px;}
#screen-stats>.card{display:flex;flex-direction:column;}
.profile-page-head{order:1;}
#profile-identity-block{order:2;}
.profile-guidance-card{order:3;}
.profile-space-layout{order:4;}
.profile-advanced-account{order:6;}
.profile-access-review{order:7;}
.stats-footer-divider{order:8;}
#btn-volver-inicio{order:9;}
.profile-library-counter{flex:0 0 auto;border:1px solid rgba(230,168,23,.28);border-radius:999px;background:rgba(230,168,23,.08);color:var(--accent);font-size:10px;font-weight:850;line-height:1;padding:6px 8px;white-space:nowrap;}
.profile-library-toolbar{display:grid;gap:8px;margin:9px 0 10px;}
.profile-library-pills{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.profile-library-pill{min-height:30px;border:1px solid var(--border);border-radius:8px;background:rgba(139,148,158,.07);color:var(--text-muted);font:inherit;font-size:10.5px;font-weight:850;line-height:1.05;padding:6px 5px;cursor:pointer;}
.profile-library-pill.active{border-color:rgba(230,168,23,.52);background:rgba(230,168,23,.13);color:var(--accent);}
.profile-library-select-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}
.profile-library-select{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;border:1px solid rgba(139,148,158,.18);border-radius:8px;background:rgba(139,148,158,.055);padding:5px 7px;}
.profile-library-select span{font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);}
.profile-library-select select{min-width:0;width:100%;background:transparent;border:0;color:var(--text);font:inherit;font-size:11px;font-weight:750;outline:none;}
.profile-library-select option{background:#111820;color:var(--text);}
.profile-library-empty{border:1px dashed rgba(139,148,158,.28);border-radius:8px;background:rgba(139,148,158,.055);padding:13px;color:var(--text-muted);}
.profile-library-empty strong{display:block;color:var(--text);font-size:13px;line-height:1.25;margin-bottom:4px;}
.profile-library-empty p{font-size:12px;line-height:1.4;margin:0;}
.profile-library-deck{position:relative;overflow:hidden;}
.profile-library-review-card{border:1px solid rgba(88,166,255,.24);border-radius:8px;background:linear-gradient(180deg,rgba(88,166,255,.07),rgba(13,17,23,.22)) var(--surface);padding:11px;box-shadow:0 10px 24px rgba(0,0,0,.16);}
.profile-library-card-meta{display:flex;align-items:center;gap:6px;min-width:0;margin-bottom:8px;flex-wrap:wrap;}
.profile-library-source-badge{--library-source-rgb:230,168,23;--library-source-color:var(--accent);display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(var(--library-source-rgb),.28);border-radius:999px;background:rgba(var(--library-source-rgb),.09);color:var(--library-source-color);font-size:8.5px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;line-height:1;padding:4px 6px;}
.profile-library-source-failed{--library-source-rgb:248,81,73;--library-source-color:var(--wrong);}
.profile-library-source-marked{--library-source-rgb:88,166,255;--library-source-color:#8ec5ff;}
.profile-library-source-saved{--library-source-rgb:230,168,23;--library-source-color:var(--accent);}
.profile-library-ref{min-width:0;flex:1;color:var(--text-dim);font-size:10.5px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.profile-library-question{font-family:'Lora',serif;color:var(--text);font-size:17px;font-weight:650;line-height:1.28;margin-bottom:10px;}
.profile-library-answer-toggle{width:100%;min-height:34px;border:1px solid rgba(230,168,23,.32);border-radius:8px;background:rgba(230,168,23,.08);color:var(--accent);font:inherit;font-size:12px;font-weight:850;cursor:pointer;}
.profile-library-answer{display:grid;gap:8px;margin-top:10px;border-top:1px solid rgba(139,148,158,.16);padding-top:10px;}
.profile-library-correct{border:1px solid rgba(63,185,80,.24);border-radius:8px;background:rgba(63,185,80,.08);color:#c9f7d3;font-size:13px;font-weight:800;line-height:1.3;padding:8px;}
.profile-library-tip{border:1px solid rgba(230,168,23,.2);border-radius:8px;background:rgba(230,168,23,.065);color:var(--text-muted);font-size:12px;line-height:1.42;padding:8px;}
.profile-library-law-btn{justify-self:start;border:1px solid rgba(88,166,255,.3);border-radius:8px;background:rgba(88,166,255,.08);color:#9bd1ff;font:inherit;font-size:11px;font-weight:850;padding:7px 9px;cursor:pointer;}
.profile-library-nav{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:8px;margin-top:10px;}
.profile-library-nav button{height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text);font:inherit;font-size:15px;font-weight:900;cursor:pointer;}
.profile-library-nav button:disabled{opacity:.35;cursor:default;}
.profile-library-nav span{text-align:center;color:var(--text-dim);font-size:11px;font-weight:850;}

/* BAREMO */
.baremo-panel{display:grid;gap:12px;}
.baremo-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:13px;}
.baremo-title{font-size:18px;line-height:1.2;margin:0;color:var(--text);}
.baremo-lead{font-size:12px;color:var(--text-muted);line-height:1.45;margin-top:5px;max-width:620px;}
.baremo-rule-note{display:inline-flex;margin:8px 6px 0 0;border:1px solid rgba(230,168,23,.22);border-radius:8px;background:rgba(230,168,23,.055);color:var(--accent);font-size:11px;font-weight:750;line-height:1.35;padding:6px 8px;}
.baremo-total-card{appearance:none;min-width:128px;border:1px solid rgba(230,168,23,.28);border-radius:8px;background:var(--accent-dim);padding:10px 12px;text-align:right;font:inherit;cursor:pointer;}
.baremo-total-card:hover{border-color:rgba(230,168,23,.62);filter:brightness(1.04);}
.baremo-total-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.baremo-total-card span,.baremo-total-card small{display:block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);line-height:1.2;}
.baremo-total-card strong{display:block;color:var(--accent);font-size:28px;font-weight:850;line-height:1.05;margin:2px 0;}
.baremo-total-card strong.unknown{font-size:16px;line-height:1.25;margin:8px 0 4px;}
.baremo-access-gate{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(230,168,23,.3);border-radius:8px;background:rgba(230,168,23,.06);padding:11px 12px;}
.baremo-access-gate[hidden]{display:none;}
.baremo-access-gate strong{display:block;font-size:12px;color:var(--text);margin-bottom:2px;}
.baremo-access-gate span{display:block;font-size:12px;color:var(--text-muted);line-height:1.4;}
.baremo-access-gate button{flex:0 0 auto;min-height:36px;border:1px solid rgba(230,168,23,.45);border-radius:8px;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:12px;font-weight:850;cursor:pointer;padding:8px 10px;}
.baremo-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.baremo-mode button{min-height:40px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text-muted);font:inherit;font-size:12px;font-weight:850;cursor:pointer;}
.baremo-mode button.active{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);}
.baremo-mode button:disabled,.baremo-field input:disabled,.baremo-course-table input:disabled,.baremo-check input:disabled,.baremo-actions button:disabled{opacity:.5;cursor:not-allowed;}
.baremo-total-entry,.baremo-section,.baremo-advice,.baremo-history{background:var(--surface2);border:1px solid var(--border);border-radius:8px;}
.baremo-total-entry{display:grid;gap:6px;padding:12px;}
.baremo-total-entry[hidden],.baremo-parts[hidden]{display:none;}
.baremo-total-entry p,.baremo-note{font-size:11px;color:var(--text-dim);line-height:1.45;}
.baremo-parts{display:grid;gap:10px;}
.baremo-section{overflow:hidden;}
.baremo-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:11px 12px;color:var(--text);}
.baremo-section summary::-webkit-details-marker{display:none;}
.baremo-section summary span{font-size:12px;font-weight:850;line-height:1.3;}
.baremo-section summary strong{flex-shrink:0;color:var(--accent);font-size:12px;font-weight:850;}
.baremo-section summary strong .unknown{color:var(--text-dim);font-size:11px;}
.baremo-section summary::after{content:'▾';color:var(--text-dim);font-size:12px;}
.baremo-section[open] summary{border-bottom:1px solid var(--border);}
.baremo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:12px;}
.baremo-academic-grid{grid-template-columns:1fr;}
.baremo-subsection{display:grid;gap:10px;border:1px solid rgba(139,148,158,.14);border-radius:8px;background:rgba(13,17,23,.12);padding:10px;}
.baremo-subgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;}
.baremo-subhead{grid-column:1/-1;color:var(--accent);font-size:11px;font-weight:900;letter-spacing:0;text-transform:uppercase;}
.baremo-subsection .baremo-note{padding:0;color:var(--text-dim);}
.baremo-field,.baremo-check{display:grid;gap:5px;min-width:0;color:var(--text-muted);font-size:12px;font-weight:750;line-height:1.35;}
.baremo-check{display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid rgba(139,148,158,.18);border-radius:8px;background:rgba(13,17,23,.16);padding:8px 10px;}
.baremo-check input{accent-color:var(--accent);flex-shrink:0;}
.baremo-field span{color:var(--text-muted);}
.baremo-field input,.baremo-course-table input{min-width:0;width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13px;padding:8px 9px;}
.baremo-field input:focus,.baremo-course-table input:focus{outline:none;border-color:var(--accent);}
.baremo-course-table{display:grid;gap:6px;padding:12px;}
.baremo-course-head,.baremo-course-table label{display:grid;grid-template-columns:minmax(130px,1fr) minmax(76px,.42fr) minmax(76px,.42fr);gap:7px;align-items:center;}
.baremo-course-head{color:var(--text-dim);font-size:10px;font-weight:850;letter-spacing:0;text-transform:uppercase;}
.baremo-course-table label span{min-width:0;color:var(--text-muted);font-size:12px;font-weight:750;line-height:1.25;}
.baremo-course-table label small{display:block;margin-top:2px;color:var(--text-dim);font-size:10px;font-weight:800;letter-spacing:0;line-height:1.25;}
.baremo-note{padding:0 12px 12px;}
.baremo-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;}
.baremo-actions .btn-ghost{min-height:44px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--text-muted);font:inherit;font-size:13px;font-weight:850;cursor:pointer;padding:10px 13px;}
.baremo-actions .btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.baremo-advice{padding:12px;}
#baremo-advice-list{display:grid;gap:7px;margin-top:8px;}
.baremo-advice-item{border:1px solid rgba(230,168,23,.22);border-radius:8px;background:rgba(230,168,23,.055);color:var(--text-muted);font-size:12px;line-height:1.45;padding:9px 10px;}
.baremo-advice-item a{color:#8ec5ff;font-weight:800;text-decoration:none;white-space:nowrap;}
.baremo-advice-item a::before{content:"↗ ";font-weight:900;}
.baremo-history{padding:12px;}
.baremo-history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px;}
.baremo-history-head p,#baremo-history-body p{font-size:12px;color:var(--text-muted);line-height:1.45;margin-top:2px;}
#baremo-history-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid rgba(230,168,23,.36);border-radius:999px;background:var(--accent-dim);color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;}
#baremo-history-body button{margin-top:8px;min-height:34px;border:1px solid rgba(230,168,23,.45);border-radius:8px;background:var(--accent-dim);color:var(--accent);font:inherit;font-size:12px;font-weight:850;cursor:pointer;padding:7px 10px;}
.baremo-history-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 10px;align-items:center;margin-bottom:7px;}
.baremo-history-grid span{color:var(--text-muted);font-size:12px;}
.baremo-history-grid strong{color:var(--text);font-size:12px;}
@media(max-width:620px){
  .profile-library-grid{grid-template-columns:1fr;}
}

/* STATS */
#tab-rendimiento{display:flex;flex-direction:column;}
#tab-rendimiento>*{order:10;}
#tab-rendimiento>.stats-story-panel{order:1;}
#tab-rendimiento>.stats-period-panel{order:2;}
#tab-rendimiento>.learning-insights-panel{order:3;}
#tab-rendimiento>#stats-grid{order:4;}
#tab-rendimiento>.stats-evolution-panel{order:5;}
#tab-rendimiento>.stats-weak-topics-panel{order:6;}
#tab-rendimiento>.stats-advanced-panel{order:7;}
#tab-rendimiento>.profile-advanced-stats{order:8;}
.stats-story-panel{border:1px solid rgba(230,168,23,.24);border-radius:8px;background:linear-gradient(180deg,rgba(230,168,23,.075),rgba(13,17,23,.12)) var(--surface2);padding:12px;margin-bottom:12px;}
.stats-story-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;}
.stats-story-copy{display:grid;gap:2px;min-width:0;}
.stats-story-copy span{color:var(--accent);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.stats-story-copy strong{color:var(--text);font-size:18px;line-height:1.1;}
.stats-story-copy p{margin:0!important;color:var(--text);font-size:13px;font-weight:800;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats-story-copy small{display:block;min-width:0;color:var(--text-muted);font-size:11px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.stats-story-action{min-width:86px;min-height:32px;justify-content:center;}
.stats-story-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
.stats-story-metrics div{border:1px solid rgba(139,148,158,.18);border-radius:8px;background:rgba(139,148,158,.055);padding:8px 7px;text-align:center;}
.stats-story-metrics span{display:block;color:var(--text-muted);font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;}
.stats-story-metrics strong{display:block;color:var(--text);font-size:15px;line-height:1.1;margin-top:4px;}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px;margin-bottom:12px;}
#stats-grid.stats-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.stats-period-panel{order:1;background:linear-gradient(180deg,rgba(230,168,23,.07),rgba(230,168,23,.025)) var(--surface2);border:1px solid rgba(230,168,23,.2);border-radius:8px;padding:0;margin-bottom:12px;overflow:hidden;}
.stats-period-panel[open]{padding-bottom:12px;}
.stats-period-summary-line{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:10px 12px;font-size:12px;color:var(--text-muted);}
.stats-period-summary-line::-webkit-details-marker{display:none;}
.stats-period-summary-line span{font-weight:750;color:var(--text);}
.stats-period-summary-line strong{font-size:11px;color:var(--accent);font-weight:750;}
.stats-period-summary-line::after{content:'▾';flex:0 0 auto;color:var(--text-dim);line-height:1;transition:transform .16s ease;}
.stats-period-panel[open] .stats-period-summary-line::after{display:inline-block;transform:rotate(180deg);}
.stats-period-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.stats-period-title{font-size:12px;font-weight:700;color:var(--text);margin-bottom:2px;}
.stats-period-subtitle{font-size:11px;color:var(--text-dim);}
.stats-period-reset{background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:11px;padding:6px 9px;cursor:pointer;white-space:nowrap;margin:0 12px 9px;}
.stats-period-reset:hover{border-color:var(--accent);color:var(--accent);}
.stats-period-options{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:0 12px;}
.stats-period-btn{min-height:34px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:11px;font-weight:650;cursor:pointer;padding:6px 7px;}
.stats-period-btn.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent);}
.stats-period-custom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:9px 12px 0;}
.stats-period-custom label{font-size:11px;color:var(--text-muted);}
.stats-period-custom input{width:100%;margin-top:4px;background:var(--surface);border:1px solid var(--border);border-radius:8px;color:var(--text);font:inherit;font-size:12px;padding:7px;}
.stat-box{--stat-rgb:139,148,158;--stat-color:var(--text-muted);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon val" "icon lbl" "icon sub";align-items:center;column-gap:9px;min-width:0;background:linear-gradient(180deg,rgba(var(--stat-rgb),.09),rgba(var(--stat-rgb),.035)) var(--surface2);border:1px solid rgba(var(--stat-rgb),.22);border-radius:8px;padding:10px 11px;text-align:left;overflow:hidden;}
.stat-box::after{content:'';position:absolute;right:-18px;top:-22px;width:58px;height:58px;border-radius:50%;background:rgba(var(--stat-rgb),.09);pointer-events:none;}
.stat-box-questions{--stat-rgb:88,166,255;--stat-color:#8ec5ff;}
.stat-box-accuracy{--stat-rgb:63,185,80;--stat-color:#76e08a;}
.stat-box-time{--stat-rgb:230,168,23;--stat-color:var(--accent);}
.stat-box-tests{--stat-rgb:197,156,255;--stat-color:#d4b8ff;}
.stat-icon{grid-area:icon;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:rgba(var(--stat-rgb),.15);border:1px solid rgba(var(--stat-rgb),.3);color:var(--stat-color);font-size:13px;font-weight:950;line-height:1;font-family:'Inter',sans-serif;}
.stat-val{grid-area:val;min-width:0;color:var(--text);font-size:21px;font-weight:900;line-height:1.05;letter-spacing:0;}
.stat-lbl{grid-area:lbl;min-width:0;color:var(--stat-color);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;line-height:1.12;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stat-sub{grid-area:sub;min-width:0;color:var(--text-dim);font-size:10.5px;font-weight:750;line-height:1.14;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stats-advanced-panel{order:7;background:rgba(230,168,23,.035);border:1px solid rgba(230,168,23,.14);border-radius:8px;margin:0 0 12px;overflow:hidden;}
.stats-advanced-panel[open]{padding-bottom:12px;}
.stats-advanced-summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:10px 12px;font-size:12px;color:var(--text-muted);}
.stats-advanced-summary::-webkit-details-marker{display:none;}
.stats-advanced-summary span{font-weight:800;color:var(--text);}
.stats-advanced-summary strong{font-size:11px;color:var(--accent);font-weight:800;}
.stats-advanced-summary::after{content:'▾';flex:0 0 auto;color:var(--text-dim);line-height:1;transition:transform .16s ease;}
.stats-advanced-panel[open] .stats-advanced-summary::after{display:inline-block;transform:rotate(180deg);}
.stats-advanced-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px;margin:0 12px 12px;}
.usage-summary-panel{border:1px solid rgba(139,148,158,.18);border-radius:8px;background:rgba(13,17,23,.18);padding:11px 12px;margin:0 12px;}
.usage-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px;}
.usage-summary-head strong{font-size:13px;color:var(--text);}
.usage-summary-head span{font-size:11px;color:var(--text-dim);line-height:1.35;text-align:right;}
.usage-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;}
.usage-summary-grid div{border:1px solid rgba(139,148,158,.16);border-radius:8px;background:rgba(139,148,158,.055);padding:9px;text-align:center;}
.usage-summary-grid strong{display:block;font-size:18px;color:var(--text);line-height:1.15;}
.usage-summary-grid span{display:block;margin-top:3px;font-size:10px;color:var(--text-muted);font-weight:750;text-transform:uppercase;letter-spacing:.03em;line-height:1.25;}
.stats-evolution-panel{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:12px;margin-bottom:12px;overflow:hidden;}
.stats-evolution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px;}
.stats-evolution-title{font-size:13px;font-weight:850;color:var(--text);margin-bottom:2px;}
.stats-evolution-subtitle{font-size:12px;color:var(--text-muted);line-height:1.35;}
.stats-evolution-toggle{display:inline-grid;grid-template-columns:1fr 1fr;gap:5px;flex:0 0 auto;background:rgba(13,17,23,.28);border:1px solid rgba(48,54,61,.75);border-radius:9px;padding:4px;}
.stats-evolution-toggle button{min-height:30px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--text-muted);font:inherit;font-size:11px;font-weight:850;cursor:pointer;padding:5px 9px;}
.stats-evolution-toggle button.active{background:var(--accent-dim);border-color:rgba(230,168,23,.42);color:var(--accent);}
.stats-evolution-chart{display:block;width:100%;height:auto;min-height:180px;margin-top:4px;}
.stats-evolution-gridline{stroke:rgba(139,148,158,.18);stroke-width:1;}
.stats-evolution-axis{fill:var(--text-dim);font-size:10px;font-weight:700;}
.stats-evolution-line{fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;opacity:.86;}
.stats-evolution-line.ok{stroke:var(--correct);}
.stats-evolution-line.wrong{stroke:var(--wrong);}
.stats-evolution-line.blank{stroke:var(--text-dim);}
.stats-evolution-scatter{stroke-width:1.6;opacity:.58;}
.stats-evolution-scatter.ok{stroke:var(--correct);fill:rgba(63,185,80,.10);}
.stats-evolution-scatter.wrong{stroke:var(--wrong);fill:rgba(248,81,73,.10);}
.stats-evolution-scatter.blank{stroke:var(--text-dim);fill:rgba(139,148,158,.10);}
.stats-evolution-dot{stroke:var(--surface2);stroke-width:2.2;}
.stats-evolution-dot.ok{fill:var(--correct);}
.stats-evolution-dot.wrong{fill:var(--wrong);}
.stats-evolution-dot.blank{fill:var(--text-dim);}
.stats-evolution-legend{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:11px;font-weight:800;color:var(--text-muted);}
.stats-evolution-legend-item{display:inline-flex;align-items:center;gap:6px;}
.stats-evolution-legend-item::before{content:'';width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--text-dim);}
.stats-evolution-legend-item.ok::before{background:var(--correct);}
.stats-evolution-legend-item.wrong::before{background:var(--wrong);}
.stats-evolution-empty{border:1px dashed rgba(139,148,158,.25);border-radius:8px;background:rgba(13,17,23,.22);color:var(--text-dim);font-size:12px;padding:14px;text-align:center;}
.stats-weak-topics-panel{background:linear-gradient(180deg,rgba(88,166,255,.055),rgba(13,17,23,.08)) var(--surface2);border:1px solid rgba(88,166,255,.18);border-radius:8px;padding:12px;margin-bottom:12px;}
.stats-weak-topics-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px;}
.stats-weak-topics-title{font-size:13px;font-weight:850;color:var(--text);margin-bottom:2px;}
.stats-weak-topics-subtitle{max-width:220px;font-size:11px;color:var(--text-muted);line-height:1.35;text-align:right;}
.stats-weak-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.stats-weak-topic-card{--weak-rgb:230,168,23;--weak-color:var(--accent);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;background:linear-gradient(180deg,rgba(var(--weak-rgb),.08),rgba(13,17,23,.28));border:1px solid rgba(var(--weak-rgb),.22);border-radius:8px;padding:9px;cursor:pointer;transition:border-color .14s,background .14s,transform .14s;}
.stats-weak-topic-card:hover{border-color:rgba(var(--weak-rgb),.42);background:linear-gradient(180deg,rgba(var(--weak-rgb),.12),rgba(13,17,23,.32));}
.stats-weak-topic-card:active{transform:translateY(1px);}
.stats-weak-topic-card:focus-visible{outline:2px solid rgba(var(--weak-rgb),.55);outline-offset:2px;}
.stats-weak-topic-danger{--weak-rgb:248,81,73;--weak-color:var(--wrong);}
.stats-weak-topic-warn{--weak-rgb:249,115,22;--weak-color:var(--warn);}
.stats-weak-topic-steady{--weak-rgb:230,168,23;--weak-color:var(--accent);}
.stats-weak-topic-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:rgba(var(--weak-rgb),.14);border:1px solid rgba(var(--weak-rgb),.28);color:var(--weak-color);font-size:11px;font-weight:950;line-height:1;}
.stats-weak-topic-copy{min-width:0;}
.stats-weak-topic-kicker{font-size:9px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--weak-color);margin-bottom:2px;}
.stats-weak-topic-name{font-size:13px;font-weight:800;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stats-weak-topic-meta{font-size:11px;color:var(--text-muted);margin-top:2px;}
.stats-weak-topic-meter{grid-column:1/-1;height:5px;border-radius:999px;background:rgba(139,148,158,.16);overflow:hidden;}
.stats-weak-topic-meter span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--weak-color),var(--wrong));}
.stats-weak-topic-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:58px;min-height:44px;border:1px solid rgba(var(--weak-rgb),.42);border-radius:8px;background:rgba(var(--weak-rgb),.10);color:var(--weak-color);font:inherit;font-size:10px;font-weight:850;cursor:pointer;padding:5px 7px;}
.stats-weak-topic-action strong{font-size:15px;color:var(--weak-color);line-height:1;}
.stats-weak-topic-action:hover{border-color:rgba(var(--weak-rgb),.62);background:rgba(var(--weak-rgb),.14);}
.stats-weak-topics-empty{border:1px dashed rgba(139,148,158,.25);border-radius:8px;background:rgba(13,17,23,.22);color:var(--text-dim);font-size:12px;padding:14px;text-align:center;}
.learning-insights-panel{background:linear-gradient(180deg,rgba(230,168,23,.075),rgba(230,168,23,.025));border:1px solid rgba(230,168,23,.22);border-radius:8px;padding:12px;margin-bottom:14px;}
.learning-head{margin-bottom:10px;}
.learning-title{font-size:13px;font-weight:800;color:var(--text);margin-bottom:2px;}
.learning-subtitle{font-size:11px;color:var(--text-dim);line-height:1.4;}
.learning-primary-action{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface);border:1px solid rgba(230,168,23,.45);border-radius:8px;color:var(--text);text-align:left;padding:12px;cursor:pointer;margin-bottom:10px;}
.learning-primary-action:hover{border-color:var(--accent);}
.learning-primary-copy{display:flex;flex-direction:column;gap:2px;min-width:0;}
.learning-primary-kicker{font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.learning-primary-title{font-size:15px;font-weight:800;color:var(--text);}
.learning-primary-text{font-size:12px;color:var(--text-muted);line-height:1.4;}
.learning-primary-cta{flex-shrink:0;background:var(--accent);color:#111;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:800;}
.learning-signals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
.learning-signal{background:rgba(13,17,23,.35);border:1px solid var(--border);border-radius:8px;padding:7px 8px;font-size:11px;color:var(--text-muted);text-align:center;}
.learning-signal strong{display:block;color:var(--text);font-size:16px;line-height:1.1;margin-bottom:1px;}
.learning-secondary{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.learning-secondary-title{grid-column:1/-1;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);}
.learning-recommendation{background:rgba(13,17,23,.35);border:1px solid var(--border);border-radius:8px;color:var(--text);text-align:left;padding:10px;cursor:pointer;min-height:64px;}
.learning-recommendation:hover{border-color:var(--accent);}
.learning-rec-title{display:block;font-size:12px;font-weight:700;color:var(--accent);margin-bottom:3px;}
.learning-rec-text{display:block;font-size:11px;color:var(--text-muted);line-height:1.4;}
.learning-empty{font-size:12px;color:var(--text-dim);padding:4px 0;}
.stats-history{display:flex;flex-direction:column;gap:6px;}
.stats-empty{font-size:13px;color:var(--text-dim);}
.hist-item{background:var(--surface2);border:1px solid var(--border);border-radius:8px;overflow:hidden;}
.hist-item.latest{border-color:rgba(230,168,23,.35);}
.hist-item-header{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:8px;align-items:center;padding:9px 12px;cursor:pointer;font-size:12px;}
.hist-item-score{font-weight:700;font-family:monospace;}
.hist-item-meta{color:var(--text-muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hist-item-date,.hist-item-hint,.hist-item-chevron{color:var(--text-dim);font-size:11px;}
.hist-item-body{display:none;padding:12px;border-top:1px solid var(--border);}
.hist-item-failures{font-size:11px;color:var(--wrong);margin-bottom:8px;}
.hist-action-btn{margin-top:4px;margin-right:6px;}
.stats-exam-row{display:flex;align-items:center;gap:10px;background:var(--surface2);border-radius:8px;padding:9px 12px;font-size:12px;}
.stats-exam-score{font-weight:700;min-width:60px;}
.stats-exam-meta{flex:1;color:var(--text-muted);}
.stats-exam-date{color:var(--text-dim);font-size:11px;}
.stats-section-title{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:14px 0 8px;}
.stats-section-title-spaced{margin-top:14px;}
#stats-hist-global{margin-top:14px;}
.stats-collapse-header{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:9px 12px;background:var(--surface2);border:1px solid var(--border);border-radius:8px;margin-top:8px;user-select:none;}
.stats-collapse-header-first{margin-top:12px;}
.stats-collapse-title{min-width:0;font-size:12px;font-weight:600;color:var(--text-muted);}
.stats-collapse-hint{font-size:10px;font-weight:400;color:var(--text-dim);}
.stats-collapse-chevron{flex:0 0 auto;margin-left:auto;color:var(--text-dim);font-size:13px;line-height:1;}
.stats-collapse-body{margin-top:4px;}
.profile-advanced-stats{background:transparent;border:1px solid var(--border);border-radius:8px;margin-top:14px;padding:0;overflow:hidden;}
.profile-advanced-stats summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;padding:11px 12px;font-size:12px;font-weight:750;color:var(--text-muted);background:var(--surface2);}
.profile-advanced-stats summary::-webkit-details-marker{display:none;}
.profile-advanced-stats summary::after{content:'▾';flex:0 0 auto;margin-left:auto;color:var(--text-dim);line-height:1;transition:transform .16s ease;}
.profile-advanced-stats[open] summary::after{display:inline-block;transform:rotate(180deg);}
.profile-advanced-stats[open]{padding-bottom:12px;}
.profile-advanced-copy{font-size:11px;color:var(--text-dim);line-height:1.45;padding:10px 12px 0;}
.profile-advanced-stats #stats-hist-global,.profile-advanced-stats .stats-collapse-header,.profile-advanced-stats .stats-collapse-body{margin-left:12px;margin-right:12px;}
.custom-tests-intro{font-size:12px;color:var(--text-muted);margin-bottom:12px;}
.mini-bar-row{
  display:grid;
  grid-template-columns:150px 1fr 38px 72px 24px;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  font-size:12px;
}
.mini-bar-label{color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mini-bar-wrap{height:8px;background:var(--surface2);border-radius:4px;overflow:hidden;}
.mini-bar-fill{height:100%;border-radius:4px;transition:width .3s;}
.mini-bar-pct{text-align:right;font-family:monospace;font-weight:600;font-size:11px;}
/* mini-bar-counts y mini-bar-launch ya tienen ancho fijo por grid-template-columns */
@media(max-width:760px){.stats-grid{grid-template-columns:repeat(2,1fr);}.profile-library-grid{grid-template-columns:1fr;}}
@media(max-width:620px){.exam-random-resume-panel{grid-template-columns:1fr;}}
@media(max-width:500px){.stats-grid{grid-template-columns:repeat(2,1fr);}.usage-summary-head{flex-direction:column;}.usage-summary-head span{text-align:left;}.usage-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:620px){
  .profile-space-layout{grid-template-columns:1fr;gap:10px;}
  .stats-tabs{position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));}
  .stats-tab{justify-content:center;}
  .stats-period-head{flex-direction:column;}
  .stats-period-reset{width:100%;}
  .stats-period-options{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats-period-custom{grid-template-columns:1fr;}
  .learning-primary-action{align-items:stretch;flex-direction:column;}
  .learning-primary-cta{width:100%;text-align:center;}
  .learning-signals{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats-weak-topic-list{grid-template-columns:1fr;}
  .learning-secondary{grid-template-columns:1fr;}
  .hist-item-header{grid-template-columns:auto 1fr auto;gap:5px;}
  .hist-item-date,.hist-item-hint{display:none;}
  .profile-page-head{margin-bottom:14px;}
  .profile-repaso-bridge{align-items:stretch;flex-direction:column;}
  .profile-saved-head,.profile-library-head{align-items:stretch;flex-direction:column;}
  .baremo-head{align-items:stretch;flex-direction:column;}
  .baremo-access-gate{align-items:stretch;flex-direction:column;}
  .baremo-access-gate button{width:100%;}
  .baremo-total-card{text-align:left;width:100%;}
  .baremo-course-head,.baremo-course-table label{grid-template-columns:1fr 82px 82px;}
  .baremo-actions{grid-template-columns:1fr;}
  .profile-repaso-btn{width:100%;}
  .profile-access-review{align-items:stretch;flex-direction:column;}
  .profile-guidance-card{align-items:stretch;flex-direction:column;}
  .profile-guidance-action{width:100%;}
  .profile-auth-review{align-items:stretch;flex-direction:column;}
  .profile-auth-review.signed{align-items:stretch;flex-direction:column;}
  .profile-auth-actions{width:100%;min-width:0;}
  .profile-auth-review.signed .profile-auth-actions{width:100%;min-width:0;}
  .profile-auth-email-row{grid-template-columns:1fr;}
  .profile-auth-password-row{grid-template-columns:1fr;min-width:0;}
  .profile-advanced-account summary{align-items:center;flex-direction:row;}
  .profile-advanced-account summary strong{text-align:right;}
  .profile-sync-review{align-items:stretch;flex-direction:column;}
  .profile-sync-actions{width:100%;min-width:0;}
  .profile-sync-actions button{width:100%;}
  .profile-devices-review,.profile-reminders-review{align-items:stretch;flex-direction:column;}
  .profile-devices-actions,.profile-reminders-frequency{width:100%;min-width:0;}
  .profile-devices-actions button{width:100%;}
  .profile-reminders-options{grid-template-columns:1fr;}
  .profile-diagnostic-review{align-items:stretch;flex-direction:column;}
  .profile-diagnostic-actions{width:100%;min-width:0;}
  .profile-diagnostic-actions button{width:100%;}
  .profile-backend-beta-grid{grid-template-columns:1fr;}
  .profile-access-toggle{width:100%;min-width:0;}
  .profile-access-actions{width:100%;}
}

/* ── Responsive audit transversal · Beta 8.0.5 ── */
html,body{max-width:100%;overflow-x:hidden;}
img,svg,canvas,video{max-width:100%;height:auto;}
button,input,select,textarea{max-width:100%;}

@media(max-width:760px){
  .shell{width:min(calc(100% - 24px - var(--safe-left) - var(--safe-right)),var(--page-max));max-width:none;padding:var(--safe-top) 0 var(--safe-bottom);}
  .app-header{gap:9px;margin-bottom:14px;}
  .card{padding:15px;margin-bottom:11px;}
  .quiz-main{display:flex;flex-direction:column;width:100%;max-width:100%;min-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 112px);padding-bottom:6px;}
  .quiz-question-card{display:flex;flex-direction:column;justify-content:flex-start;flex:1 1 auto;min-height:0;margin-bottom:0;padding:6px 12px 10px;}
  .q-nav{position:static;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6px;width:100%;max-width:100%;margin:6px 0 0;padding:3px 0 5px;background:rgba(13,17,23,.94);border:0;border-radius:8px;box-shadow:none;backdrop-filter:blur(10px);overflow:hidden;transform:none;}
  .btn-finish{grid-column:1;grid-row:1;order:1;width:100%;max-width:100%;min-width:0;min-height:36px;align-self:stretch;padding:6px 9px;font-size:12px;}
  .btn-pause-exam{grid-column:1/-1;grid-row:2;order:3;width:100%;max-width:100%;align-self:stretch;padding:9px 12px;}
  .exam-save-status,.toast-libre{grid-column:1/-1;order:4;width:100%;text-align:center;}
  .q-nav-actions{grid-column:2;grid-row:1;order:2;width:100%;min-width:0;margin-left:0;display:grid;grid-template-columns:minmax(0,1fr);}
  .btn-skip,.btn-next{min-width:0;min-height:36px;padding:6px 9px;font-size:12px;}
  .btn-skip.visible,.btn-next.visible{display:block;width:100%;margin-left:0;}

  .timer-banner{gap:8px;align-items:stretch;flex-wrap:wrap;}
  .timer-main{min-width:0;}
  #countdown-block{min-width:84px;}

  .review-postexam-banner.visible{display:flex;flex-direction:column;align-items:stretch;gap:8px;}
  .review-postexam-nav{display:grid;grid-template-columns:1fr 1fr;gap:7px;}
  #rev-postexam-counter{grid-column:1/-1;order:-1;width:100%;}
  .btn-rev-back{grid-column:1/-1;}

  .modal-overlay,.modal-bloque-overlay{align-items:flex-end;padding:12px;padding-left:calc(12px + var(--safe-left));padding-right:calc(12px + var(--safe-right));padding-bottom:calc(12px + var(--safe-bottom));}
  .modal,.modal-bloque{width:100%;max-width:none;max-height:calc(100dvh - 24px);overflow:auto;border-radius:12px;padding:20px;}
}

@media(max-width:520px){
  body{font-size:14px;}
  .shell{width:min(calc(100% - 20px - var(--safe-left) - var(--safe-right)),var(--page-max));padding:var(--safe-top) 0 var(--safe-bottom);}
  .app-header{align-items:flex-start;}
  .app-badge{font-size:9px;padding:2px 6px;margin-top:2px;}
  .brand-mark{font-size:20px;}
  .brand-subtitle{font-size:10px;line-height:1.25;}
  #user-display{width:34px;height:34px;}

  #user-block-home,#profile-identity-block{padding:13px 14px;}
  .user-block-row{gap:10px;}
  #ub-avatar,#profile-avatar{width:40px;height:40px;}

  .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .mode-card{min-height:84px;padding:11px;}
  .mode-card-title{font-size:13px;}
  .mode-card-desc{font-size:11px;line-height:1.35;}
  .mode-card:has(.mode-card-icon){gap:8px;}
  .mode-card .mode-card-icon{width:28px;height:28px;}
  .story-entry-card{--mode-icon-size:13px;}
  .law-entry-card{--mode-icon-size:19px;}
  .baremo-entry-card{--mode-icon-size:12px;}
  .laws-group{padding:11px;}
  .laws-grid{grid-template-columns:1fr;}
  .law-card{min-height:178px;padding:11px;}
  .laws-reader-head{flex-direction:column;}
  .laws-reader-close{width:100%;}
  .laws-reader-body{max-height:65vh;padding:13px;}
  .laws-reader-body p,.law-full-body p{font-size:13px;line-height:1.62;}
  .law-summary-short{font-size:15px!important;}
  .law-summary-actions{display:grid;grid-template-columns:1fr;}
  .law-open-full-btn,.law-summary-back-btn{width:100%;}
  .laws-full-toolbar{margin:-13px -13px 13px;}

  .filter-scope-row{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;}
  .filter-reset-btn{width:100%;min-height:38px;}
  .filter-reset-btn:not(.visible){display:none;}
  .filters-body{padding-left:0;}
  .filter-section{margin-left:0;}
  .filter-toggle{min-height:42px;padding:9px 10px;}
  .filter-toggle-meta{display:none;}
  .filter-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;}
  .filter-inline-status{max-width:145px;}
  .compact-pill-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}
  .compact-pill-grid .pill:not([data-val="__todas__"]){width:100%;margin-left:0;}
  .exam-official-list{max-height:none;overflow:visible;overscroll-behavior:auto;}

  body.quiz-active .app-header{margin-bottom:4px;}
  body.quiz-active .quiz-layout,
  body.quiz-active .quiz-main,
  body.quiz-active .timer-banner,
  body.quiz-active .progress-info,
  body.quiz-active .quiz-question-card,
  body.quiz-active .q-nav,
  body.quiz-active .timer-main,
  body.quiz-active .timer-compact-row,
  body.quiz-active .q-nav-actions{
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  body.quiz-active .quiz-layout{overflow-x:hidden;overflow-y:visible;}
  body.quiz-active .quiz-main{flex:1 1 auto;}
  .quiz-topbar{margin-bottom:5px;}
  .timer-banner{margin-bottom:5px;}
  .history-sidebar{margin-bottom:0;}
  .progress-info{margin-bottom:1px;line-height:1.08;}
  .progress-bar-wrap{margin-bottom:2px;}
  .qtimer-wrap{margin-bottom:8px;}
  .qtimer-wrap-inline{margin:0;}
  .q-action-btn{width:30px;height:30px;font-size:13px;border-radius:8px;background:rgba(13,17,23,.32);}
  .q-action-btn.warn{font-size:15px;}
  .q-text{font-size:14px;line-height:1.38;margin-top:0;margin-bottom:8px;}
  .options{gap:7px;}
  .option-btn{grid-template-columns:20px 1fr;align-items:center;column-gap:7px;min-height:38px;padding:5px 8px;}
  .option-letter{width:20px;height:20px;font-size:10px;}
  .option-text{font-size:12.75px;line-height:1.42;}
  .options.answered .option-btn.show-feedback .option-feedback{grid-template-columns:20px 1fr;gap:7px;}
  input,select,textarea{font-size:16px;}
  .quiz-question-card{min-height:0;}
  .q-nav{position:static;z-index:40;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:6px;width:100%;max-width:100%;margin:6px 0 0;padding:3px 0 5px;background:rgba(13,17,23,.94);border:0;border-radius:8px;box-shadow:none;backdrop-filter:blur(10px);overflow:hidden;}
  .btn-finish{grid-column:1;grid-row:1;order:1;width:100%;max-width:100%;min-width:0;min-height:36px;align-self:stretch;padding:6px 9px;font-size:12px;}
  .btn-pause-exam{grid-column:1/-1;grid-row:2;order:3;width:100%;max-width:100%;align-self:stretch;padding:9px 12px;}
  .exam-save-status,.toast-libre{grid-column:1/-1;order:4;width:100%;text-align:center;}
  .q-nav-actions{grid-column:2;grid-row:1;order:2;width:100%;min-width:0;margin-left:0;display:grid;grid-template-columns:minmax(0,1fr);}
  .btn-skip,.btn-next{min-width:0;min-height:36px;padding:6px 9px;font-size:12px;}
  .btn-skip.visible,.btn-next.visible{display:block;width:100%;margin-left:0;}
  .live-score-row,.progress-info{gap:8px;}
  .progress-info span{min-width:0;}
  .progress-info .modo-examen-toggle-wrap{margin-left:auto;}
  .progress-info .modo-examen-label{font-size:9px;letter-spacing:.02em;}
  .progress-info .modo-examen-toggle-wrap{gap:4px;}
  .progress-info .modo-examen-chk{width:30px;height:16px;border-radius:8px;}
  .progress-info .modo-examen-chk::after{top:2px;left:2px;width:10px;height:10px;}
  .progress-info .modo-examen-chk:checked::after{transform:translateX(14px);}

  .result-number{font-size:52px;}
  .result-grid{grid-template-columns:1fr;}
  .result-actions{display:flex;flex-direction:column;gap:8px;}
  .result-actions .btn-primary,.result-actions .btn-ghost{width:100%;margin-top:0;}

  .modal-btns{flex-direction:column;}
  .modal-btns button{width:100%;}
  .onboarding-choice-grid{grid-template-columns:1fr;}

  .profile-page-head{flex-direction:row;align-items:flex-start;gap:10px;}
  .profile-plan-badge{margin-left:auto;}
  .profile-page-title{font-size:22px;}
  .stats-grid{grid-template-columns:1fr;}
  #stats-grid.stats-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .stats-period-options{grid-template-columns:1fr 1fr;}
  .stats-period-summary-line{align-items:flex-start;}
  .hist-item-header{grid-template-columns:1fr auto;align-items:start;}
  .hist-item-score{grid-column:1/-1;}
  .mini-bar-row{grid-template-columns:1fr 44px;}
}

@media(max-height:520px) and (orientation:landscape){
  .history-sidebar .history-header{display:none;}
  .history-sidebar .history-list{padding-top:4px;}
  .history-block-section{display:flex;align-items:stretch;gap:3px;margin:0;min-width:0;width:auto;max-width:none;flex:0 0 auto;}
  .history-list .history-block-section{order:2;}
  .history-block-section.open{order:1;flex:1 0 100%;width:100%;max-width:100%;}
  .history-block-header{position:sticky;left:0;z-index:4;flex:0 0 28px;width:28px;min-height:30px;margin:0;padding:3px;justify-content:center;text-align:center;border:1px solid rgba(139,148,158,.34);border-bottom:2px solid rgba(139,148,158,.42);background:#242b35;color:#c9d1d9;scroll-snap-align:none;box-shadow:5px 0 9px rgba(13,17,23,.52);border-radius:5px;overflow:visible;}
  .history-block-header::before{content:'';position:absolute;top:-1px;bottom:-2px;left:-5px;width:5px;background:var(--surface);border-radius:5px 0 0 5px;pointer-events:none;}
  .history-block-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:100%;font-size:9px;letter-spacing:.03em;line-height:1;}
  .history-block-full-label{display:none;}
  .history-block-compact-label{display:inline;}
  .history-block-chevron{display:none;}
  .history-block-body{display:flex;min-width:0;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;gap:3px;}
  .history-block-section.open .history-block-body{flex:1 1 auto;width:auto;}
  .history-block-section.open .history-item{flex:1 1 0;width:auto;min-width:0;max-width:none;}
  .q-action-btn{width:34px;height:34px;font-size:14px;border-radius:10px;background:rgba(13,17,23,.32);}
  .q-action-btn.warn{font-size:15px;}
  .modal-overlay,.modal-bloque-overlay{align-items:flex-end;justify-content:center;padding:9px;padding-left:calc(9px + var(--safe-left));padding-right:calc(9px + var(--safe-right));padding-top:calc(9px + var(--safe-top));padding-bottom:calc(9px + var(--safe-bottom));}
  .modal,.modal-bloque{width:min(520px,100%);max-width:520px;max-height:calc(100dvh - 18px - var(--safe-top) - var(--safe-bottom));border-radius:12px;padding:18px;}
  .modal-bloque-stats{gap:12px;margin-bottom:12px;}
  .modal-bloque-stat-val{font-size:22px;}
  .modal-bloque-btns{gap:7px;}
}

@media(max-width:420px){
  .q-action-btn{width:32px;height:32px;font-size:14px;}
  .q-text{padding-right:0;}
  .q-meta{padding-right:0;}
}

@media(max-width:380px){
  .mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .history-item{min-width:0;flex-basis:0;}
  .timer-banner{flex-direction:row;align-items:center;}
  #countdown-block{text-align:right;margin-left:0;}
  .q-nav-actions{grid-template-columns:1fr;}
  .subscription-banner{align-items:stretch;flex-direction:column;}
  .subscription-banner button{width:100%;}
}

@media(max-width:520px){
  .subscription-banner{align-items:stretch;flex-direction:column;}
  .subscription-banner button{width:100%;}
}

/* Navegación principal integrada en cabecera · Beta 8.0.85 */
@media(max-width:620px){
  .app-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;}
  #user-display{display:none;}
  .app-title{padding-right:0;min-width:0;}
  .mobile-tabbar{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    width:100%;
    margin-top:2px;
    padding:4px;
    background:rgba(22,27,34,.72);
    border:1px solid rgba(48,54,61,.88);
    border-radius:12px;
  }
  .mobile-tabbar.mobile-tabbar-hidden{display:none;}
  .mobile-tab{
    min-height:42px;
    border:1px solid transparent;
    border-radius:9px;
    background:transparent;
    color:var(--text-muted);
    display:flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    font-size:13.5px;
    font-weight:850;
    cursor:pointer;
    padding:7px 6px;
    white-space:normal;
  }
  .mobile-tab span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .mobile-tab-icon{display:none;}
  .mobile-tab.active{
    border-color:rgba(230,168,23,.42);
    background:var(--accent-dim);
    color:var(--accent);
  }
  .mobile-tab:active{transform:translateY(1px);}
}

/* Home width smoothing: the height rules are fluid; this keeps very narrow phones fluid too. */
@media(max-width:380px){
  body .shell{width:min(calc(100% - 16px - var(--safe-left) - var(--safe-right)),var(--page-max));}
  body .app-header{gap:7px;padding-inline:8px;}
  body .app-badge{font-size:8.5px;padding:2px 6px;letter-spacing:.06em;}
  body .brand-mark{font-size:clamp(19px,6vw,22px);}
  body .brand-subtitle{font-size:9.5px;line-height:1.15;}
  body .mobile-tabbar{gap:4px;padding:3px;margin-top:1px;}
  body .mobile-tab{min-height:34px;padding:5px 6px;font-size:12px;border-radius:8px;white-space:nowrap;}
  body .mobile-tab[data-short] span:first-child{display:none;}
  body .mobile-tab[data-short]::before{content:attr(data-short);}
  body .mobile-tab .app-plan-badge{min-height:14px;margin-left:2px;padding:2px 4px;font-size:6.5px;border-radius:5px;}
  body #filter-card{padding-inline:8px;}
  body .mode-grid{gap:5px;}
  body .mode-card{display:flex;flex-direction:column;justify-content:center;padding:4px 7px;min-height:clamp(44px,9.5dvh,60px);}
  body .mode-card-title{font-size:clamp(11px,3.35vw,12px);line-height:1.08;}
  body .mode-card-desc{font-size:clamp(8.5px,2.75vw,9.6px);line-height:1.12;}
  body .mode-card:has(.mode-card-icon){align-items:flex-start;justify-content:center;gap:4px;text-align:left;}
  body .mode-card:has(.mode-card-icon) .mode-card-copy{text-align:left;}
  body .mode-card .mode-card-icon{width:18px;height:18px;margin:0 auto;}
  body .story-entry-card{--mode-icon-size:9px;}
  body .law-entry-card{--mode-icon-size:14px;}
  body .baremo-entry-card{--mode-icon-size:8.5px;}
  body .filter-scope-toggle{min-height:34px;padding:6px 8px;}
  body #btn-start{min-height:40px;}
}
@media(max-width:340px){
  body .shell{width:min(calc(100% - 12px - var(--safe-left) - var(--safe-right)),var(--page-max));}
  body .app-header{grid-template-columns:auto minmax(0,1fr);gap:6px;}
  body .brand-subtitle{display:none;}
  body .mobile-tab{min-height:32px;padding:4px 5px;font-size:11px;}
  body .mobile-tab[data-tiny]::before{content:attr(data-tiny);}
  body .mobile-tab .app-plan-badge{font-size:6px;padding:2px 3px;}
  body #filter-card{padding-inline:7px;}
  body .mode-card{padding:4px 5px;min-height:clamp(42px,9.2dvh,56px);}
}
@media(max-width:300px){
  body .app-badge{display:none;}
  body .app-header{grid-template-columns:1fr;}
  body .brand-mark{font-size:19px;}
  body .mobile-tabbar{grid-column:1;}
  body .mobile-tab .app-plan-badge{display:none;}
  body .mode-card-desc{display:none;}
}
@media(max-width:360px),(max-height:620px){
  body .mode-card-desc{display:none;}
}

/* Free home only differs by access messaging; layout density comes from the shared home rules above. */
@media(max-width:520px),(max-height:760px){
  body:not(.extera-pro) #filter-card{flex:0 0 auto;max-height:none;}
  body:not(.extera-pro) .subscription-banner{flex-direction:row;align-items:center;gap:8px;margin:2px 0 7px;padding:8px 40px 8px 10px;min-height:0;}
  body:not(.extera-pro) .subscription-banner>div{flex:1 1 auto;min-width:0;}
  body:not(.extera-pro) .subscription-banner strong{font-size:11.5px;line-height:1.15;margin-bottom:1px;}
  body:not(.extera-pro) .subscription-banner span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:10.5px;line-height:1.22;}
  body:not(.extera-pro) .subscription-banner button:not(.subscription-banner-close){width:auto;min-height:30px;padding:5px 9px;border-radius:7px;font-size:10.5px;line-height:1.1;white-space:nowrap;flex:0 0 auto;}
  body:not(.extera-pro) .subscription-banner-close{top:50%;right:7px;transform:translateY(-50%);width:28px!important;min-width:28px!important;min-height:28px!important;}
  body:not(.extera-pro) .filter-scope-help,
  body:not(.extera-pro) .filter-scope-summary{display:none;}
  body:not(.extera-pro) .filter-scope,
  body:not(.extera-pro) #filter-pro-preview{display:none!important;}
  body:not(.extera-pro) #btn-start{margin-top:16px;}
  body:not(.extera-pro) #filter-card:has(.start-action-hint.visible) .start-action-hint{order:98;margin-top:auto;margin-bottom:6px;}
  body:not(.extera-pro) #filter-card:has(.start-action-hint.visible) #btn-start{order:99;margin-top:0;}
}
@media(max-width:360px),(max-height:660px){
  body:not(.extera-pro) .subscription-banner span{-webkit-line-clamp:1;}
}
@media(max-width:360px),(max-height:580px){
  body:not(.extera-pro) .mode-card-disabled{display:none!important;}
  body:not(.extera-pro) .subscription-banner{display:none!important;}
}
@media(max-width:520px),(max-height:760px){
  body.extera-pro .mode-card,
  body:not(.extera-pro) .mode-card{display:flex;flex-direction:column;justify-content:center;min-height:clamp(42px,10.6dvh,112px);padding:clamp(5px,1.45dvh,14px) clamp(7px,2vw,14px);}
  body.extera-pro .mode-card-title,
  body:not(.extera-pro) .mode-card-title{font-size:clamp(11px,2dvh,16px);line-height:1.13;margin-bottom:clamp(0px,.55dvh,5px);}
  body.extera-pro .mode-card-desc,
  body:not(.extera-pro) .mode-card-desc{display:block;font-size:clamp(9px,1.55dvh,12px);line-height:1.18;}
  body.extera-pro .filter-scope-toggle,
  body:not(.extera-pro) .filter-scope-toggle{min-height:clamp(30px,5.8dvh,46px);padding:clamp(6px,1.2dvh,10px) clamp(8px,2vw,12px);}
  body.extera-pro #btn-start,
  body:not(.extera-pro) #btn-start{min-height:clamp(34px,6.4dvh,62px);padding:clamp(7px,1.5dvh,15px) clamp(9px,2.4vw,16px);font-size:clamp(13px,2.15dvh,17px);}
}
@media(max-width:360px),(max-height:620px){
  body.extera-pro .mode-card-desc,
  body:not(.extera-pro) .mode-card-desc{display:none;}
}

/* Compact secondary screens: Novedades and Mi espacio follow the same app-like density. */
@media(max-width:520px),(max-height:720px){
  body #screen-news .app-info-title{font-size:clamp(18px,5vw,21px);line-height:1.08;margin-bottom:3px;}
  body #screen-news .app-info-lead{font-size:11px;line-height:1.32;margin-bottom:8px;}
  body .news-item-head h3{font-size:12.5px;line-height:1.24;margin-top:2px;}
  body .news-item-body{font-size:11px;line-height:1.34;}
}
@media(max-width:380px),(max-height:620px){
  body #screen-news .card,
  body #screen-stats>.card{padding:10px;margin-bottom:8px;}
  body #screen-news .app-info-kicker{font-size:8.5px;margin-bottom:2px;}
  body #screen-news .app-info-title,
  body .profile-page-title{font-size:clamp(19px,5.6vw,22px);line-height:1.08;margin-bottom:3px;}
  body #screen-news .app-info-lead{font-size:0;line-height:1;margin-bottom:6px;}
  body #screen-news .app-info-lead::after{content:'Histórico ordenado';display:inline-block;max-width:100%;font-size:10px;line-height:1.2;color:var(--text-dim);font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;}
  body .profile-page-subtitle{font-size:11px;line-height:1.32;margin-bottom:8px;}

  body .news-filter{gap:5px;margin:2px 0 8px;padding:5px;border-radius:8px;}
  body .news-filter-row{gap:5px;}
  body .news-filter-row-audience{padding-top:5px;}
  body .news-filter-btn{min-height:32px;padding:5px 6px;border-radius:7px;font-size:10.5px;line-height:1.08;}
  body .news-filter-year{min-height:38px;gap:0;}
  body .news-filter-kicker{font-size:7.5px;letter-spacing:.055em;}
  body .news-filter-year strong{font-size:12px;}
  body .news-group{gap:7px;margin-top:8px;}
  body .news-group>h3{font-size:13px;}
  body .news-group summary{font-size:11px;padding:7px 0;}
  body .news-forecast-group{border-radius:8px;padding:0 8px 8px;}
  body .news-roadmap-copy{gap:7px;}
  body .news-roadmap-intro,
  body .news-roadmap-list span{font-size:11px;line-height:1.38;}
  body .news-roadmap-list{gap:6px;}
  body .news-roadmap-list li{padding:7px 8px;}
  body .news-item{padding:9px;border-radius:8px;gap:5px;cursor:pointer;}
  body .news-item{position:relative;padding-right:22px;}
  body .news-item-date{font-size:10.5px;line-height:1.22;}
  body .news-item-head h3{font-size:12px;line-height:1.22;margin-top:2px;}
  body .news-item-body{font-size:10.6px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;}
  body .news-item-meta{gap:4px;}
  body .news-item-meta span{font-size:8.5px;padding:4px 5px;letter-spacing:.03em;}
  body .news-item:not(.news-expanded) .news-item-meta,
  body .news-item:not(.news-expanded) .news-attachments,
  body .news-item:not(.news-expanded) .news-resource-brand,
  body .news-item:not(.news-expanded) .news-read-btn,
  body .news-item:not(.news-expanded) .news-admin-edit{display:none;}
  body .news-item:not(.news-expanded) .news-item-actions{display:block;height:0;min-height:0;}
  body .news-item.news-expanded .news-item-body{display:block;-webkit-line-clamp:unset;overflow:visible;white-space:pre-wrap;}
  body .news-expand-btn{position:absolute;right:5px;bottom:4px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;margin:0;transform:none;transition:transform .16s,color .16s;}
  body .news-item.news-expanded .news-expand-btn{transform:rotate(180deg);}
  body .news-attachments,
  body .news-source-links{gap:5px;}
  body .news-attachment,
  body .news-source-links a{font-size:10px;line-height:1.18;padding:4px 5px;border-radius:6px;}
  body .news-external-marker{font-size:10px;}
  body .app-info-back{min-height:34px;margin-top:8px;font-size:12px;padding:7px 10px;}
  body .stats-footer-divider{margin-top:8px;}
  body #btn-volver-inicio{min-height:32px;margin-top:6px;padding:6px 9px;border-radius:7px;font-size:11px;}

  body #screen-laws .card{padding:10px;margin-bottom:8px;}
  body #screen-laws .app-info-title,
  body #screen-laws .app-info-copy{display:none;}
  body #screen-laws .app-info-kicker{font-size:8.5px;margin-bottom:4px;}
  body .laws-library{gap:7px;margin-top:6px;}
  body .laws-group{padding:7px;border-radius:8px;}
  body .laws-group-head{margin-bottom:6px;}
  body .laws-group-kicker{font-size:7.5px;padding:2px 6px;margin-bottom:3px;letter-spacing:.055em;}
  body .laws-group-title{font-size:11.5px;line-height:1.12;margin-bottom:0;}
  body .laws-group-desc{display:none;}
  body .laws-grid{grid-template-columns:1fr;gap:5px;}
  body .law-card{grid-template-columns:minmax(0,auto) minmax(0,1fr) auto;grid-template-rows:auto auto;grid-template-areas:"top title action" "top subtitle action";align-items:center;gap:2px 7px;min-height:0;padding:7px;border-radius:7px;}
  body .law-card-top{grid-area:top;min-width:0;}
  body .law-priority{min-height:19px;max-width:78px;gap:3px;font-size:7.5px;padding:3px 5px;overflow:hidden;text-overflow:ellipsis;}
  body .law-priority-weight{font-size:7px;}
  body .law-title{grid-area:title;min-width:0;font-size:10.8px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  body .law-subtitle{grid-area:subtitle;font-size:9px;line-height:1.12;-webkit-line-clamp:1;}
  body .law-actions{grid-area:action;min-height:0;align-items:center;}
  body .law-read-btn{width:24px;min-width:24px;min-height:24px;height:24px;border:0;background:transparent;font-size:13px;padding:0;color:var(--accent);}
  body .laws-library.laws-has-expanded .law-card:not(.law-card-expanded){opacity:.72;padding-top:5px;padding-bottom:5px;}
  body .laws-library.laws-has-expanded .law-card:not(.law-card-expanded) .law-subtitle,
  body .laws-library.laws-has-expanded .law-card:not(.law-card-expanded) .law-priority{display:none;}
  body .laws-library.laws-has-expanded .law-card:not(.law-card-expanded){grid-template-areas:"title title action";grid-template-rows:auto;}
  body .law-card-expanded{opacity:1;border-color:rgba(230,168,23,.42);}
  body .law-inline-panel{margin:0 0 5px;padding:8px;border-radius:7px;}
  body .law-summary-panel{gap:6px;padding:0;}
  body .law-summary-kicker{font-size:7.5px;padding:3px 6px;letter-spacing:.055em;}
  body .law-summary-official-title{font-size:9px;line-height:1.25;letter-spacing:.04em;}
  body .law-summary-short{font-size:11.5px!important;line-height:1.28!important;}
  body .law-summary-long{font-size:10px!important;line-height:1.35!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  body .law-summary-actions{margin-top:0;}
  body .law-open-full-btn,
  body .law-summary-back-btn{min-height:30px;font-size:10px;padding:6px 8px;border-radius:7px;}
  body .laws-reader-body p,
  body .law-full-body p{font-size:11px;line-height:1.45;}
  body .law-full-body .law-document-title{font-size:14px!important;line-height:1.25!important;}
  body .law-full-body .law-section-title{font-size:10px!important;margin:14px 0 6px!important;}
  body .law-full-body .law-article-title{font-size:12px!important;padding:7px 8px;margin:12px 0 6px!important;}
  body .law-reader-dock{bottom:7px;gap:5px;margin-top:7px;}
  body .law-reader-dock-btn{min-height:26px;border-radius:7px;font-size:9.5px;padding:5px 7px;}
  body .law-reader-dock-prev,
  body .law-reader-dock-next{min-width:29px;}

  body .profile-page-head{align-items:center;margin-bottom:8px;gap:8px;}
  body .profile-page-head{display:none;}
  body .profile-plan-badge{display:none!important;}
  body #profile-identity-block{padding:9px 10px 36px;margin-bottom:8px;}
  body #profile-avatar{width:34px;height:34px;font-size:12px;}
  body #profile-name{font-size:13px;}
  body #profile-tags{gap:4px;margin-top:3px;min-height:18px;}
  body #profile-status{font-size:10.5px;margin-top:6px;padding:5px 7px;}
  body .profile-edit-btn{right:9px;bottom:8px;min-height:28px;padding:4px 8px;font-size:10.5px;border-radius:7px;}
  body .profile-guidance-card,
  body .profile-access-review,
  body .profile-auth-review,
  body .profile-sync-review,
  body .profile-devices-review,
  body .profile-reminders-review,
  body .profile-diagnostic-review{gap:7px;padding:8px;margin:0 0 8px;border-radius:7px;}
  body .profile-guidance-title,
  body .profile-access-title,
  body .profile-auth-title,
  body .profile-sync-title,
  body .profile-devices-title,
  body .profile-reminders-title,
  body .profile-diagnostic-title{font-size:9.5px;letter-spacing:.055em;}
  body .profile-guidance-copy,
  body .profile-access-desc,
  body .profile-auth-desc,
  body .profile-sync-desc,
  body .profile-devices-desc,
  body .profile-reminders-desc,
  body .profile-diagnostic-desc,
  body .profile-auth-note,
  body .profile-access-note{font-size:10.5px;line-height:1.28;}
  body .profile-auth-connected{font-size:11.5px;}
  body .profile-auth-plan-free{min-height:19px;padding:3px 6px;font-size:8.5px;}
  body .profile-auth-plan-pending{min-height:19px;padding:3px 6px;font-size:8.5px;}
  body .profile-auth-review.signed{gap:7px;padding:7px 8px;}
  body .profile-auth-review.signed .profile-auth-head{margin-bottom:1px;}
  body .profile-auth-review.signed .profile-auth-desc{line-height:1.18;}
  body .profile-auth-actions{gap:5px;}
  body .profile-auth-email-row{gap:5px;}
  body .profile-auth-email-row input{min-height:32px;padding:6px 8px;font-size:12px;}
  body .profile-auth-provider-row button,
  body .profile-auth-email-row button,
  body .profile-auth-signout,
  body .profile-auth-refresh,
  body .profile-access-paywall,
  body .profile-guidance-action,
  body .profile-sync-actions button,
  body .profile-devices-actions button,
  body .profile-diagnostic-actions button{min-height:32px;padding:6px 8px;font-size:11px;border-radius:7px;}
  body .profile-auth-review.signed .profile-auth-signout{min-height:24px;padding:4px 7px;font-size:9.5px;border-radius:7px;}
  body .profile-advanced-account{margin:0 0 8px;border-radius:7px;}
  body .profile-advanced-account summary{align-items:center;flex-direction:row;padding:8px 9px;gap:8px;}
  body .profile-advanced-account summary span{font-size:9.5px;letter-spacing:.055em;}
  body .profile-advanced-account summary strong{display:none;}
  body .profile-advanced-account summary::after{margin-left:auto;}
  body .profile-advanced-account-body{gap:7px;padding:8px;}
  body .profile-sync-facts{gap:4px;margin-top:5px;}
  body .profile-sync-facts span,
  body .profile-diagnostic-pill{min-height:20px;padding:3px 6px;font-size:9.5px;}
  body .profile-reminders-options{gap:5px;margin-top:6px;}
  body .profile-reminders-options label,
  body .profile-reminders-frequency{font-size:10.5px;}
  body .profile-space-layout{gap:7px;}
  body #tab-baremo .baremo-panel{gap:8px;}
  body #tab-baremo .baremo-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:8px;border-radius:7px;}
  body #tab-baremo .profile-page-kicker{font-size:8px;margin-bottom:1px;}
  body #tab-baremo .baremo-title{font-size:14px;line-height:1.08;}
  body #tab-baremo .baremo-lead{display:none;}
  body #tab-baremo .baremo-rule-note{display:none;}
  body #tab-baremo .baremo-total-card{min-width:78px;padding:6px 7px;border-radius:7px;}
  body #tab-baremo .baremo-total-card span,
  body #tab-baremo .baremo-total-card small{font-size:7.5px;letter-spacing:.035em;}
  body #tab-baremo .baremo-total-card strong{font-size:18px;margin:1px 0;}
  body #tab-baremo .baremo-total-card strong.unknown{font-size:10px;margin:3px 0 2px;}
  body #tab-baremo .baremo-access-gate{gap:7px;padding:8px;border-radius:7px;}
  body #tab-baremo .baremo-access-gate strong,
  body #tab-baremo .baremo-access-gate span{font-size:10px;line-height:1.2;}
  body #tab-baremo .baremo-access-gate button{min-height:30px;padding:5px 7px;font-size:10px;border-radius:7px;}
  body #tab-baremo .baremo-mode{gap:5px;}
  body #tab-baremo .baremo-mode button{min-height:30px;font-size:10.5px;border-radius:7px;}
  body #tab-baremo .baremo-parts{gap:6px;}
  body #tab-baremo .baremo-section,
  body #tab-baremo .baremo-total-entry,
  body #tab-baremo .baremo-advice,
  body #tab-baremo .baremo-history{border-radius:7px;}
  body #tab-baremo .baremo-section summary{padding:7px 8px;gap:7px;}
  body #tab-baremo .baremo-section summary span{font-size:10.5px;line-height:1.15;}
  body #tab-baremo .baremo-section summary strong{font-size:10px;}
  body #tab-baremo .baremo-grid,
  body #tab-baremo .baremo-course-table{gap:6px;padding:8px;}
  body #tab-baremo .baremo-field,
  body #tab-baremo .baremo-check{font-size:10.5px;line-height:1.2;}
  body #tab-baremo .baremo-check{min-height:30px;padding:6px 7px;border-radius:7px;}
  body #tab-baremo .baremo-field input,
  body #tab-baremo .baremo-course-table input{font-size:11px;padding:6px 7px;border-radius:7px;}
  body #tab-baremo .baremo-course-head,
  body #tab-baremo .baremo-course-table label{grid-template-columns:minmax(88px,1fr) minmax(58px,.45fr) minmax(58px,.45fr);gap:5px;}
  body #tab-baremo .baremo-course-head{font-size:8px;}
  body #tab-baremo .baremo-course-table label span{font-size:10px;line-height:1.14;}
  body #tab-baremo .baremo-course-table label small{font-size:8.5px;line-height:1.1;}
  body #tab-baremo .baremo-subsection{gap:6px;padding:7px;border-radius:7px;}
  body #tab-baremo .baremo-subgrid{gap:6px;}
  body #tab-baremo .baremo-subhead{font-size:9px;}
  body #tab-baremo .baremo-note{padding:0 8px 8px;font-size:9.5px;line-height:1.3;}
  body #tab-baremo .baremo-actions{grid-template-columns:minmax(0,1fr) auto;gap:6px;}
  body #tab-baremo .baremo-actions .btn-primary{min-height:34px;padding:7px 8px;font-size:11px;border-radius:7px;}
  body #tab-baremo .baremo-actions .btn-ghost{min-height:34px;padding:7px 9px;font-size:10.5px;border-radius:7px;}
  body #tab-baremo .baremo-advice,
  body #tab-baremo .baremo-history{padding:8px;}
  body #tab-baremo .baremo-advice-item{font-size:10px;line-height:1.3;padding:7px;border-radius:7px;}
  body #tab-baremo .baremo-history-head p,
  body #tab-baremo #baremo-history-body p,
  body #tab-baremo .baremo-history-grid span,
  body #tab-baremo .baremo-history-grid strong{font-size:10px;line-height:1.25;}
  body #stats-grid.stats-overview-grid{gap:6px;margin-bottom:8px;}
  body #stats-grid.stats-overview-grid .stat-box{column-gap:7px;padding:8px;border-radius:7px;}
  body #stats-grid.stats-overview-grid .stat-icon{width:26px;height:26px;border-radius:7px;font-size:11px;}
  body #stats-grid.stats-overview-grid .stat-val{font-size:18px;}
  body #stats-grid.stats-overview-grid .stat-lbl{font-size:8.8px;letter-spacing:.035em;}
  body #stats-grid.stats-overview-grid .stat-sub{font-size:9px;}
  body .stats-evolution-panel{padding:8px;margin-bottom:8px;border-radius:7px;}
  body .stats-evolution-head{align-items:center;gap:7px;margin-bottom:6px;}
  body .stats-evolution-title{font-size:11px;margin-bottom:0;}
  body .stats-evolution-subtitle{display:none;}
  body .stats-evolution-toggle{gap:3px;padding:3px;border-radius:7px;}
  body .stats-evolution-toggle button{min-height:26px;padding:4px 7px;font-size:9.5px;border-radius:5px;}
  body .stats-evolution-chart{min-height:140px;margin-top:0;}
  body .stats-evolution-legend{gap:8px;margin-top:5px;font-size:9.5px;}
  body .stats-weak-topics-panel{padding:8px;margin-bottom:8px;border-radius:7px;}
  body .stats-weak-topics-head{align-items:center;margin-bottom:6px;}
  body .stats-weak-topics-title{font-size:11px;margin-bottom:0;}
  body .stats-weak-topics-subtitle{display:none;}
  body .stats-weak-topic-list{grid-template-columns:1fr;gap:6px;}
  body .stats-weak-topic-card{grid-template-columns:auto minmax(0,1fr) auto;gap:7px;padding:7px;border-radius:7px;}
  body .stats-weak-topic-icon{width:24px;height:24px;border-radius:7px;font-size:10px;}
  body .stats-weak-topic-kicker{font-size:8px;letter-spacing:.055em;margin-bottom:1px;}
  body .stats-weak-topic-name{font-size:11.5px;}
  body .stats-weak-topic-meta{font-size:0;margin-top:1px;}
  body .stats-weak-topic-meta::after{content:attr(data-short);font-size:9px;line-height:1.1;color:var(--text-muted);}
  body .stats-weak-topic-action{min-width:49px;min-height:34px;padding:4px 5px;border-radius:7px;font-size:8.5px;}
  body .stats-weak-topic-action strong{font-size:12px;}
  body .stats-weak-topic-meter{height:4px;}
  body .stats-weak-topic-card:nth-child(n+4){display:none;}
  body .learning-insights-panel{padding:8px;margin-bottom:8px;border-radius:7px;}
  body .learning-head{margin-bottom:6px;}
  body .learning-title{font-size:11px;margin-bottom:1px;}
  body .learning-subtitle{font-size:9.5px;line-height:1.22;}
  body .learning-primary-action{gap:6px;padding:8px;margin-bottom:7px;border-radius:7px;}
  body .learning-primary-kicker{font-size:8.5px;letter-spacing:.055em;}
  body .learning-primary-title{font-size:12px;line-height:1.15;}
  body .learning-primary-text{font-size:10px;line-height:1.24;}
  body .learning-primary-cta{padding:6px 8px;border-radius:7px;font-size:10px;line-height:1.1;}
  body .learning-signals{gap:4px;}
  body .learning-signal{padding:5px 6px;font-size:9.5px;border-radius:7px;}
  body .learning-signal strong{font-size:13px;}
  body .learning-secondary{gap:5px;margin-top:7px;}
  body .learning-secondary-title{font-size:8.5px;letter-spacing:.055em;}
  body .learning-recommendation{min-height:0;padding:7px;border-radius:7px;}
  body .learning-rec-title{font-size:10px;margin-bottom:2px;}
  body .learning-rec-text{font-size:9.5px;line-height:1.22;}
  body .profile-repaso-btn{min-height:28px;padding:5px 7px;font-size:10px;border-radius:7px;}
  body .stats-tabs{gap:5px;}
  body .stats-tab{min-height:32px;padding:6px 7px;font-size:11px;border-radius:7px;}
  body .profile-space-content{min-width:0;}
  body .stats-section-title{font-size:9px;margin:9px 0 5px;}
  body .hist-item-header{padding:7px 8px;font-size:10.5px;}
  body .hist-item-body{padding:8px;}
  body .profile-library-grid{gap:7px;margin-top:8px;}
  body .profile-library-card{padding:8px;border-radius:7px;}
  body .profile-library-head{gap:7px;margin-bottom:6px;}
  body .profile-library-title{font-size:10.5px;}
  body .profile-library-desc,
  body #profile-saved-desc,
  body #profile-doubtful-desc{font-size:9.5px;line-height:1.22;}
  body .profile-library-counter{font-size:8.5px;padding:4px 6px;}
  body .profile-library-toolbar{gap:6px;margin:7px 0 8px;}
  body .profile-library-pills{gap:4px;}
  body .profile-library-pill{min-height:25px;border-radius:7px;font-size:8.8px;padding:4px 3px;}
  body .profile-library-select-row{gap:5px;}
  body .profile-library-select{grid-template-columns:1fr;gap:2px;padding:4px 5px;border-radius:7px;}
  body .profile-library-select span{font-size:7.5px;}
  body .profile-library-select select{font-size:9.3px;}
  body .profile-library-empty{padding:9px;border-radius:7px;}
  body .profile-library-empty strong{font-size:11px;}
  body .profile-library-empty p{font-size:9.8px;line-height:1.25;}
  body .profile-library-review-card{padding:8px;border-radius:7px;}
  body .profile-library-card-meta{gap:4px;margin-bottom:6px;}
  body .profile-library-source-badge{font-size:7.3px;padding:3px 5px;}
  body .profile-library-ref{font-size:8.5px;}
  body .profile-library-question{font-size:13.5px;line-height:1.22;margin-bottom:8px;}
  body .profile-library-answer-toggle{min-height:28px;border-radius:7px;font-size:10px;}
  body .profile-library-answer{gap:6px;margin-top:8px;padding-top:8px;}
  body .profile-library-correct{font-size:10.5px;padding:6px;border-radius:7px;}
  body .profile-library-tip{font-size:9.8px;line-height:1.25;padding:6px;border-radius:7px;}
  body .profile-library-law-btn{font-size:9.5px;padding:5px 7px;border-radius:7px;}
  body .profile-library-nav{grid-template-columns:30px 1fr 30px;gap:6px;margin-top:8px;}
  body .profile-library-nav button{height:27px;border-radius:7px;font-size:13px;}
  body .profile-library-nav span{font-size:9.5px;}
  body #profile-saved-questions-list,
  body #profile-doubtful-questions-list{gap:5px;}
  body .saved-question-card{gap:5px 7px;padding:7px;border-radius:7px;}
  body .saved-question-badge{min-height:16px;font-size:7.5px;padding:2px 5px;}
  body .saved-question-title{font-size:10.5px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  body .saved-question-meta{font-size:8.5px;}
  body .saved-question-options{gap:3px;}
  body .saved-question-options li{grid-template-columns:17px minmax(0,1fr);gap:5px;padding:4px 5px;border-radius:6px;}
  body .saved-question-option-letter{width:15px;height:15px;font-size:8px;}
  body .saved-question-option-text{font-size:9.2px;line-height:1.18;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
  body .saved-question-remove{font-size:9px;padding:4px 6px;border-radius:6px;}
  body .stats-collapse-header{padding:7px 8px;margin-top:6px;}
  body .stats-collapse-title{font-size:10.5px;}
  body .stats-collapse-hint{font-size:9px;}
}
@media(max-width:340px){
  body #screen-news .card,
  body #screen-stats>.card{padding:8px;}
  body #screen-news .app-info-lead{display:none;}
  body .news-filter{gap:4px;padding:4px;}
  body .news-filter-row{gap:4px;}
  body .news-filter-btn{padding:5px 4px;font-size:10px;}
  body .news-filter-kicker{display:none;}
  body .news-filter-year{min-height:30px;}
  body .news-filter-year strong{font-size:11.5px;}
  body .news-item-head h3{font-size:11.4px;line-height:1.18;}
  body .news-item-body{font-size:10px;line-height:1.24;}
  body .news-attachment,
  body .news-source-links a{font-size:9.5px;line-height:1.15;padding:4px 5px;}
  body .news-external-marker{font-size:9.5px;}
  body #profile-tags{max-height:42px;overflow:hidden;}
  body #profile-tags .user-block-tag{max-width:100%;font-size:9px;padding:2px 6px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  body #profile-tags .user-block-tag:nth-child(n+4){display:none;}
  body .profile-auth-head{gap:6px;}
  body .profile-page-subtitle{display:none;}
  body #stats-grid.stats-overview-grid{gap:5px;}
  body #stats-grid.stats-overview-grid .stat-box{column-gap:5px;padding:7px 6px;}
  body #stats-grid.stats-overview-grid .stat-icon{width:23px;height:23px;font-size:10px;}
  body #stats-grid.stats-overview-grid .stat-val{font-size:16px;}
  body #stats-grid.stats-overview-grid .stat-lbl,
  body #stats-grid.stats-overview-grid .stat-sub{font-size:0;}
  body #stats-grid.stats-overview-grid .stat-lbl::after{content:attr(data-short);font-size:8px;line-height:1.05;}
  body #stats-grid.stats-overview-grid .stat-sub::after{content:attr(data-short);font-size:8px;line-height:1.05;}
  body.quiz-active .q-action-btn{width:28px;height:28px;}
  body.quiz-active .timer-banner{padding-left:8px;padding-right:8px;}
  body.quiz-active .quiz-question-card{padding-left:8px;padding-right:8px;}
}
@media(max-width:300px){
  body #profile-tags .user-block-tag:nth-child(n+3){display:none;}
  body .news-item-body{-webkit-line-clamp:2;}
}

/* Quiz squeeze: keep the question usable before sacrificing chrome. */
@media(max-width:340px),(max-height:560px){
  body.quiz-active .timer-banner{display:flex;padding-top:6px;padding-bottom:6px;}
  body.quiz-active .progress-info{display:flex;}
  body.quiz-active .q-meta{display:none!important;}
  body.quiz-active .q-text{font-size:13.1px!important;line-height:1.32!important;margin-bottom:6px;}
  body.quiz-active .option-text{font-size:12px!important;line-height:1.32!important;}
  body.quiz-active .option-btn{min-height:34px;padding-top:4px;padding-bottom:4px;}
  body.quiz-active .timer-label{font-size:9px;}
  body.quiz-active .timer-value{font-size:13px;}
  body.quiz-active .timer-score-pill{min-width:29px;height:20px;font-size:10px;padding-inline:5px;}
  body.quiz-active .nota-ley{padding:8px 9px;margin-top:8px;}
  body.quiz-active .nota-ley-label{min-height:auto;padding-right:0;font-size:9px;margin-bottom:4px;}
  body.quiz-active .nota-ley-text{font-size:10.5px;line-height:1.35;}
  body.quiz-active .nota-ley-trap{font-size:10.5px;line-height:1.33;margin-top:7px;padding-top:7px;max-height:72px;overflow:auto;-webkit-overflow-scrolling:touch;}
  body.quiz-active .nota-ley-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:7px;}
  body.quiz-active .nota-ley-actions.action-count-1{grid-template-columns:1fr;}
  body.quiz-active .nota-ley-link,
  body.quiz-active .nota-ley-toggle,
  body.quiz-active .nota-ley-link-top{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:26px;padding:5px 8px;font-size:9.5px;border-radius:7px;}
  .modal-bloque-overlay{padding:8px;padding-left:calc(8px + var(--safe-left));padding-right:calc(8px + var(--safe-right));padding-top:calc(8px + var(--safe-top));padding-bottom:calc(8px + var(--safe-bottom));}
  .modal-bloque{width:min(94vw,360px);padding:16px 14px;max-height:calc(100dvh - 16px - var(--safe-top) - var(--safe-bottom));}
  .modal-bloque-titulo{font-size:16px;margin-bottom:4px;}
  .modal-bloque-badge{font-size:10px;padding:2px 8px;margin-bottom:6px;}
  .modal-bloque-sub{font-size:11px;margin-bottom:8px;}
  .modal-bloque-refuerzo{font-size:11px;line-height:1.3;margin-bottom:10px;}
  .modal-bloque-stats{gap:10px;margin-bottom:12px;}
  .modal-bloque-stat-val{font-size:20px;}
  .modal-bloque-stat-lbl{font-size:8.8px;letter-spacing:.04em;}
  .modal-bloque-btns{gap:6px;}
  .modal-bloque-btns .btn-primary,
  .modal-bloque-btns .btn-ghost{min-height:38px;padding:8px 10px;font-size:12px;}
}
@media(max-width:320px),(max-height:520px){
  body.quiz-active .qtimer-wrap-inline{display:none;}
  body.quiz-active .timer-compact-row{grid-template-columns:auto auto;justify-content:space-between;}
  body.quiz-active .timer-score-inline{min-width:0;}
  body.quiz-active .q-text{font-size:12.4px!important;line-height:1.28!important;}
  body.quiz-active .option-text{font-size:11.5px!important;line-height:1.28!important;}
}
@media(max-height:490px){
  body.quiz-active .timer-banner{display:none!important;}
  body.quiz-active #prog-text{font-size:0;flex:0 1 auto;min-width:max-content;}
  body.quiz-active #prog-text::after{content:attr(data-compact-label);font-size:11px;font-weight:800;letter-spacing:.01em;}
  body.quiz-active .modo-examen-label{display:none!important;}
  body.quiz-active .progress-info{gap:6px;}
  .modal-bloque{padding:12px 12px;}
  .modal-bloque-titulo{font-size:14px;margin-bottom:3px;}
  .modal-bloque-badge{font-size:9px;margin-bottom:5px;}
  .modal-bloque-sub{font-size:10px;margin-bottom:6px;}
  .modal-bloque-refuerzo{font-size:10px;line-height:1.25;margin-bottom:8px;}
  .modal-bloque-stats{gap:8px;margin-bottom:9px;}
  .modal-bloque-stat-val{font-size:18px;}
  .modal-bloque-stat-lbl{font-size:8px;}
  .modal-bloque-btns .btn-primary,
  .modal-bloque-btns .btn-ghost{min-height:34px;padding:7px 9px;font-size:11px;}
}
@media(max-height:440px){
  body.quiz-active .history-sidebar{display:none!important;}
  body.quiz-active .quiz-layout{gap:4px;}
  body.quiz-active .q-text{font-size:13.1px!important;line-height:1.3!important;margin-bottom:5px;}
  body.quiz-active .option-text{font-size:12.2px!important;line-height:1.3!important;}
  body.quiz-active .option-btn{min-height:32px;}
}
@media(max-height:400px){
  body.quiz-active .q-text{font-size:12.3px!important;line-height:1.26!important;}
  body.quiz-active .option-text{font-size:11.6px!important;line-height:1.26!important;}
}

/* Quiz viewport fitting: one visual system for every test mode. */
body.quiz-active .shell{overflow:hidden;}
body.quiz-active #screen-quiz{display:flex!important;flex:1 1 auto;flex-direction:column;min-height:0;}
body.quiz-active #screen-load,
body.quiz-active #screen-results,
body.quiz-active #screen-stats,
body.quiz-active #screen-release-notes,
body.quiz-active #screen-roadmap,
body.quiz-active #screen-laws,
body.quiz-active #screen-story,
body.quiz-active #screen-news,
body.quiz-active #screen-contact,
body.quiz-active #screen-terms{
  display:none!important;
}
body.quiz-active .quiz-topbar,
body.quiz-active .quiz-layout,
body.quiz-active .quiz-main,
body.quiz-active .quiz-question-card,
body.quiz-active .options{min-height:0;}
body.quiz-active .quiz-layout{flex:1 1 auto;align-items:stretch;}
body.quiz-active .quiz-main{display:flex;flex:1 1 auto;flex-direction:column;min-height:0!important;}
body.quiz-active .quiz-question-card{flex:1 1 auto;overflow:hidden;}
body.quiz-active .options,
body.quiz-active .nota-ley{flex:0 0 auto;}
body.quiz-active .q-nav{flex:0 0 auto;}

body.quiz-fit-1 .quiz-topbar{margin-bottom:5px;}
body.quiz-fit-1 .quiz-back-space,
body.quiz-fit-1 .quiz-topbar #btn-reset{min-height:30px;padding-top:5px;padding-bottom:5px;}
body.quiz-fit-1 .history-list{padding-top:3px;padding-bottom:3px;}
body.quiz-fit-1 .history-item{min-height:28px;}
body.quiz-fit-1 .history-block-header{min-height:28px;}
body.quiz-fit-1 .timer-banner{padding-top:6px;padding-bottom:6px;margin-bottom:5px;}
body.quiz-fit-1 .progress-info{margin-bottom:2px;}
body.quiz-fit-1 .progress-bar-wrap{margin-bottom:4px;}
body.quiz-fit-1 .quiz-question-card{padding-top:8px;padding-bottom:9px;}
body.quiz-fit-1 .q-text{margin-bottom:7px;}
body.quiz-fit-1 .options{gap:6px;}
body.quiz-fit-1 .option-btn{min-height:36px;padding-top:5px;padding-bottom:5px;}
body.quiz-fit-1 .q-nav{margin-top:5px;}

body.quiz-fit-2 .quiz-topbar{gap:5px;margin-bottom:4px;}
body.quiz-fit-2 .quiz-back-space,
body.quiz-fit-2 .quiz-topbar #btn-reset{min-height:28px;padding:4px 8px;font-size:11px;}
body.quiz-fit-2 .history-item{min-height:24px;padding-top:2px;padding-bottom:2px;}
body.quiz-fit-2 .history-block-header{min-height:24px;}
body.quiz-fit-2 .timer-banner{padding:5px 8px;margin-bottom:4px;}
body.quiz-fit-2 .timer-label{font-size:8.5px;}
body.quiz-fit-2 .timer-value{font-size:12.5px;height:18px;}
body.quiz-fit-2 .timer-score-pill{height:19px;min-width:28px;font-size:9.5px;padding-inline:5px;}
body.quiz-fit-2 .progress-info{font-size:10px;gap:5px;line-height:1.05;}
body.quiz-fit-2 .q-action-btn{width:27px;height:27px;font-size:12px;border-radius:7px;}
body.quiz-fit-2 .quiz-question-card{padding:6px 8px 8px;}
body.quiz-fit-2 .q-text{font-size:13px!important;line-height:1.28!important;margin-bottom:6px;}
body.quiz-fit-2 .option-btn{grid-template-columns:19px 1fr;column-gap:6px;min-height:31px;padding:4px 6px;}
body.quiz-fit-2 .option-letter{width:19px;height:19px;font-size:9px;}
body.quiz-fit-2 .option-text{font-size:11.7px!important;line-height:1.24!important;}
body.quiz-fit-2 .btn-finish,
body.quiz-fit-2 .btn-pause-exam,
body.quiz-fit-2 .btn-skip,
body.quiz-fit-2 .btn-next{min-height:32px;padding-top:5px;padding-bottom:5px;font-size:11px;}

body.quiz-fit-3 .qtimer-wrap-inline,
body.quiz-fit-3 .progress-bar-wrap{display:none!important;}
body.quiz-fit-3 .timer-compact-row{grid-template-columns:auto auto;justify-content:space-between;gap:6px;}
body.quiz-fit-3 .q-nav{padding-top:2px;padding-bottom:3px;}
body.quiz-fit-3 .quiz-question-card{padding-top:5px;padding-bottom:6px;}
body.quiz-fit-3 .options{gap:5px;}

body.quiz-fit-4 .history-sidebar{display:none!important;}
body.quiz-fit-4 .quiz-layout{gap:3px!important;}

body.quiz-fit-5 .timer-banner{display:none!important;}
body.quiz-fit-5 .progress-info{margin-bottom:2px;}
body.quiz-fit-5 .q-text{font-size:12.4px!important;line-height:1.24!important;}
body.quiz-fit-5 .option-text{font-size:11.3px!important;line-height:1.22!important;}
body.quiz-fit-5 .option-btn{min-height:28px;padding-top:3px;padding-bottom:3px;}
body.quiz-fit-5 .nota-ley{margin-top:6px;padding:6px 7px;}
body.quiz-fit-5 .nota-ley-label{font-size:8px;margin-bottom:2px;}
body.quiz-fit-5 .nota-ley-text{font-size:9.5px;line-height:1.22;}
body.quiz-fit-5 .nota-ley-trap{font-size:9.5px;line-height:1.22;max-height:54px;overflow:auto;}
body.quiz-fit-5 .nota-ley-actions{gap:5px;margin-top:5px;}
body.quiz-fit-5 .nota-ley-link,
body.quiz-fit-5 .nota-ley-toggle,
body.quiz-fit-5 .nota-ley-link-top{min-height:24px;padding:4px 6px;font-size:8.5px;}

body.quiz-fit-6 .quiz-topbar{display:none!important;}
body.quiz-fit-6 .progress-info{font-size:0;gap:4px;}
body.quiz-fit-6 #prog-text{font-size:0;min-width:max-content;}
body.quiz-fit-6 #prog-text::after{content:attr(data-compact-label);font-size:10px;font-weight:800;}
body.quiz-fit-6 .modo-examen-label{display:none!important;}
body.quiz-fit-6 .q-actions{gap:1px;}
body.quiz-fit-6 .q-action-btn{width:24px;height:24px;font-size:11px;}
body.quiz-fit-6 .q-text{font-size:11.6px!important;line-height:1.2!important;margin-bottom:4px;}
body.quiz-fit-6 .option-text{font-size:10.7px!important;line-height:1.18!important;}
body.quiz-fit-6 .option-btn{min-height:25px;}
body.quiz-fit-6 .q-nav{gap:4px;margin-top:3px;}
body.quiz-fit-6 .btn-finish,
body.quiz-fit-6 .btn-pause-exam,
body.quiz-fit-6 .btn-skip,
body.quiz-fit-6 .btn-next{min-height:28px;font-size:10px;border-radius:7px;}

body.quiz-readable-nudge .q-text{font-size:clamp(14px,3.7vw,15.2px)!important;line-height:1.34!important;}
body.quiz-readable-nudge .option-text{font-size:clamp(12.75px,3.35vw,13.6px)!important;line-height:1.34!important;}
body.quiz-readable-room .q-text{font-size:clamp(14px,4.35vw,17.8px)!important;line-height:1.38!important;}
body.quiz-readable-room .option-text{font-size:clamp(12.7px,3.78vw,15.3px)!important;line-height:1.4!important;}
body.quiz-readable-room .option-btn{min-height:36px;padding-top:6px;padding-bottom:6px;}
body.quiz-readable-room-plus .q-text{font-size:clamp(14.6px,4.35vw,18px)!important;line-height:1.38!important;}
body.quiz-readable-room-plus .option-text{font-size:clamp(13px,3.8vw,15.35px)!important;line-height:1.39!important;}
body.quiz-readable-room-plus .option-btn{min-height:38px;padding-top:6px;padding-bottom:6px;}
body.quiz-readable-room.quiz-fit-5 .q-text,
body.quiz-readable-room.quiz-fit-6 .q-text{font-size:clamp(13px,3.55vw,14.2px)!important;line-height:1.32!important;}
body.quiz-readable-room.quiz-fit-5 .option-text,
body.quiz-readable-room.quiz-fit-6 .option-text{font-size:clamp(12px,3.15vw,12.8px)!important;line-height:1.32!important;}
body.quiz-readable-room-plus.quiz-fit-4 .q-text,
body.quiz-readable-room-plus.quiz-fit-5 .q-text,
body.quiz-readable-room-plus.quiz-fit-6 .q-text{font-size:clamp(13.4px,3.75vw,14.8px)!important;line-height:1.33!important;}
body.quiz-readable-room-plus.quiz-fit-4 .option-text,
body.quiz-readable-room-plus.quiz-fit-5 .option-text,
body.quiz-readable-room-plus.quiz-fit-6 .option-text{font-size:clamp(12.2px,3.25vw,13.25px)!important;line-height:1.33!important;}
body.quiz-readable-roomy .q-text{font-size:clamp(15px,4.65vw,19px)!important;line-height:1.38!important;}
body.quiz-readable-roomy .option-text{font-size:clamp(13.4px,4vw,16px)!important;line-height:1.4!important;}
body.quiz-readable-roomy .option-btn{min-height:40px;padding-top:7px;padding-bottom:7px;}
body.quiz-readable-roomy.quiz-fit-1 .q-text,
body.quiz-readable-roomy.quiz-fit-2 .q-text,
body.quiz-readable-roomy.quiz-fit-3 .q-text,
body.quiz-readable-roomy.quiz-fit-4 .q-text,
body.quiz-readable-roomy.quiz-fit-5 .q-text,
body.quiz-readable-roomy.quiz-fit-6 .q-text{font-size:clamp(13.4px,3.9vw,15px)!important;line-height:1.34!important;}
body.quiz-readable-roomy.quiz-fit-1 .option-text,
body.quiz-readable-roomy.quiz-fit-2 .option-text,
body.quiz-readable-roomy.quiz-fit-3 .option-text,
body.quiz-readable-roomy.quiz-fit-4 .option-text,
body.quiz-readable-roomy.quiz-fit-5 .option-text,
body.quiz-readable-roomy.quiz-fit-6 .option-text{font-size:clamp(12.2px,3.3vw,13.4px)!important;line-height:1.34!important;}
@media(min-width:1100px) and (min-height:680px){
  body.quiz-readable-roomy:not(.quiz-fit-1):not(.quiz-fit-2):not(.quiz-fit-3):not(.quiz-fit-4):not(.quiz-fit-5):not(.quiz-fit-6) .q-text{font-size:clamp(19px,1.55vw,21px)!important;line-height:1.42!important;}
  body.quiz-readable-roomy:not(.quiz-fit-1):not(.quiz-fit-2):not(.quiz-fit-3):not(.quiz-fit-4):not(.quiz-fit-5):not(.quiz-fit-6) .option-text{font-size:clamp(16px,1.22vw,17px)!important;line-height:1.42!important;}
}

body.quiz-ultra-fit .progress-info{display:none!important;}
body.quiz-ultra-fit .quiz-question-card{padding:3px 5px 4px!important;}
body.quiz-ultra-fit .q-text{font-size:10.8px!important;line-height:1.12!important;margin-bottom:3px!important;}
body.quiz-ultra-fit .options{gap:3px!important;}
body.quiz-ultra-fit .option-btn{grid-template-columns:17px 1fr;column-gap:5px;min-height:22px;padding:2px 5px!important;}
body.quiz-ultra-fit .option-letter{width:17px;height:17px;font-size:8px;}
body.quiz-ultra-fit .option-text{font-size:9.9px!important;line-height:1.1!important;}
body.quiz-ultra-fit .options.answered .option-btn.show-feedback .option-feedback{display:none!important;}
body.quiz-ultra-fit .nota-ley.visible{display:block!important;}
body.quiz-ultra-fit .nota-ley{margin-top:4px;padding:5px 6px;}
body.quiz-ultra-fit .nota-ley-label{font-size:7.5px;margin-bottom:2px;}
body.quiz-ultra-fit .nota-ley-text,
body.quiz-ultra-fit .nota-ley-trap{font-size:8.8px;line-height:1.18;}
body.quiz-ultra-fit .nota-ley-trap{max-height:42px;overflow:auto;-webkit-overflow-scrolling:touch;}
body.quiz-ultra-fit .nota-ley-actions{gap:4px;margin-top:4px;}
body.quiz-ultra-fit .nota-ley-link,
body.quiz-ultra-fit .nota-ley-toggle,
body.quiz-ultra-fit .nota-ley-link-top{min-height:22px;padding:3px 5px;font-size:8px;border-radius:6px;}
body.quiz-ultra-fit .q-nav{gap:3px;margin-top:2px;padding:1px 0 3px;}
body.quiz-ultra-fit .btn-finish,
body.quiz-ultra-fit .btn-pause-exam,
body.quiz-ultra-fit .btn-skip,
body.quiz-ultra-fit .btn-next{min-height:24px;padding:3px 6px;font-size:9.5px;border-radius:6px;}

/* Quiz exam polish: preserve navigation chrome and keep exam actions aligned. */
body.quiz-exam-mode .timer-banner{
  display:grid;
  grid-template-columns:minmax(0,1fr) max-content;
  align-items:center;
}
body.quiz-exam-mode #countdown-block{
  justify-self:end;
  min-width:max-content;
  margin-left:auto;
  text-align:right;
}
body.quiz-active .app-header{
  cursor:pointer;
}
@media(max-width:520px),(max-height:640px){
  body.quiz-active .brand-subtitle{display:none!important;}
}
@media(max-width:1120px),(max-height:760px){
  body.quiz-exam-mode .btn-pause-exam.visible{display:none!important;}
  body.quiz-exam-mode .q-nav{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  body.quiz-exam-mode .btn-finish{
    grid-column:1;
    grid-row:1;
  }
  body.quiz-exam-mode .q-nav-actions{
    grid-column:2;
    grid-row:1;
  }
}

/* Final home tile guard: all mode cards read from the same top-left rhythm. */
body:not(.quiz-active) .mode-card,
body:not(.quiz-active).extera-pro .mode-card,
body:not(.quiz-active) .law-entry-card,
body:not(.quiz-active) .story-entry-card,
body:not(.quiz-active) .baremo-entry-card{
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:left!important;
}
body:not(.quiz-active) .mode-card:has(.mode-card-icon){
  flex-direction:row!important;
}
body:not(.quiz-active) .mode-card-copy,
body:not(.quiz-active) .mode-card-title,
body:not(.quiz-active) .mode-card-desc,
body:not(.quiz-active) .mode-card:has(.mode-card-icon) .mode-card-copy{
  text-align:left!important;
}
body:not(.quiz-active) .mode-card .mode-card-icon{
  margin:0!important;
}
body:not(.quiz-active) .mode-card-dropdown>.submode-chevron{
  right:9px!important;
  bottom:7px!important;
  left:auto!important;
  transform:none!important;
}
body:not(.quiz-active) .mode-card-dropdown.active>.submode-chevron{
  transform:rotate(180deg)!important;
}

@media(max-width:1320px){
  body:not(.quiz-active) .mode-card:has(.mode-card-icon){
    flex-direction:column!important;
    gap:4px!important;
  }
  body:not(.quiz-active) .mode-card .mode-card-icon{
    display:none!important;
  }
  body:not(.quiz-active) .mode-card:has(.mode-card-icon) .mode-card-copy{
    width:100%!important;
  }
}

/* Open filters: keep the selector readable and avoid the start button drifting away. */
body.extera-pro #filter-card:has(.filters-body.open) #btn-start{
  margin-top:clamp(10px,2dvh,18px)!important;
}
body.extera-pro #filter-card:has(.filters-body.open) .filter-scope{
  margin-bottom:0;
}
@media(max-width:520px){
  body.extera-pro .filters-body.open{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
  }
  body.extera-pro .filters-body.open .filter-toggle{
    min-height:34px;
    gap:3px;
    padding:6px 5px;
    border-radius:8px;
  }
  body.extera-pro .filters-body.open .filter-toggle::before{
    display:none;
  }
  body.extera-pro .filters-body.open .filter-toggle-label{
    flex:1 1 auto;
    font-size:10px;
    letter-spacing:.01em;
    max-width:100%;
  }
  body.extera-pro .filters-body.open .filter-toggle-icon{
    flex:0 0 auto;
    font-size:8px;
    margin-left:0;
  }
  body.extera-pro .filters-body.open .filter-body.open{
    max-height:min(28dvh,210px);
    padding-top:6px;
  }
  body.extera-pro .filters-body.open .filter-body.open .compact-pill-grid,
  body.extera-pro .filters-body.open .filter-body.open .law-pill-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:5px;
  }
}
@media(max-width:340px){
  body.extera-pro .filters-body.open{
    grid-template-columns:1fr;
  }
}

/* Modo historia: solo layout; color, botones y tarjetas salen del sistema visual global. */
.story-topbar{display:grid;grid-template-columns:1fr;gap:8px;align-items:start;}
.story-topbar .app-info-back{width:auto;min-width:150px;margin-top:0;justify-self:end;}
.story-summary{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:var(--surface2);}
.story-summary-head{display:grid;gap:8px;}
.story-summary-main{display:grid;gap:3px;}
.story-summary-kicker,.story-current-copy span,.story-world-heading span{color:var(--accent);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;}
.story-summary-main strong{font-size:18px;line-height:1.15;color:var(--text);}
.story-summary-main span,.story-current-copy p,.story-session-main p{color:var(--text-muted);}
.story-meter{height:8px;border-radius:999px;background:rgba(139,148,158,.18);overflow:hidden;margin:12px 0;}
.story-meter span{display:block;height:100%;border-radius:inherit;transition:width .25s ease,background-color .25s ease;}
.story-meter-danger span{background:var(--wrong);}
.story-meter-orange span{background:#f97316;}
.story-meter-warning span{background:var(--accent);}
.story-meter-success span{background:var(--correct);}
.story-progress-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.story-progress-card{position:relative;overflow:hidden;border:1px solid rgba(var(--story-progress-rgb),.24);border-radius:8px;background:linear-gradient(180deg,rgba(var(--story-progress-rgb),.13),rgba(var(--story-progress-rgb),.045));padding:11px 10px;min-height:72px;}
.story-progress-card::before{content:"";position:absolute;inset:auto 9px 8px 9px;height:3px;border-radius:999px;background:rgba(var(--story-progress-rgb),.42);}
.story-progress-card span{display:block;color:rgba(var(--story-progress-rgb),.95);font-size:10px;font-weight:900;line-height:1.2;text-transform:uppercase;letter-spacing:.06em;}
.story-progress-card strong{display:block;color:var(--text);font-size:22px;line-height:1.05;margin-top:8px;}
.story-progress-laws{--story-progress-rgb:230,168,23;}
.story-progress-sessions{--story-progress-rgb:88,166,255;}
.story-progress-blocks{--story-progress-rgb:63,185,80;}
.story-current-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid rgba(230,168,23,.24);border-radius:8px;background:rgba(230,168,23,.055);padding:9px 10px;margin-bottom:10px;}
.story-current-copy strong{display:block;color:var(--text);font-size:14px;line-height:1.25;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.story-current-copy p{font-size:11px;line-height:1.25;margin-top:2px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.story-current-jump{min-width:48px;min-height:30px;padding:6px 8px!important;justify-content:center;}
.story-session-list{display:grid;gap:10px;}
.story-world-heading{display:flex;align-items:baseline;gap:8px;margin:12px 0 2px;}
.story-world-heading strong{color:var(--text);font-size:15px;}
.story-locked-heading{margin-top:16px;}
.story-locked-note{margin:-2px 0 2px;color:var(--text-muted);font-size:11.5px;line-height:1.35;}
.story-session-card{grid-template-columns:1fr;}
.story-session-card.bloqueada{opacity:.62;}
.story-session-card.superada{border-color:rgba(63,185,80,.38);border-left-color:rgba(63,185,80,.86);box-shadow:0 0 0 1px rgba(63,185,80,.06) inset;}
.story-completed-session,.story-completed-world{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(63,185,80,.26);border-left:3px solid rgba(63,185,80,.86);border-radius:8px;background:rgba(63,185,80,.055);padding:9px 11px;}
.story-completed-session-main{display:flex;align-items:center;gap:9px;min-width:0;}
.story-completed-session-main>div,.story-completed-world>div{min-width:0;}
.story-completed-session strong,.story-completed-world strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:13px;line-height:1.25;}
.story-completed-session small,.story-completed-world small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-muted);font-size:11px;line-height:1.25;margin-top:2px;}
.story-completed-world span{display:block;color:var(--correct);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;margin-bottom:2px;}
.story-expand-btn{min-width:82px;min-height:31px;justify-content:center;}
.story-session-topline{grid-column:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;}
.story-session-index{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;}
.story-session-check{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:999px;background:rgba(63,185,80,.16);color:var(--correct);font-size:11px;font-weight:950;line-height:1;}
.story-session-tags{display:flex;flex-wrap:nowrap;justify-content:flex-end;min-width:0;overflow:hidden;}
.story-session-tags span{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.story-session-main{grid-column:1;}
.story-session-main h3{margin:5px 0 6px;font-size:16px;line-height:1.25;color:var(--text);}
.story-session-objective{margin:0 0 10px!important;color:var(--text-muted);font-size:12px;line-height:1.45;}
.story-study-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px;margin-top:8px;}
.story-law-action,.story-read-action{width:100%;min-height:34px;justify-content:center;}
.story-read-action.story-read-done{--news-filter-color:var(--correct);--news-filter-rgb:63,185,80;}
.story-law-action:disabled,.story-read-action:disabled,.story-test-btn:disabled{opacity:.45;cursor:not-allowed;}
.story-tests-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:7px;margin-top:9px;}
.story-test-btn{display:flex!important;align-items:center;justify-content:center;min-height:38px;padding:7px 8px!important;text-align:center;}
.story-test-btn.story-test-passed{--news-filter-color:var(--correct);--news-filter-rgb:63,185,80;}
.story-test-btn.story-test-failed{--news-filter-color:var(--wrong);--news-filter-rgb:248,81,73;}
.story-test-icon{display:inline-grid;place-items:center;width:15px;height:15px;margin-right:5px;border-radius:999px;background:rgba(63,185,80,.16);color:var(--correct);font-size:10px;font-weight:950;line-height:1;}
.story-latest-results{display:grid;gap:6px;margin-top:9px;border-top:1px solid rgba(139,148,158,.16);padding-top:9px;color:var(--text-muted);font-size:11px;}
.story-latest-results>span{color:var(--text-muted);font-weight:850;text-transform:uppercase;letter-spacing:.06em;}
.story-latest-results>div{display:flex;flex-wrap:wrap;gap:6px;max-height:56px;overflow:hidden;}
.story-result-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(139,148,158,.24);border-radius:999px;background:rgba(13,17,23,.22);padding:5px 7px;}
.story-result-chip strong{color:var(--text);}
.story-result-chip.passed{border-color:rgba(63,185,80,.28);background:rgba(63,185,80,.08);color:var(--correct);}
.story-result-chip.failed{border-color:rgba(248,81,73,.28);background:rgba(248,81,73,.08);color:var(--wrong);}
.story-locked-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:7px;}
.story-locked-world{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center;border:1px dashed rgba(139,148,158,.22);border-radius:8px;background:rgba(13,17,23,.18);color:var(--text-muted);padding:9px 11px;}
.story-locked-world span{color:var(--text-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;}
.story-locked-world strong{color:var(--text);font-size:12px;}
.story-locked-world small{grid-column:1/-1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-muted);}
.story-session-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px;}
.story-session-stats span{display:inline-flex;align-items:center;min-height:22px;border:1px solid rgba(139,148,158,.24);border-radius:999px;background:rgba(13,17,23,.22);color:var(--text-muted);font-size:10px;font-weight:850;letter-spacing:.04em;text-transform:uppercase;line-height:1;padding:5px 7px;}
.story-empty{border:1px dashed var(--border);border-radius:var(--radius);padding:18px;text-align:center;color:var(--text-muted);background:var(--surface2);}
@media(max-width:760px){.story-topbar,.story-completed-session,.story-completed-world{grid-template-columns:1fr;}.story-current-panel{grid-template-columns:minmax(0,1fr) auto;}.story-progress-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.story-progress-card{min-height:66px;padding:9px 7px;}.story-progress-card span{font-size:8.5px;letter-spacing:.035em;}.story-progress-card strong{font-size:18px;}.story-session-topline{grid-template-columns:auto minmax(0,1fr);}.story-locked-world{grid-template-columns:1fr;}.story-locked-world small{text-align:left;}.story-expand-btn{width:100%;}.story-topbar .app-info-back,.story-reset-btn{width:100%;justify-self:stretch;}}
