:root{--bg:#f8f9ff;--surface:#fff;--text:#232448;--muted:#8888a4;--purple:#6646e8;--purple-soft:#eeeaff;--border:#e9e9f4;--green:#1aaf87;--red:#dc5a77;--shadow:0 12px 35px rgba(35,36,72,.055);--radius:22px;color-scheme:light}*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-family:ui-rounded,"Nunito","Avenir Next",system-ui,-apple-system,"Segoe UI",sans-serif;font-size:15px;line-height:1.55}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(25px,2.5vw,34px);line-height:1.16;font-weight:850;letter-spacing:-1px}h2{font-size:23px;line-height:1.3}h3{font-size:18px}h4{font-size:16px}a{color:var(--purple)}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.55}a{text-decoration:none}input,select,textarea{display:block;width:100%;padding:12px 14px;border:1px solid #dcdceb;border-radius:13px;background:white;color:var(--text);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6b48ef21}textarea{resize:vertical;min-height:90px}label{display:block;font-size:13px;font-weight:800;margin-bottom:14px}label input,label select,label textarea{margin-top:7px;font-weight:500}.small{font-size:12px}.muted{color:var(--muted)}.hidden{display:none!important}.stack>*+*{margin-top:15px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:#918db6;font-weight:900}.primary,.secondary,.light-button,.danger-button{padding:12px 20px;border-radius:13px;font-weight:800;transition:transform .18s,box-shadow .18s;display:inline-flex;align-items:center;gap:9px;justify-content:center}.primary:hover,.secondary:hover,.light-button:hover{transform:translateY(-2px)}.primary{background:var(--purple);color:white;box-shadow:0 8px 20px #6646e82c}.secondary{background:#eeeaff;color:var(--purple)}.light-button{background:#fff;color:var(--purple)}.danger-button{background:#fff0f3;color:#b84464}.smallbtn{padding:8px 12px;font-size:12px;border-radius:10px}.pill{padding:5px 11px;border-radius:999px;background:#f0edff;color:#6849de;font-size:12px;font-weight:800}.panel{background:var(--surface);border:1px solid #f1f0fa;border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{display:flex;flex-direction:column;background:white;border-right:1px solid var(--border);height:100vh;position:sticky;top:0;padding:27px 17px 17px;z-index:10}.brand{display:flex;align-items:center;gap:12px;color:#282043;font-size:21px;font-weight:650;letter-spacing:-.8px;margin:0 10px 42px}.brand b{color:var(--purple)}.brand small{display:block;font-size:8px;letter-spacing:1.5px;color:#9a98b1;font-weight:800}.brand-icon{display:grid;place-items:center;background:var(--purple);color:#fff;border-radius:14px;width:42px;height:42px;font-size:32px}.sidebar-label{font-size:10px;color:#999bb3;letter-spacing:1.9px;font-weight:900;padding:0 15px;margin-bottom:10px}.student-list{display:grid;gap:8px}.student-tab{display:flex;align-items:center;gap:12px;background:transparent;text-align:left;padding:11px 12px;border-radius:14px;color:var(--text);font-size:14px}.student-tab.active{background:#f0edff;color:#4933b8}.student-tab .avatar{font-size:24px}.student-tab small{display:block;font-size:11px;color:var(--muted)}.student-tab b{display:block}.sidebar-add{font-size:12px;color:var(--purple);background:transparent;padding:11px;text-align:left;font-weight:750}.sidebar-menu-label{margin-top:32px}.nav{display:grid;gap:5px}.nav button{background:transparent;color:#656782;display:flex;align-items:center;text-align:left;gap:10px;font-weight:720;padding:13px 15px;border-radius:14px}.nav button.active{background:var(--purple);color:#fff}.nav button:hover:not(.active){background:#f6f3ff}.sidebar-bottom{margin-top:auto;border-radius:15px;background:#f9f7ff;padding:15px;font-size:12px;font-weight:750;color:#9188bf}.sidebar-bottom button{display:block;color:#776a9b;background:transparent;margin-top:12px;font-size:12px}.main-shell{padding:32px 40px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:0 0 30px}.topbar h1{margin:4px 0 0}.top-student{display:flex;gap:9px;align-items:center;border-radius:17px;padding:9px 13px;background:white;border:1px solid var(--border);font-size:13px;font-weight:900}.view{max-width:1200px;min-height:60vh}.main-shell footer{margin:30px 0 8px;color:#b6b3c5;font-size:12px;text-align:center}.hero{display:flex;align-items:center;justify-content:space-between;gap:25px;background:linear-gradient(115deg,#6b4bed,#957af8);border-radius:24px;color:white;padding:34px 38px;box-shadow:0 17px 30px #6d48e329;overflow:hidden;position:relative}.hero h2{font-size:28px;margin-bottom:10px}.hero p{max-width:520px;color:#e9e3ff}.hero .deco{font-size:100px;filter:drop-shadow(0 7px 10px #3821aa31)}.hero .light-button{margin-top:9px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:30px 0 16px}.section-title h2{margin:0}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.summary-card{min-height:140px}.stat-icon{font-size:28px}.summary-card strong{font-size:30px;display:block;margin:4px 0 0}.summary-card small{color:var(--muted)}.subject-card{display:flex;flex-direction:column;gap:12px;justify-content:space-between;min-height:185px}.subject-card .subject-icon{font-size:31px}.subject-card h3{margin:0 0 3px}.subject-card p{font-size:13px;color:var(--muted);margin:0}.subject-card button{align-self:flex-start}.lesson-row,.exam-row{display:flex;align-items:center;gap:13px;padding:15px 16px;border-radius:17px;border:1px solid var(--border);background:#fff;margin-bottom:10px}.lesson-row .iconbox{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#f0edff;font-size:24px;flex-shrink:0}.grow{flex:1;min-width:0}.lesson-row strong,.exam-row strong{display:block;white-space:normal}.lesson-row small,.exam-row small{font-size:12px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.text-btn{background:transparent;color:var(--purple);font-weight:800;padding:7px;font-size:13px}.text-btn.danger{color:#d44b67}.list-empty{text-align:center;padding:50px 22px;border-radius:20px;border:2px dashed #dddaf3;background:#fff}.list-empty .emoji{font-size:55px;display:block;margin-bottom:9px}.split{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(220px,1fr);gap:18px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.new-info{padding:24px}.new-info h3{margin-bottom:9px}.new-info li{margin-bottom:13px}.upload-zone{border:2px dashed #cfc7f9;border-radius:16px;padding:18px;background:#faf8ff}.upload-zone input{border:0;background:transparent;padding:8px 0}.upload-zone small{display:block;color:var(--muted);font-size:12px}.hint-box{border-radius:15px;background:#eff9f7;color:#3d8679;padding:14px 18px;font-size:13px}.lesson-top,.exam-top{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:17px}.progress-track{height:11px;border-radius:20px;background:#efecff;overflow:hidden}.progress-track .progress-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,#7c5bea,#49c6b4);transition:width .25s}.lesson-nav{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.step-dot{width:35px;height:35px;border-radius:50%;background:#edeaff;color:#866ae9;font-weight:900}.step-dot.active{background:var(--purple);color:white}.step-dot.done{background:#d7f6ed;color:#199d7a}.learning-card{padding:30px;min-height:280px}.learning-card .big-number{display:inline-flex;padding:7px 11px;border-radius:8px;background:#efeaff;color:var(--purple);font-size:11px;font-weight:900;letter-spacing:1px}.learning-card h2{font-size:26px;margin-top:15px}.learning-card p{font-size:17px;line-height:1.85}.example{background:#fff9e9;border:1px solid #f9edc7;padding:17px;border-radius:14px;margin:18px 0}.remember{background:#effaf4;color:#30795b;border-radius:14px;padding:16px}.step-actions{display:flex;justify-content:space-between;gap:10px;margin-top:19px}.flashcard{background:linear-gradient(135deg,#fff,#f0eaff);border:2px solid #e6dcff;min-height:265px;width:100%;border-radius:22px;text-align:center;padding:30px;box-shadow:var(--shadow);color:#3b2c80}.flashcard .flash-icon{font-size:30px}.flashcard h2{font-size:25px;margin:20px 0}.flashcard small{color:#9187b8}.option{display:flex;gap:13px;align-items:start;width:100%;text-align:left;background:#fff;border:1px solid #e3e2f2;border-radius:14px;margin:10px 0;padding:14px 16px;color:var(--text)}.option:hover:not(:disabled){border-color:#9c82fc;background:#faf8ff}.option.selected{background:#f2ecff;border-color:#8360eb}.option.good{background:#e8fff2;border-color:#40be93}.option.bad{background:#fff0f2;border-color:#eb7487}.option .optlabel{flex-shrink:0;width:27px;height:27px;border-radius:8px;background:#edeaff;color:#6945d9;display:grid;place-items:center;font-weight:900}.question-number{font-size:12px;font-weight:900;color:var(--purple);letter-spacing:1px}.feedback{margin:15px 0;padding:15px;border-radius:14px;background:#f3f1ff;font-size:14px}.feedback.wrong{background:#fff0f3}.results-hero{text-align:center;padding:35px 20px;border-radius:22px;background:linear-gradient(135deg,#f6eaff,#eaf9ff)}.results-hero .medal{font-size:55px}.results-hero h2{font-size:32px;margin:7px}.results-hero p{margin:0}.result-item{border-bottom:1px solid #eeeef7;padding:15px 0}.result-item:last-child{border:0}.result-item small{display:block;color:var(--muted);margin-top:5px}.ai-chat{margin-top:20px}.ai-answer{background:#f6f3ff;border-left:4px solid var(--purple);padding:17px;border-radius:12px;margin-top:12px;white-space:pre-wrap}.modal-backdrop{position:fixed;z-index:99;inset:0;background:#231b4aa1;display:flex;align-items:center;justify-content:center;padding:18px}.modal{width:min(600px,100%);max-height:90vh;overflow:auto}.modal-heading{display:flex;justify-content:space-between;gap:14px}.modal-heading h2{margin-bottom:18px}.icon-btn{background:#f5f2fe;color:#5a50a5;border-radius:10px;padding:8px 13px;align-self:start}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-tile{padding:16px;background:#f8f7ff;border-radius:15px}.profile-tile .icon{font-size:29px}.profile-tile .actions{margin-top:10px}.profile-tile strong{display:block}.modal hr{border:0;border-top:1px solid #eee;margin:22px 0}.settings-form{max-width:600px}.settings-box{margin-bottom:20px}.setting-description{font-size:12px;color:var(--muted);margin-top:-5px}.alert,.good{padding:14px;border-radius:13px;background:#fff0f1;color:#9d4152;margin:14px 0}.good{background:#e9f9f1;color:#377f5f}.auth-scene{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.auth-art{background:linear-gradient(145deg,#6244e8,#a28cff);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(30px,8vw,110px);color:white}.auth-art h1{font-size:clamp(36px,4.4vw,64px);max-width:610px}.auth-art p{color:#e9e6ff;font-size:18px}.auth-art .sparkle{font-size:60px}.auth-art .characters{font-size:65px;margin-top:32px}.auth-panel{align-self:center;width:min(410px,calc(100% - 48px));margin:auto}.auth-panel h2{font-size:28px;margin:14px 0}.auth-panel p{color:var(--muted)}.auth-panel .primary{width:100%}.install-card{max-width:560px;margin:9vh auto}.logo{color:var(--purple);font-weight:900;font-size:24px}#toast{position:fixed;z-index:101;left:50%;bottom:20px;transform:translateX(-50%) translateY(80px);background:#292548;color:white;padding:12px 22px;border-radius:12px;box-shadow:0 8px 28px #0003;opacity:0;pointer-events:none;transition:.24s;text-align:center;max-width:92vw}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.mobile-menu{display:none;font-size:24px;background:none}.divider-line{border-top:1px solid var(--border);margin:18px 0}.accuracy{font-weight:900;color:var(--green)}.tile-tag{font-size:11px;font-weight:900;letter-spacing:1px;color:var(--purple)}.spinner{width:19px;height:19px;display:inline-block;border:3px solid #c7baff;border-top-color:white;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1000px){.app{grid-template-columns:220px 1fr}.sidebar{padding:24px 10px}.main-shell{padding:28px 23px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app{display:block}.sidebar{position:fixed;left:0;top:0;width:260px;transform:translateX(-102%);transition:transform .2s;box-shadow:10px 0 30px #0001}.app.menu-open .sidebar{transform:translateX(0)}.mobile-menu{display:block}.main-shell{padding:20px 15px}.topbar{align-items:center}.topbar h1{font-size:24px}.top-student{padding:7px;font-size:12px}.cards,.split,.form-grid,.profile-grid{grid-template-columns:1fr}.hero{padding:28px 21px}.hero h2{font-size:22px}.hero .deco{font-size:60px}.panel{padding:18px}.auth-scene{display:flex;flex-direction:column}.auth-art{min-height:38vh;padding:32px}.auth-art h1{font-size:33px}.auth-art .characters{font-size:36px;margin-top:12px}.auth-panel{padding:35px 0}.lesson-row,.exam-row{flex-wrap:wrap}.lesson-row .actions,.exam-row .actions{width:100%;justify-content:flex-start}.step-actions{flex-wrap:wrap}.learning-card{padding:20px}}@media print{.sidebar,.topbar,.main-shell footer,.actions,.step-actions,.lesson-nav,.secondary,.primary,.text-btn{display:none!important}.app{display:block}.main-shell{padding:0}.view{max-width:none}.panel{box-shadow:none}.option{page-break-inside:avoid}}

.printed-lines{display:none}.written-answer{width:100%;min-height:105px}@media print{.printed-lines{display:block;line-height:2.7}.written-answer{display:none}}

/* v1.2: avisos persistentes dentro del editor de perfiles */
.profile-status{padding:12px 14px;border-radius:12px;margin:8px 0 14px;font-size:14px;font-weight:750;overflow-wrap:anywhere}.profile-status.pending{color:#433c77;background:#f1edff;border:1px solid #d8ceff}.profile-status.error{color:#96324b;background:#fff1f3;border:1px solid #f8bbcb}

/* Aula Inteligente v1.9: claves visuales accesibles y adaptadas a edad. */
.edu-topic-line{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:800;color:#6b60a5;margin:12px 0 3px}
.edu-topic-line span{font-size:22px}
.edu-keywords{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:15px 0 11px}
.edu-keywords__label{font-size:13px;font-weight:900;color:#6251c2;margin-right:4px}
.edu-chip{display:inline-flex;align-items:center;gap:7px;background:#f0ecff;color:#5137b3;border:1px solid #ddd5fb;border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px;line-height:1.2;max-width:100%;overflow-wrap:anywhere}
.edu-chip--click{cursor:pointer}
.edu-chip--click:hover,.edu-chip--click:focus-visible{background:#e3daff;border-color:#a896f6}
.edu-chip span{font-size:12px;opacity:.72}
.edu-word{display:inline;background:#fff2b9;color:#4a3700;font:inherit;font-weight:900;border:0;border-radius:5px;padding:.05em .17em;line-height:inherit;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.edu-word--click{cursor:help;text-decoration:underline dotted #8d7518;text-underline-offset:3px}
.edu-word--click:hover,.edu-word--click:focus-visible{background:#ffe48a;outline:2px solid #dcac16;outline-offset:2px}
.edu-unit{display:inline;background:#ffe6eb;color:#a62545;border-radius:5px;padding:.04em .18em;font-weight:900;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.edu-term-explanation{display:flex;flex-wrap:wrap;gap:6px 12px;background:#f8f6ff;border-left:4px solid #7659dc;border-radius:10px;padding:12px 15px;margin:8px 0 15px;line-height:1.55;color:#363159;font-size:14px}
.edu-term-explanation strong{color:#4d35aa}
.edu-term-explanation span{flex:1;min-width:180px}
.edu-explanation{line-height:1.83}
.edu-memory{background:#ecf8f1;border:1px solid #cfecdb;color:#286346;border-radius:16px;padding:17px 19px;margin-top:17px;overflow-wrap:anywhere}
.edu-memory__heading{font-size:14px;font-weight:900;color:#246746;margin-bottom:6px}
.edu-memory__rule{font-size:17px;line-height:1.7;font-weight:700}
.edu-memory__tip{padding-top:9px;font-size:14px;line-height:1.55}
.edu-memory__footer{margin-top:8px;font-size:12px;opacity:.84}
.edu-memory .edu-word{background:#d4f1df;color:#21603e}
.edu-memory .edu-unit{background:#fff0ba;color:#795a00}
@media (hover:hover){
 .edu-word--click,.edu-chip--click{position:relative}
 .edu-word--click:hover::after,.edu-word--click:focus-visible::after,.edu-chip--click:hover::after,.edu-chip--click:focus-visible::after{
   content:attr(data-edu-def);position:absolute;display:block;left:50%;top:calc(100% + 9px);transform:translateX(-50%);width:max-content;max-width:min(270px,70vw);white-space:normal;text-align:left;padding:10px 12px;border-radius:10px;background:#252344;color:#fff;border:1px solid #49456a;box-shadow:0 8px 24px #201e3b31;z-index:30;font-size:12px;font-weight:500;line-height:1.5;pointer-events:none}
}
body[data-aula-mode="teen"] .edu-topic-line{font-size:12px;color:#737a8f}
body[data-aula-mode="teen"] .edu-topic-line span{font-size:18px}
body[data-aula-mode="teen"] .edu-keywords__label{color:#555f77}
body[data-aula-mode="teen"] .edu-chip{background:#f2f4f9;border-color:#e0e5ec;color:#454f65;font-weight:750;padding:7px 11px}
body[data-aula-mode="teen"] .edu-chip:hover{background:#e7eaf2}
body[data-aula-mode="teen"] .edu-word{background:#e9edf9;color:#334b7a;font-weight:800}
body[data-aula-mode="teen"] .edu-unit{background:#f8e9ed;color:#953d51}
body[data-aula-mode="teen"] .edu-memory{background:#f4f7fb;border-color:#dde5ef;color:#34495f}
body[data-aula-mode="teen"] .edu-memory__heading{color:#34495f}
body[data-aula-mode="teen"] .edu-memory .edu-word{background:#e2ebf5;color:#30516d}
body[data-aula-mode="teen"] .edu-memory .edu-unit{background:#f5e9ea;color:#88475a}
@media(max-width:720px){.edu-keywords{gap:7px}.edu-chip{padding:8px 11px}.edu-memory{padding:15px}.edu-memory__rule{font-size:16px}}
@media print{.edu-word,.edu-unit{background:transparent!important;color:#222!important;text-decoration:underline;font-weight:900}.edu-keywords{display:flex!important}.edu-chip{background:transparent;border:1px solid #999;color:#222}.edu-memory{background:#fff;border:1px solid #999}.edu-word--click,.edu-chip--click{cursor:default}.edu-term-explanation{display:none!important}}

/* 1.9.1: el menu superior desplaza su contenido y Cerrar sesion permanece visible */
.sidebar{height:100vh;height:100dvh;min-height:0;overflow:hidden;}
.sidebar-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;padding:1px 2px 12px;}
.sidebar-bottom{flex:0 0 auto;margin-top:8px;}
.sidebar-scroll .brand{margin-bottom:32px;}
@media(max-height:700px){.sidebar-scroll .brand{margin-bottom:20px}.sidebar-menu-label{margin-top:18px}}
