:root{--cream:#f4f0e6;--paper:#fffdf8;--ink:#263e3b;--muted:#6d7975;--sage:#a8b8a5;--sage2:#dfe8dc;--teal:#55756f;--teal2:#3e5f5a;--sand2:#eee6d9;--mist:#e1e9e9;--lilac:#e7e5ea;--line:#ddd6c9;--danger:#95594f;--success:#4c765b;--shadow:0 16px 45px rgba(38,62,59,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px}.text-success{color:var(--success)}.text-danger{color:var(--danger)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:13px;padding:11px 16px;font-weight:800;border:1px solid transparent;cursor:pointer;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn:disabled,.btn.disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:var(--teal);color:#fff}.btn-soft{background:var(--sand2)}.btn-outline{background:transparent;border-color:var(--line)}.btn-danger{background:#f3dfdb;color:var(--danger)}
.container{width:min(1160px,calc(100% - 40px));margin:auto}.site-header{height:76px;background:rgba(255,253,248,.94);border-bottom:1px solid var(--line);display:flex;align-items:center;position:sticky;top:0;z-index:10}.nav{width:min(1160px,calc(100% - 40px));margin:auto;display:flex;align-items:center;gap:28px}.logo{font-size:25px;font-weight:900;letter-spacing:-1.4px;color:var(--ink);margin-right:auto}.navlinks{display:flex;gap:24px;color:var(--muted);font-size:14px}.actions{display:flex;gap:9px}.menu{display:none;border:0;background:none;font-size:22px}
.hero{min-height:620px;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center;padding:70px 0}.kicker,.eyebrow{display:inline-block;font-size:11px;font-weight:900;letter-spacing:1px;color:var(--teal2)}.kicker{padding:8px 12px;border-radius:999px;background:var(--sage2)}h1{font-size:clamp(48px,6vw,76px);line-height:.98;letter-spacing:-4px;margin:20px 0}.hero h1 span{color:var(--teal)}.lead{font-size:18px;line-height:1.7;color:var(--muted);max-width:620px}.hero-actions{display:flex;gap:12px;margin:28px 0 14px;flex-wrap:wrap}.micro{font-size:12px;color:var(--muted)}.hero-art{min-height:410px;display:grid;place-items:center}.art-window{width:min(440px,100%);height:380px;border-radius:34px;background:#e5ebe5;border:1px solid var(--line);position:relative;overflow:hidden;box-shadow:var(--shadow)}.book{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-4deg);width:270px;height:195px;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px;box-shadow:0 25px 40px rgba(38,62,59,.12)}.brand-mini{font-weight:900;color:var(--teal);font-size:18px}.book h3{font-size:27px;margin:22px 0 10px}.line{height:8px;background:var(--sage2);border-radius:99px;margin:9px 0}.line.mid{width:78%}.line.short{width:55%}.note{position:absolute;background:rgba(255,253,248,.95);border:1px solid var(--line);border-radius:17px;padding:14px;box-shadow:var(--shadow)}.note.one{left:22px;top:32px}.note.two{right:18px;bottom:34px}.note strong{display:block;font-size:13px}.note small{color:var(--muted)}
.section{padding:76px 0}.section.alt{background:var(--paper)}.section h2{font-size:40px;letter-spacing:-2px;margin:8px 0}.section-intro{max-width:720px;margin-bottom:30px}.section-intro p,.feature p{color:var(--muted);line-height:1.6}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.feature{padding:25px;border:1px solid var(--line);border-radius:22px;background:var(--paper);min-height:185px}.feature:nth-child(2){background:var(--sage2)}.feature:nth-child(3){background:var(--mist)}.feature .icon{font-size:25px}.feature h3{margin:23px 0 8px}footer{padding:30px 0;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.auth{min-height:100vh;display:grid;place-items:center;padding:25px}.auth-card{width:min(460px,100%);background:var(--paper);border:1px solid var(--line);border-radius:25px;padding:34px;box-shadow:var(--shadow)}.auth-brand{text-align:center;font-size:28px;font-weight:900;letter-spacing:-1.5px;margin-bottom:28px}.auth-card h1{font-size:34px;letter-spacing:-1.5px;margin:0 0 8px}.auth-card p{color:var(--muted)}.form{display:grid;gap:12px;margin-top:22px}.form label{font-size:13px;font-weight:750}.form input,.form select,.form textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:12px;background:var(--paper);outline:0}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--teal)}.form button{padding:13px;border:0;border-radius:12px;background:var(--teal);color:#fff;font-weight:800}.message{min-height:20px;margin-top:12px;font-size:13px}.error{color:var(--danger)}.success{color:var(--success)}.back{display:block;text-align:center;margin-top:18px;color:var(--muted);font-size:13px}
.app-shell{display:grid;grid-template-columns:245px 1fr;min-height:100vh}.side{background:var(--paper);border-right:1px solid var(--line);padding:25px 16px;height:100vh;position:sticky;top:0}.side .logo{display:block;margin:0 12px 30px}.side nav{display:grid;gap:5px}.side nav a{padding:11px 13px;border-radius:12px;color:var(--muted);font-size:14px}.side nav a:hover,.side nav a.active{background:var(--sage2);color:var(--teal2);font-weight:800}.side-premium{margin:28px 5px;padding:17px;border-radius:18px;background:var(--sand2);border:1px solid var(--line)}.side-premium p{font-size:12px;color:var(--muted);line-height:1.45}.side-premium a{font-size:12px;color:var(--teal);font-weight:850}.app-main{padding:32px 38px;max-width:1350px;width:100%}.app-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.app-top p{font-size:11px;letter-spacing:1px;color:var(--muted);font-weight:900}.app-top h1{font-size:36px;letter-spacing:-1.8px;margin:5px 0}.profile-pill{padding:9px 13px;background:var(--paper);border:1px solid var(--line);border-radius:999px;font-size:13px;white-space:nowrap}.profile-pill button{border:0;background:none;color:var(--teal);font-weight:800;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.stat{padding:20px;border:1px solid var(--line);background:var(--paper);border-radius:19px}.stat:nth-child(2){background:var(--sage2)}.stat:nth-child(3){background:var(--mist)}.stat:nth-child(4){background:var(--lilac)}.stat small{color:var(--muted)}.stat strong{display:block;font-size:29px;margin:8px 0}.study{margin-top:22px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:27px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.study .label{font-size:11px;letter-spacing:1px;font-weight:900;color:var(--teal)}.study h2{font-size:30px;letter-spacing:-1px;margin:9px 0}.study p{color:var(--muted);line-height:1.55}.progress{height:9px;background:#e8e2d7;border-radius:99px;overflow:hidden;margin:15px 0 6px}.progress span{display:block;height:100%;background:var(--teal);transition:width .25s}.quick,.lesson-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.quick{margin-top:20px}.quick article,.lesson{padding:21px;border:1px solid var(--line);border-radius:20px;background:var(--paper)}.quick article:nth-child(2){background:var(--sage2)}.quick article:nth-child(3){background:var(--mist)}.quick p,.lesson p{font-size:13px;color:var(--muted);line-height:1.55}.quick a{color:var(--teal);font-weight:850;font-size:13px}.page-head{margin-bottom:28px}.page-head h1{font-size:42px;margin:5px 0;letter-spacing:-2px}.page-head p{color:var(--muted);max-width:760px;line-height:1.6}.lesson .level,.badge{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--sage2);color:var(--teal2);font-size:11px;font-weight:850}.badge.locked{background:var(--sand2);color:var(--muted)}.badge.success{background:#deeadf;color:var(--success)}.lesson h3{margin:17px 0 8px}.lesson .btn{margin-top:8px;font-size:13px}.lesson.completed{border-color:#b7ccb9;background:#f5fbf4}.module-units{display:grid;gap:8px;margin:15px 0}.module-units div{padding:11px 12px;border-radius:11px;background:var(--cream);font-size:13px}.notice{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--paper);color:var(--muted);line-height:1.5}.notice.success{background:#eef7ee;color:var(--success)}.notice.warning{background:var(--sand2);color:#745f42}.notice.error{background:#f8e9e6;color:var(--danger)}
.course-stack{display:grid;gap:20px}.course-card{padding:26px;border:1px solid var(--line);border-radius:24px;background:var(--paper)}.course-card h2{font-size:30px;letter-spacing:-1px;margin:8px 0}.course-card p{color:var(--muted);line-height:1.6}.course-locked{background:var(--sand2)}.level-row{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:24px}.level-tile{padding:18px;border:1px solid var(--line);border-radius:17px;background:var(--paper);display:grid;gap:6px;transition:.15s}.level-tile:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.level-tile strong{font-size:25px}.level-tile span{font-weight:800}.level-tile small{color:var(--teal)}.level-tile.locked{opacity:.62;background:#f0ede7}.level-tile.locked small{color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--paper)}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);font-size:13px}th{font-size:11px;letter-spacing:.7px;color:var(--muted);background:#f8f5ee}tr:last-child td{border-bottom:0}tr.me{background:var(--sage2)}.rank{font-weight:900;font-size:16px}.toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:18px 0}.toolbar .group{display:flex;gap:8px;flex-wrap:wrap}.panel{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:22px}.panel h2{margin:0 0 12px;font-size:25px;letter-spacing:-1px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stack{display:grid;gap:14px}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.plan-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:10px}.plan-card.featured{background:var(--sage2)}.plan-card.diamond{background:var(--mist)}.plan-card h3{font-size:25px;margin:3px 0}.plan-price{font-size:29px;font-weight:900}.plan-card ul{padding-left:18px;color:var(--muted);font-size:13px;line-height:1.7;flex:1}.plan-card .btn{width:100%}.payment-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.qr-box{min-height:260px;border:1px dashed var(--line);border-radius:20px;background:var(--paper);display:grid;place-items:center;text-align:center;padding:25px}.qr-box img{max-width:260px;max-height:260px;border-radius:14px}.chat{display:grid;gap:12px}.chat-log{min-height:300px;max-height:470px;overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:18px;display:grid;gap:12px;align-content:start}.bubble{max-width:80%;padding:12px 14px;border-radius:16px;line-height:1.5;font-size:14px}.bubble.ai{background:var(--sage2)}.bubble.me{background:var(--teal);color:#fff;margin-left:auto}.chat-input{display:grid;grid-template-columns:1fr auto;gap:10px}.chat-input textarea{resize:vertical;min-height:60px;padding:13px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}
.admin-shell{width:min(1200px,calc(100% - 40px));margin:30px auto}.admin-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.admin-head h1{font-size:38px;letter-spacing:-2px;margin:0}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.inline-form{display:flex;gap:8px;flex-wrap:wrap}.inline-form input,.inline-form select{padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}
@media(max-width:1100px){.level-row{grid-template-columns:repeat(3,1fr)}.plan-grid{grid-template-columns:1fr 1fr}.grid4{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.navlinks{display:none;position:absolute;top:65px;left:20px;right:20px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);flex-direction:column}.menu{display:block}.actions{display:none}.hero{grid-template-columns:1fr;padding:48px 0}.grid3,.lesson-grid,.quick,.two-col,.payment-layout,.admin-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.app-shell{grid-template-columns:1fr}.side{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line);padding:14px}.side .logo{margin:0 8px 12px}.side nav{display:flex;overflow:auto}.side nav a{white-space:nowrap}.side-premium{display:none}.app-main{padding:25px 18px}.study{grid-template-columns:1fr}.app-top{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.level-row,.plan-grid,.grid4,.stats{grid-template-columns:1fr}.container{width:min(100% - 28px,1160px)}.hero h1{letter-spacing:-2.5px}.page-head h1{font-size:36px}.chat-input{grid-template-columns:1fr}.bubble{max-width:95%}}

/* BryLearn V8 — identidad visual cian, azul y violeta */
:root{--cream:#020718;--paper:#071127;--ink:#f7f9ff;--muted:#9ca9c7;--sage:#172d74;--sage2:#101f4e;--teal:#1979ff;--teal2:#28c7f7;--sand2:#16123a;--mist:#081a3d;--lilac:#171044;--line:#21396c;--danger:#ff6384;--success:#25d9b3;--shadow:0 18px 55px rgba(0,0,0,.34);--cyan:#18c8f5;--blue:#2468ff;--violet:#7845f5;--magenta:#c132e7;--gradient:linear-gradient(110deg,var(--cyan),var(--blue) 48%,var(--magenta))}
body{background:radial-gradient(circle at 85% 8%,rgba(87,42,235,.16),transparent 27%),radial-gradient(circle at 5% 65%,rgba(0,142,255,.1),transparent 30%),var(--cream);min-height:100vh}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:radial-gradient(circle at 15% 20%,#168cff 0 1px,transparent 1.5px),radial-gradient(circle at 82% 38%,#a64bff 0 1px,transparent 1.5px);background-size:97px 97px,137px 137px;z-index:-1}
a{transition:color .2s,opacity .2s}.muted,.lead,.micro{color:var(--muted)}
.logo,.auth-brand,.brand-mini{display:flex;align-items:center;gap:10px;color:#fff;letter-spacing:-1px;text-transform:uppercase}.logo:before,.auth-brand:before,.brand-mini:before{content:"";width:34px;height:34px;flex:0 0 34px;background:url('/public/img/icon.svg') center/contain no-repeat;filter:drop-shadow(0 0 12px rgba(52,105,255,.45))}.auth-brand{justify-content:center}.auth-brand:before{width:42px;height:42px;flex-basis:42px}.brand-mini:before{width:26px;height:26px;flex-basis:26px}.logo::after,.auth-brand::after,.brand-mini::after{content:"";position:absolute}.logo{background:linear-gradient(90deg,#fff 22%,#32bafa 53%,#a743ed);background-clip:text;-webkit-background-clip:text;color:transparent}
.site-header{background:rgba(2,7,24,.88);border-color:rgba(64,105,186,.45);backdrop-filter:blur(18px)}.navlinks a:hover{color:var(--cyan)}.menu{color:#fff}
.btn{border-radius:8px;box-shadow:none}.btn-primary,.form button{background:var(--gradient);color:#fff;box-shadow:0 8px 24px rgba(46,91,255,.25)}.btn-primary:hover,.form button:hover{filter:brightness(1.12);box-shadow:0 10px 30px rgba(126,53,240,.32)}.btn-soft{background:#102253;color:#fff;border-color:#244b98}.btn-outline{background:rgba(10,23,54,.4);border-color:#36579a;color:#dfe8ff}.btn-danger{background:rgba(255,62,112,.12);color:#ff809d;border-color:rgba(255,99,132,.35)}
.kicker,.eyebrow{color:var(--cyan)}.kicker{background:rgba(25,121,255,.12);border:1px solid rgba(47,130,255,.35)}h1{color:#fff;text-shadow:0 8px 40px rgba(30,80,210,.14)}.hero h1 span,.section h2 span{background:var(--gradient);background-clip:text;-webkit-background-clip:text;color:transparent}
.hero-art{perspective:900px}.art-window{background:radial-gradient(circle at 75% 15%,rgba(115,47,235,.3),transparent 30%),linear-gradient(145deg,#07142e,#020615 72%);border:1px solid #31559c;box-shadow:0 30px 80px rgba(0,0,0,.45),inset 0 0 55px rgba(29,76,206,.08)}.art-window:after{content:"";position:absolute;inset:auto -15% -30% 0;height:65%;background:repeating-radial-gradient(ellipse at bottom,transparent 0 16px,rgba(74,59,243,.28) 17px 18px);transform:rotate(-8deg);opacity:.65}.book{z-index:1;background:linear-gradient(145deg,#0c1c3d,#071127);border-color:#36599c;box-shadow:0 25px 55px rgba(0,0,0,.5)}.book h3{color:#fff}.line{background:#172d64}.line:first-of-type{background:var(--gradient)}.note{z-index:2;background:rgba(6,14,34,.93);border-color:#315290;color:#fff;box-shadow:0 15px 35px rgba(0,0,0,.4)}
.section.alt{background:rgba(5,13,32,.72);border-block:1px solid rgba(49,81,145,.35)}.feature,.stat,.study,.quick article,.lesson,.course-card,.level-tile,.panel,.notice,.table-wrap,.qr-box,.chat-log,.auth-card,.profile-pill{background:linear-gradient(145deg,rgba(10,25,57,.96),rgba(5,13,32,.96));border-color:var(--line);box-shadow:inset 0 1px rgba(255,255,255,.025)}.feature:nth-child(2),.feature:nth-child(3),.stat:nth-child(2),.stat:nth-child(3),.stat:nth-child(4),.quick article:nth-child(2),.quick article:nth-child(3){background:linear-gradient(145deg,#0c1e45,#081127)}.feature:hover,.quick article:hover,.lesson:hover,.level-tile:hover,.plan-card:hover{border-color:#496de0;box-shadow:0 15px 40px rgba(0,26,103,.26),inset 0 1px rgba(255,255,255,.04);transform:translateY(-2px)}
.icon{width:45px;height:45px;border:1px solid #3358a6;border-radius:13px;background-color:#0a1e48;background-position:center;background-size:25px;background-repeat:no-repeat;box-shadow:inset 0 0 18px rgba(25,121,255,.12)}.icon-route{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2328c7f7' stroke-width='2'%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='18' cy='6' r='2'/%3E%3Cpath d='M8 18h3a4 4 0 0 0 4-4v-4M12 7l3 3 3-3'/%3E%3C/svg%3E")}.icon-progress{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b63ff' stroke-width='2'%3E%3Cpath d='M4 19V9m6 10V5m6 14v-7m4 7H2'/%3E%3C/svg%3E")}.icon-work{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c34df0' stroke-width='2'%3E%3Crect x='3' y='7' width='18' height='13' rx='2'/%3E%3Cpath d='M8 7V4h8v3m-13 5h18'/%3E%3C/svg%3E")}.icon-book{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2328c7f7' stroke-width='2'%3E%3Cpath d='M3 5a4 4 0 0 1 4-2h5v17H7a4 4 0 0 0-4 2V5Zm18 0a4 4 0 0 0-4-2h-5v17h5a4 4 0 0 1 4 2V5Z'/%3E%3C/svg%3E")}.icon-trophy{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237b63ff' stroke-width='2'%3E%3Cpath d='M8 21h8m-4-4v4M7 4h10v4a5 5 0 0 1-10 0V4Zm0 2H4v2a4 4 0 0 0 4 4m9-6h3v2a4 4 0 0 1-4 4'/%3E%3C/svg%3E")}.icon-chat{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c34df0' stroke-width='2'%3E%3Cpath d='M21 14a4 4 0 0 1-4 4H9l-5 3v-3a4 4 0 0 1-2-4V7a4 4 0 0 1 4-4h11a4 4 0 0 1 4 4v7Z'/%3E%3Cpath d='M7 10h.01M12 10h.01M17 10h.01'/%3E%3C/svg%3E")}
.side{background:rgba(3,9,24,.98);border-color:#172b59}.side nav a{position:relative;padding-left:42px}.side nav a:before{content:"";position:absolute;left:14px;top:50%;translate:0 -50%;width:17px;height:17px;background:center/contain no-repeat;opacity:.8}.side nav a[href*="dashboard"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239cb4e9' stroke-width='2'%3E%3Cpath d='m3 11 9-8 9 8v10h-6v-6H9v6H3V11Z'/%3E%3C/svg%3E")}.side nav a[href*="cursos"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239cb4e9' stroke-width='2'%3E%3Cpath d='M4 19.5A2.5 2.5 0 0 1 6.5 17H20V3H6.5A2.5 2.5 0 0 0 4 5.5v14Z'/%3E%3C/svg%3E")}.side nav a[href*="progreso"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239cb4e9' stroke-width='2'%3E%3Cpath d='M4 19V9m6 10V5m6 14v-7m4 7H2'/%3E%3C/svg%3E")}.side nav a[href*="leaderboard"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239cb4e9' stroke-width='2'%3E%3Cpath d='M8 21h8m-4-4v4M7 4h10v4a5 5 0 0 1-10 0V4Zm0 2H4v2a4 4 0 0 0 4 4m9-6h3v2a4 4 0 0 1-4 4'/%3E%3C/svg%3E")}.side nav a[href*="ai"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239cb4e9' stroke-width='2'%3E%3Cpath d='M20 15a4 4 0 0 1-4 4H8l-5 3v-3a4 4 0 0 1-2-4V8a4 4 0 0 1 4-4h11a4 4 0 0 1 4 4v7Z'/%3E%3C/svg%3E")}.side nav a[href*="perfil"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239cb4e9' stroke-width='2'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E")}.side nav a[href*="premium"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239cb4e9' stroke-width='2'%3E%3Cpath d='m12 3 3 5 6 1-4 4 1 7-6-3-6 3 1-7-4-4 6-1 3-5Z'/%3E%3C/svg%3E")}.side nav a:hover,.side nav a.active{background:linear-gradient(90deg,#173f9b,#222d8b);color:#fff;box-shadow:inset 0 0 0 1px #3157bb}.side nav a.active:before{filter:brightness(2)}.side-premium{background:linear-gradient(145deg,#101d4c,#191047);border-color:#3c45a0}
.progress{background:#0b1835}.progress span{background:var(--gradient);box-shadow:0 0 14px rgba(88,77,255,.5)}.lesson .level,.badge{background:#102b62;color:#52d5ff}.badge.locked{background:#22163f}.badge.success{background:rgba(37,217,179,.12);color:var(--success)}.course-locked,.level-tile.locked{background:#080e22}.lesson.completed{border-color:#1f947f;background:linear-gradient(145deg,#0a2633,#071127)}
.plan-card{background:linear-gradient(160deg,#09162f,#061027);border-color:#294d89;box-shadow:0 15px 40px rgba(0,0,0,.18)}.plan-card.featured{background:linear-gradient(160deg,#0b2551,#10134b);border-color:#2778ff}.plan-card.diamond{background:linear-gradient(160deg,#101543,#261044);border-color:#9744df}.plan-price{color:#fff}.table-wrap table th{background:#081632;color:#8fa7d4}.table-wrap tr.me{background:#122c67}.notice.success{background:rgba(37,217,179,.1);color:#52e7c8}.notice.warning{background:rgba(202,129,36,.1);color:#ffc970}.notice.error{background:rgba(255,99,132,.1);color:#ff8ba3}.bubble.ai{background:#10265a}.bubble.me{background:var(--gradient)}
.form input,.form select,.form textarea,.chat-input textarea,.inline-form input,.inline-form select{background:#050e22;color:#fff;border-color:#274477;color-scheme:dark}.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(24,200,245,.1)}footer{border-color:#172b59}.rank{color:var(--cyan)}
@media(max-width:850px){.side{background:#030918}.side nav a{padding-left:38px}.navlinks{background:#061027;border-color:#29487e}}
.lesson-objective{padding:15px 17px;border-left:3px solid var(--cyan);background:rgba(24,200,245,.06);border-radius:0 12px 12px 0;margin:14px 0}.lesson-objective p{margin:5px 0 0}.activity-block{margin-top:20px;padding:18px;border:1px solid #284779;border-radius:16px;background:rgba(5,14,34,.72)}.activity-label{font-size:10px;letter-spacing:1.5px;font-weight:900;color:var(--cyan)}.reading-text{font-size:15px;line-height:1.75;color:#dbe5ff}.vocab-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vocab-grid>div{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:8px;padding:10px 12px;border:1px solid #203a68;border-radius:10px;background:#07142e}.vocab-grid span{color:var(--muted);font-size:13px}.speak-word{border:0;background:#102b62;color:#70dcff;width:31px;height:31px;border-radius:8px;cursor:pointer}.activity-block textarea{width:100%;min-height:130px;margin-top:10px;padding:13px;border:1px solid #274477;border-radius:12px;background:#050e22;color:#fff;resize:vertical}.activity-block summary{cursor:pointer;color:#8fcfff}@media(max-width:650px){.vocab-grid{grid-template-columns:1fr}}
.skill-questions{display:grid;gap:12px;margin:14px 0}.skill-questions label{display:grid;gap:7px}.skill-questions input{padding:10px 12px;border:1px solid #274477;border-radius:9px;background:#050e22;color:#fff}.skill-questions input.answer-correct{border-color:var(--success);background:rgba(37,217,179,.08)}.skill-questions input.answer-wrong{border-color:#e6a23c;background:rgba(230,162,60,.08)}.listening-options,.writing-checks{display:grid;gap:8px;margin:14px 0}.listening-options label,.writing-checks label{padding:9px 11px;border-radius:9px;background:#081a3d}.skill-result{margin-top:12px;padding:10px 12px;border-radius:9px}.skill-result.success{background:rgba(37,217,179,.1);color:#52e7c8}.skill-result.warning{background:rgba(230,162,60,.1);color:#ffc970}.skill-result ul{margin-bottom:0}
.vocab-bank{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:14px}.vocab-bank button{display:grid;grid-template-columns:1fr auto;gap:4px;text-align:left;padding:12px;border:1px solid #284779;border-radius:11px;background:#07142e;color:#fff;cursor:pointer}.vocab-bank button:hover{border-color:var(--cyan)}.vocab-bank span{grid-column:1;color:var(--muted);font-size:12px}.vocab-bank i{grid-column:2;grid-row:1/3;font-style:normal;align-self:center}@media(max-width:1000px){.vocab-bank{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.vocab-bank{grid-template-columns:1fr 1fr}}
.can-do{display:grid;gap:8px;margin:16px 0;padding:16px;border:1px solid #31559c;border-radius:14px;background:#07142e}.can-do strong{margin-bottom:4px}.can-do label{padding:7px 9px;border-radius:8px;background:#0a1d42}
.compact-stats .stat{padding:14px}.compact-stats .stat strong{font-size:24px}.review-card{position:relative;max-width:650px;margin:22px auto 0;padding:26px;border:1px solid #31559c;border-radius:20px;background:radial-gradient(circle at 90% 5%,rgba(126,69,245,.18),transparent 34%),#050e22;text-align:center}.review-card h2{font-size:42px;margin:20px 0 5px}.review-progress{position:absolute;right:22px;top:22px;color:var(--muted);font-size:12px}.speak-review{width:48px;height:48px;margin-top:18px;border:1px solid #2e62ba;border-radius:50%;background:#102b62;color:#72ddff;font-size:20px;cursor:pointer}.review-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.review-options button{padding:13px;border:1px solid #2b4e8e;border-radius:10px;background:#091a3c;color:#fff;cursor:pointer}.review-options button:hover{border-color:var(--cyan)}.review-options .option-correct{border-color:var(--success);background:rgba(37,217,179,.16)}.review-options .option-wrong{border-color:#e6a23c;background:rgba(230,162,60,.14)}@media(max-width:650px){.review-options{grid-template-columns:1fr}}
.tutor-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;margin-top:18px}.tutor-controls{align-self:start;position:sticky;top:18px}.tutor-modes{display:grid;gap:8px;margin:12px 0 22px}.tutor-mode{width:100%;text-align:left;padding:11px 12px;border:1px solid #294779;border-radius:11px;background:#07142e;color:#dbe5ff;cursor:pointer;font-weight:750}.tutor-mode:hover,.tutor-mode.active{border-color:var(--cyan);background:#102b62;color:#fff}.tutor-controls select{width:100%;margin:10px 0;padding:11px;border:1px solid #274477;border-radius:10px;background:#050e22;color:#fff}.tutor-controls #restart{width:100%}.tutor-meta{display:grid;gap:5px;margin-top:20px;padding-top:16px;border-top:1px solid #263d68}.tutor-chat{min-height:620px;display:flex;flex-direction:column}.tutor-chat .chat-log{flex:1;max-height:none;min-height:430px}.tutor-chips{display:flex;gap:7px;flex-wrap:wrap;padding:10px 0}.tutor-chips .btn{padding:7px 10px;font-size:12px}.chat-log .bubble{white-space:pre-wrap;line-height:1.55}@media(max-width:900px){.tutor-layout{grid-template-columns:1fr}.tutor-controls{position:static}.tutor-chat{min-height:520px}}

/* Soporte y pagos V39 */
.btn-whatsapp{background:#1f9d6a;color:#fff;border-color:#1f9d6a}.btn-whatsapp:hover{filter:brightness(1.05)}
.bry-support-fab{position:fixed;right:20px;bottom:20px;z-index:80;display:flex;align-items:center;gap:9px;padding:11px 15px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#16875c;color:#fff;font-size:13px;font-weight:850;box-shadow:0 14px 35px rgba(0,0,0,.28)}.bry-support-fab:hover{transform:translateY(-2px);background:#1a9666}.wa-mark{display:grid;place-items:center;width:27px;height:27px;border:2px solid #fff;border-radius:50%;font-size:18px;line-height:1}.support-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px;border:1px solid #225e54;border-radius:15px;background:rgba(37,217,179,.07)}.support-inline p{margin:4px 0 0}.payment-steps{line-height:1.7;color:var(--muted)}.payment-reference{display:grid;gap:7px;margin:16px 0;color:#dbe5ff;font-weight:700}.payment-reference input{padding:11px 12px;border:1px solid #274477;border-radius:10px;background:#050e22;color:#fff}.payment-history{display:grid;gap:8px}.payment-history>div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #274477;border-radius:10px;background:#07142e}.payment-state{font-size:11px;font-weight:900;padding:4px 8px;border-radius:999px}.payment-state.pending{background:rgba(230,162,60,.14);color:#ffc970}.payment-state.approved{background:rgba(37,217,179,.12);color:#52e7c8}.payment-state.rejected{background:rgba(255,99,132,.12);color:#ff8ba3}.qr-box img{max-width:330px;width:100%;height:auto;display:block;margin:14px auto;border-radius:18px;background:#fff;padding:10px}.admin-payment-actions{display:flex;gap:7px;flex-wrap:wrap}@media(max-width:650px){.bry-support-fab{right:12px;bottom:12px;padding:11px}.bry-support-fab .wa-label{display:none}.support-inline{align-items:flex-start;flex-direction:column}}
.wa-mark svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Legal V41 */
.legal-page{max-width:960px;margin:0 auto;padding:42px 24px 80px;line-height:1.7}.legal-page .logo{display:inline-block;margin-bottom:24px}.legal-page h1{font-size:clamp(30px,5vw,48px);line-height:1.1}.legal-page section{margin:28px 0;padding:24px;border:1px solid var(--border,#dfe5ec);border-radius:16px;background:var(--card,#fff)}.legal-page h2{margin-top:0}.legal-consent{display:flex!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45}.legal-consent input{width:auto!important;margin-top:4px}.legal-links{font-size:13px;margin:12px 0}.legal-page a,.legal-links a,.legal-consent a{text-decoration:underline}
.bry-legal-footer{padding:20px 24px;text-align:center;font-size:12px;color:#667085}.bry-legal-footer a{color:inherit;text-decoration:underline}

/* V44: contraste legal explícito para evitar texto claro sobre tarjetas blancas */
.legal-page{color:var(--ink)!important}
.legal-page section{background:var(--paper)!important;color:var(--ink)!important}
.legal-page section h2,.legal-page section h3,.legal-page section p,.legal-page section li,.legal-page section strong{color:var(--ink)!important}
.legal-page section a{color:var(--teal2)!important;font-weight:700}
.legal-page>.muted{color:#aeb9cf!important}

/* =========================================================
   BryLearn V47 · Responsive móvil real + PWA
   ========================================================= */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,audio,canvas{max-width:100%}
.app-shell,.app-main,.panel,.study,.course-card,.lesson,.stat,.level-tile,.tutor-layout,.tutor-chat,.payment-layout,.two-col,.quick,.stats,.stack{min-width:0}
.app-main>*{min-width:0}
p,li,td,th,.notice,.message,.profile-pill,.payment-history>div{overflow-wrap:anywhere;word-break:normal}
pre,code{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%;min-width:0}
.table-wrap{max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.table-wrap:focus-within{outline:2px solid rgba(24,200,245,.28);outline-offset:2px}
.mobile-appbar,.mobile-side-overlay{display:none}

@media(max-width:850px){
  body{font-size:15px}
  .app-shell{display:block;min-height:100vh}
  .mobile-appbar{display:flex;position:sticky;top:0;z-index:70;align-items:center;gap:12px;height:62px;padding:0 14px;background:rgba(2,7,24,.96);border-bottom:1px solid #172b59;backdrop-filter:blur(16px)}
  .mobile-appbar .mobile-menu-btn{width:42px;height:42px;display:grid;place-items:center;flex:0 0 42px;border:1px solid #2b4e8e;border-radius:12px;background:#07142e;color:#fff;font-size:21px;cursor:pointer}
  .mobile-appbar .mobile-brand{display:flex;align-items:center;gap:9px;font-weight:900;letter-spacing:-.6px;color:#fff;min-width:0}
  .mobile-appbar .mobile-brand:before{content:"";width:31px;height:31px;flex:0 0 31px;background:url('/public/img/icon-192.png') center/contain no-repeat}
  .mobile-appbar .mobile-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .side{display:block;position:fixed;z-index:90;inset:0 auto 0 0;width:min(86vw,320px);height:100dvh;padding:20px 14px 28px;background:#030918;border-right:1px solid #20396d;border-bottom:0;overflow-y:auto;transform:translateX(-105%);transition:transform .22s ease;box-shadow:16px 0 45px rgba(0,0,0,.42)}
  .side.mobile-open{transform:translateX(0)}
  .side .logo{display:flex;margin:0 8px 22px}
  .side nav{display:grid;overflow:visible;gap:6px}
  .side nav a{white-space:normal;padding:12px 12px 12px 40px}
  .side-premium{display:block;margin:22px 4px}
  .mobile-side-overlay{position:fixed;display:block;z-index:85;inset:0;background:rgba(0,0,0,.58);opacity:0;pointer-events:none;transition:opacity .22s ease}
  .mobile-side-overlay.visible{opacity:1;pointer-events:auto}
  body.mobile-nav-open{overflow:hidden}
  .app-main{max-width:none;width:100%;padding:22px 14px 76px}
  .app-top{margin-bottom:20px}
  .app-top h1{font-size:clamp(28px,9vw,36px);letter-spacing:-1.2px}
  .profile-pill{white-space:normal;max-width:100%;display:flex;gap:4px;flex-wrap:wrap;align-items:center}
  .page-head{margin-bottom:22px}
  .page-head h1{font-size:clamp(30px,9vw,38px);line-height:1.05;letter-spacing:-1.4px}
  .page-head p{font-size:14px}
  .panel,.study,.course-card,.lesson,.stat,.activity-block{padding:17px;border-radius:16px}
  .panel h2{font-size:22px}
  .study h2{font-size:25px}
  .toolbar{align-items:stretch}
  .toolbar>.group,.toolbar>div{min-width:0}
  .toolbar>.btn,.toolbar>a.btn,.toolbar>button.btn{flex:0 1 auto}
  .inline-form{display:grid;grid-template-columns:1fr;width:100%}
  .inline-form>*{width:100%}
  .payment-history>div{flex-direction:column}
  .admin-head{align-items:flex-start;flex-direction:column}
  .admin-shell{width:calc(100% - 28px);margin:18px auto 70px}
  .admin-head h1{font-size:30px}
  .tutor-chat{min-height:460px}
  .tutor-chat .chat-log{min-height:320px}
  .chat-log{padding:13px}
  .bubble{max-width:92%}
  .qr-box{min-height:0;padding:18px}
  .qr-box img{max-width:min(330px,100%)}
  .legal-page{padding:28px 14px 72px}
  .legal-page section{padding:18px;margin:18px 0}
  .bry-support-fab{bottom:14px}
}

@media(max-width:600px){
  .container,.nav{width:calc(100% - 28px)}
  .site-header{height:64px}
  .hero{min-height:auto;padding:36px 0;gap:26px}
  h1,.hero h1{font-size:clamp(38px,13vw,56px);letter-spacing:-2.2px}
  .lead{font-size:16px;line-height:1.55}
  .hero-art{min-height:310px}
  .art-window{height:300px;border-radius:24px}
  .book{width:min(235px,78vw);height:175px;padding:18px}
  .note{padding:10px;font-size:12px}
  .section{padding:52px 0}
  .section h2{font-size:32px;letter-spacing:-1.4px}
  .auth{padding:14px}
  .auth-card{padding:22px 17px;border-radius:18px}
  .auth-card h1{font-size:29px}
  .stats{gap:10px}
  .stat strong{font-size:25px}
  .level-row,.plan-grid,.grid4,.stats,.vocab-bank{grid-template-columns:1fr}
  .quick,.lesson-grid,.grid3,.two-col,.payment-layout,.admin-grid{grid-template-columns:1fr}
  .review-card{padding:18px 14px}
  .review-card h2{font-size:34px}
  .review-progress{position:static;display:block;margin-bottom:8px}
  .review-options{grid-template-columns:1fr}
  .vocab-grid{grid-template-columns:1fr}
  .vocab-grid>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}
  .chat-input{grid-template-columns:1fr}
  .chat-input .btn,.chat-input button{width:100%}
  .btn{min-height:43px}
  .toolbar{display:grid;grid-template-columns:1fr;justify-items:stretch}
  .toolbar .group{display:grid;grid-template-columns:1fr}
  .toolbar .group .btn,.toolbar>.btn,.toolbar>a.btn,.toolbar>button.btn{width:100%}
  .support-inline{align-items:stretch}
  .support-inline .btn{width:100%}
  table{min-width:600px}
  th,td{padding:11px 12px}
  .bry-legal-footer{padding:18px 64px 74px 14px;text-align:left;line-height:1.8}
}

@media(max-width:380px){
  .app-main{padding-inline:11px}
  .panel,.study,.course-card,.lesson,.stat,.activity-block{padding:14px}
  .mobile-appbar{padding-inline:10px}
  .mobile-appbar .mobile-label{font-size:14px}
}

/* =========================================================
   BryLearn · FASE 1 — Sistema visual vivo 2026
   Referencia: fondos claros + navy + azul + violeta + amarillo
   Alcance: SOLO presentación. No modifica lógica ni contenido.
   ========================================================= */
:root{
  --bry-navy:#071b4d;
  --bry-navy-2:#0b2a67;
  --bry-blue:#0b6cf2;
  --bry-blue-2:#2388ff;
  --bry-purple:#5c39d8;
  --bry-yellow:#ffc928;
  --bry-green:#25c96f;
  --bry-pink:#ff4f7b;
  --bry-orange:#ff7b31;
  --bry-sky:#eaf4ff;
  --bry-purple-soft:#f0edff;
  --bry-yellow-soft:#fff6d8;
  --bry-green-soft:#eaf9f0;
  --cream:#f5f8fe;
  --paper:#ffffff;
  --ink:#10214d;
  --muted:#647395;
  --sage:#dce9ff;
  --sage2:#edf4ff;
  --teal:var(--bry-blue);
  --teal2:var(--bry-purple);
  --sand2:var(--bry-yellow-soft);
  --mist:#edf8ff;
  --lilac:var(--bry-purple-soft);
  --line:#dce5f2;
  --danger:#e94769;
  --success:#20b965;
  --cyan:#27b8f2;
  --blue:var(--bry-blue);
  --violet:var(--bry-purple);
  --magenta:var(--bry-pink);
  --gradient:linear-gradient(110deg,var(--bry-blue),var(--bry-blue-2) 58%,var(--bry-purple));
  --shadow:0 14px 38px rgba(20,55,112,.11);
  --shadow-soft:0 8px 24px rgba(20,55,112,.08);
}

body{
  background:
    radial-gradient(circle at 92% 3%,rgba(35,136,255,.10),transparent 27%),
    radial-gradient(circle at 4% 72%,rgba(255,201,40,.10),transparent 24%),
    var(--cream);
  color:var(--ink);
}
body:before{
  opacity:.34;
  background-image:
    radial-gradient(circle at 15% 20%,rgba(11,108,242,.22) 0 1px,transparent 1.6px),
    radial-gradient(circle at 82% 38%,rgba(92,57,216,.18) 0 1px,transparent 1.6px),
    radial-gradient(circle at 48% 76%,rgba(255,201,40,.24) 0 1px,transparent 1.6px);
  background-size:103px 103px,151px 151px,131px 131px;
}

/* Marca y encabezados */
.logo,.auth-brand,.brand-mini{
  color:var(--bry-navy);
  text-transform:none;
  font-weight:950;
}
.logo{
  background:linear-gradient(90deg,var(--bry-navy) 0 28%,var(--bry-blue) 55%,var(--bry-blue-2));
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
}
.logo:before,.auth-brand:before,.brand-mini:before{
  filter:drop-shadow(0 5px 10px rgba(11,108,242,.18));
}
h1,.app-top h1,.page-head h1,.section h2,.panel h2,.course-card h2,.study h2,.book h3,.plan-card h3{
  color:var(--ink);
  text-shadow:none;
}
.kicker,.eyebrow{color:var(--bry-purple)}
.kicker{
  background:var(--bry-purple-soft);
  border:1px solid #dcd3ff;
}
.hero h1 span,.section h2 span{
  background:linear-gradient(100deg,var(--bry-blue),var(--bry-purple));
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
}

/* Landing */
.site-header{
  background:rgba(255,255,255,.92);
  border-color:var(--line);
  box-shadow:0 4px 18px rgba(24,57,112,.05);
}
.navlinks{color:var(--muted)}
.navlinks a:hover{color:var(--bry-blue)}
.menu{color:var(--bry-navy)}
.section.alt{
  background:rgba(255,255,255,.75);
  border-block:1px solid var(--line);
}
.art-window{
  background:
    radial-gradient(circle at 78% 18%,rgba(255,201,40,.34),transparent 30%),
    radial-gradient(circle at 15% 80%,rgba(92,57,216,.13),transparent 34%),
    linear-gradient(145deg,#eef6ff,#ffffff 72%);
  border-color:#d4e3f6;
  box-shadow:0 28px 65px rgba(20,55,112,.14);
}
.art-window:after{
  background:repeating-radial-gradient(ellipse at bottom,transparent 0 16px,rgba(11,108,242,.10) 17px 18px);
  opacity:.6;
}
.book{
  background:#fff;
  border-color:#dbe6f3;
  box-shadow:0 22px 45px rgba(20,55,112,.14);
}
.line{background:#dce9f9}.line:first-of-type{background:linear-gradient(90deg,var(--bry-blue),var(--bry-purple))}
.note{
  background:rgba(255,255,255,.97);
  border-color:#dce6f2;
  color:var(--ink);
  box-shadow:var(--shadow-soft);
}

/* Botones */
.btn{border-radius:14px;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.btn-primary,.form button{
  background:linear-gradient(110deg,var(--bry-blue),var(--bry-blue-2));
  color:#fff;
  box-shadow:0 8px 20px rgba(11,108,242,.22);
}
.btn-primary:hover,.form button:hover{
  filter:brightness(1.04);
  box-shadow:0 11px 26px rgba(11,108,242,.28);
}
.btn-soft{background:var(--bry-yellow-soft);color:var(--ink);border-color:#f4dfa0}
.btn-outline{background:#fff;border-color:#cbd9ec;color:var(--bry-navy)}
.btn-outline:hover{border-color:#93b8ed;background:#f8fbff}
.btn-danger{background:#fff0f3;color:var(--danger);border-color:#ffd0da}

/* Superficies principales */
.feature,.stat,.study,.quick article,.lesson,.course-card,.level-tile,.panel,.notice,.table-wrap,.qr-box,.chat-log,.auth-card,.profile-pill,.plan-card{
  background:#fff;
  border-color:var(--line);
  color:var(--ink);
  box-shadow:var(--shadow-soft);
}
.feature:nth-child(2),.stat:nth-child(2),.quick article:nth-child(2){background:var(--bry-purple-soft)}
.feature:nth-child(3),.stat:nth-child(3),.quick article:nth-child(3){background:var(--mist)}
.stat:nth-child(4){background:var(--bry-yellow-soft)}
.feature:hover,.quick article:hover,.lesson:hover,.level-tile:hover,.plan-card:hover{
  border-color:#aac8f2;
  box-shadow:0 14px 30px rgba(20,55,112,.13);
  transform:translateY(-2px);
}

/* Navegación de la aplicación */
.side{
  background:linear-gradient(180deg,var(--bry-navy),#06163d 72%,#04112f);
  border-color:#16356f;
  box-shadow:8px 0 30px rgba(6,28,77,.08);
}
.side .logo{
  background:linear-gradient(90deg,#fff 0 30%,#77baff 58%,#c1abff);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
}
.side nav a{color:#c7d6f3}
.side nav a:before{opacity:.95;filter:brightness(1.65)}
.side nav a:hover,.side nav a.active{
  background:linear-gradient(90deg,rgba(35,136,255,.30),rgba(92,57,216,.22));
  color:#fff;
  box-shadow:inset 3px 0 0 var(--bry-yellow),inset 0 0 0 1px rgba(123,169,245,.32);
}
.side-premium{
  background:linear-gradient(145deg,rgba(92,57,216,.30),rgba(11,108,242,.22));
  border-color:rgba(162,183,255,.32);
  color:#fff;
}
.side-premium p{color:#c7d6f3}.side-premium a{color:#ffd95c}

/* Dashboard y progreso */
.app-top p{color:var(--bry-purple)}
.profile-pill{color:var(--ink)}
.profile-pill button{color:var(--bry-blue)}
.study .label{color:var(--bry-purple)}
.progress{background:#dfe8f5}
.progress span{
  background:linear-gradient(90deg,var(--bry-green),#42d985 42%,var(--bry-blue));
  box-shadow:0 0 12px rgba(37,201,111,.22);
}
.quick a,.level-tile small{color:var(--bry-blue)}
.lesson .level,.badge{background:#e9f3ff;color:var(--bry-blue)}
.badge.locked{background:#f1f3f8;color:#7a869f}
.badge.success{background:var(--bry-green-soft);color:var(--success)}
.course-locked,.level-tile.locked{background:#f3f5f9}
.lesson.completed{border-color:#a9dfbf;background:linear-gradient(145deg,#f4fff8,#ffffff)}
.module-units div{background:#f3f7fc}

/* Estados y mensajes */
.notice.success,.skill-result.success{background:var(--bry-green-soft);color:#13864a;border-color:#bfe9d0}
.notice.warning,.skill-result.warning{background:var(--bry-yellow-soft);color:#8c6410;border-color:#f2dc96}
.notice.error{background:#fff0f3;color:var(--danger);border-color:#ffd0d9}
.text-success,.success{color:#168f50}.text-danger,.error{color:var(--danger)}

/* Formularios */
.form input,.form select,.form textarea,.chat-input textarea,.inline-form input,.inline-form select,.payment-reference input,.tutor-controls select,.skill-questions input,.activity-block textarea{
  background:#fff;
  color:var(--ink);
  border-color:#cfdced;
  color-scheme:light;
}
.form input:focus,.form select:focus,.form textarea:focus,.chat-input textarea:focus{
  border-color:var(--bry-blue);
  box-shadow:0 0 0 3px rgba(11,108,242,.10);
}

/* Cursos y planes */
.plan-card.featured{
  background:linear-gradient(160deg,#eef6ff,#f5f2ff);
  border-color:#b8c9f6;
}
.plan-card.diamond{
  background:linear-gradient(160deg,#f5f1ff,#fff8dc);
  border-color:#c9b9f6;
}
.plan-price{color:var(--bry-navy)}
.table-wrap table th{background:#f2f6fc;color:#677693}
.table-wrap tr.me{background:#edf4ff}
.rank{color:var(--bry-purple)}

/* Lecciones y práctica */
.lesson-objective{
  border-left-color:var(--bry-purple);
  background:var(--bry-purple-soft);
}
.activity-block{
  border-color:#d6e2f1;
  background:#fbfdff;
  box-shadow:var(--shadow-soft);
}
.activity-label{color:var(--bry-purple)}
.reading-text{color:var(--ink)}
.vocab-grid>div,.vocab-bank button,.can-do,.review-card,.tutor-mode,.payment-history>div{
  background:#fff;
  border-color:#d5e1ef;
  color:var(--ink);
}
.vocab-grid span,.vocab-bank span{color:var(--muted)}
.speak-word,.speak-review{
  background:#e9f4ff;
  color:var(--bry-blue);
  border-color:#bfdbfa;
}
.listening-options label,.writing-checks label,.can-do label{background:#f1f6fc}
.review-card{
  background:
    radial-gradient(circle at 92% 4%,rgba(92,57,216,.10),transparent 34%),
    #fff;
  border-color:#d7e2f0;
}
.review-options button{
  background:#fff;
  color:var(--ink);
  border-color:#d2dfef;
  box-shadow:0 3px 10px rgba(20,55,112,.04);
}
.review-options button:hover{border-color:var(--bry-blue);background:#f5f9ff}
.review-options .option-correct{border-color:var(--success);background:var(--bry-green-soft)}
.review-options .option-wrong{border-color:#e9a741;background:#fff7e8}
.skill-questions input.answer-correct{border-color:var(--success);background:var(--bry-green-soft)}
.skill-questions input.answer-wrong{border-color:#e9a741;background:#fff7e8}
.vocab-bank button:hover{border-color:var(--bry-blue);background:#f7fbff}
.activity-block summary{color:var(--bry-blue)}

/* Practica con BRY / chat */
.tutor-mode:hover,.tutor-mode.active{
  border-color:var(--bry-blue);
  background:#eaf3ff;
  color:var(--bry-navy);
}
.tutor-meta{border-color:var(--line)}
.bubble.ai{background:#edf4ff;color:var(--ink)}
.bubble.me{background:linear-gradient(110deg,var(--bry-blue),var(--bry-purple));color:#fff}

/* Pagos */
.payment-reference{color:var(--ink)}
.payment-state.pending{background:#fff1cf;color:#8d6413}
.payment-state.approved{background:var(--bry-green-soft);color:#12884a}
.payment-state.rejected{background:#fff0f3;color:var(--danger)}
.support-inline{border-color:#b9e5d2;background:#f0fbf5}
.qr-box img{box-shadow:0 8px 22px rgba(20,55,112,.10)}

/* Legal */
.legal-page{color:var(--ink)!important}
.legal-page section{background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:var(--shadow-soft)}
.legal-page section a{color:var(--bry-blue)!important}
.legal-page>.muted{color:var(--muted)!important}
.bry-legal-footer{color:var(--muted)}
footer{border-color:var(--line);color:var(--muted)}

/* Iconos que ya existen: conservarlos, pero integrarlos al nuevo tono */
.icon{
  border-color:#c9daf0;
  background-color:#eef6ff;
  box-shadow:none;
}

/* Móvil: mantener navegación fuerte y legible */
@media(max-width:850px){
  .mobile-appbar{
    background:rgba(7,27,77,.98);
    border-bottom-color:#183d7b;
    box-shadow:0 6px 20px rgba(6,28,77,.18);
  }
  .mobile-appbar .mobile-menu-btn{border-color:#345b9b;background:#0b2a67;color:#fff}
  .side{background:linear-gradient(180deg,var(--bry-navy),#04112f)}
  .navlinks{background:#fff;border-color:var(--line)}
}

/* Respeta usuarios que prefieren menos movimiento */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}


/* =========================================================
   BryLearn · FASE 2 — Apariciones estáticas de BRY
   Alcance: mascota como guía visual. Sin animaciones ni lógica.
   ========================================================= */
.bry-head-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,290px);
  gap:22px;
  align-items:end;
  margin-bottom:28px;
}
.bry-head-layout .page-head{margin-bottom:0}
.bry-companion{
  position:relative;
  min-height:150px;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:15px 15px 15px 6px;
  border:1px solid #d8e5f7;
  border-radius:22px;
  background:linear-gradient(145deg,#fff 35%,#edf5ff 100%);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.bry-companion:before{
  content:"";
  position:absolute;
  width:110px;
  height:110px;
  left:8px;
  bottom:8px;
  border-radius:50%;
  background:rgba(255,201,40,.2);
  z-index:0;
}
.bry-companion--think:before{background:rgba(92,57,216,.12)}
.bry-companion img{
  position:relative;
  z-index:1;
  width:118px;
  height:132px;
  object-fit:contain;
  object-position:center bottom;
  align-self:end;
  filter:drop-shadow(0 9px 12px rgba(7,27,77,.12));
}
.bry-companion div{position:relative;z-index:1;min-width:0}
.bry-companion strong{
  display:block;
  color:var(--bry-navy);
  font-size:15px;
  line-height:1.2;
  margin-bottom:5px;
}
.bry-companion span{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.45;
}
.study.has-bry{
  grid-template-columns:minmax(0,1fr) 150px auto;
  overflow:hidden;
}
.bry-study-guide{
  position:relative;
  min-height:120px;
  display:flex;
  justify-content:center;
  align-items:flex-end;
}
.bry-study-guide:before{
  content:"";
  position:absolute;
  width:105px;
  height:105px;
  border-radius:50%;
  background:var(--bry-yellow);
  opacity:.9;
  bottom:2px;
}
.bry-study-guide img{
  position:relative;
  z-index:1;
  width:118px;
  height:130px;
  object-fit:contain;
  object-position:center bottom;
  filter:drop-shadow(0 9px 12px rgba(7,27,77,.14));
}
.bry-study-guide span{
  position:absolute;
  z-index:2;
  right:-4px;
  top:-5px;
  width:112px;
  padding:8px 9px;
  border:1px solid #dce5f2;
  border-radius:14px 14px 14px 4px;
  background:#fff;
  color:var(--bry-navy);
  font-size:10px;
  font-weight:850;
  line-height:1.25;
  box-shadow:0 7px 18px rgba(20,55,112,.09);
}
@media(max-width:1050px){
  .bry-head-layout{grid-template-columns:minmax(0,1fr) 240px}
  .bry-companion{grid-template-columns:94px 1fr;min-height:136px}
  .bry-companion img{width:98px;height:118px}
  .study.has-bry{grid-template-columns:minmax(0,1fr) 125px auto}
  .bry-study-guide span{display:none}
}
@media(max-width:850px){
  .bry-head-layout{grid-template-columns:1fr;gap:12px;margin-bottom:22px}
  .bry-companion{
    min-height:118px;
    grid-template-columns:96px 1fr;
    padding:10px 15px 10px 4px;
  }
  .bry-companion:before{width:86px;height:86px}
  .bry-companion img{width:92px;height:103px}
  .study.has-bry{grid-template-columns:1fr auto;gap:12px}
  .study.has-bry>div:first-child{grid-column:1/-1}
  .bry-study-guide{min-height:92px;width:108px}
  .bry-study-guide:before{width:78px;height:78px}
  .bry-study-guide img{width:92px;height:96px}
  .bry-study-guide+.btn{align-self:center}
}
@media(max-width:480px){
  .bry-companion{grid-template-columns:82px 1fr;border-radius:17px}
  .bry-companion img{width:82px;height:92px}
  .bry-companion strong{font-size:14px}
  .bry-companion span{font-size:11px}
  .study.has-bry{grid-template-columns:82px 1fr}
  .bry-study-guide{width:82px}
  .bry-study-guide img{width:78px;height:88px}
  .study.has-bry>.btn{width:100%}
}

/* Fase 2.1 · Home bienvenida con BRY */
.hero-welcome .hero-art{min-height:420px}
.bry-welcome-window{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:28px 24px 0;
}
.bry-welcome-window:before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:30px;
  top:58px;
  border-radius:50%;
  background:radial-gradient(circle at center,rgba(255,208,75,.95) 0,rgba(255,208,75,.75) 46%,rgba(255,208,75,0) 75%);
  filter:blur(.3px);
  opacity:.95;
}
.bry-welcome-card{
  position:relative;
  z-index:2;
  width:min(235px,48%);
  margin:0 0 110px 14px;
  padding:22px 20px;
  border:1px solid #31559c;
  border-radius:22px;
  background:rgba(6,14,34,.93);
  box-shadow:0 18px 42px rgba(0,0,0,.32);
}
.bry-welcome-card .brand-mini{color:#86e0ff;margin-bottom:10px}
.bry-welcome-card h3{font-size:30px;line-height:1.05;margin:0 0 12px;color:#fff}
.bry-welcome-card p{margin:0;color:#d7e4ff;line-height:1.55;font-size:14px}
.hero-bry-img{
  position:relative;
  z-index:2;
  width:min(245px,52%);
  height:auto;
  align-self:flex-end;
  filter:drop-shadow(0 24px 38px rgba(0,0,0,.42));
}
@media(max-width:850px){
  .hero-welcome .hero-art{min-height:340px}
  .bry-welcome-window{padding:20px 18px 0}
  .bry-welcome-window:before{right:18px;top:74px;width:185px;height:185px}
  .bry-welcome-card{width:min(210px,54%);margin:0 0 78px 0;padding:18px 16px;border-radius:18px}
  .bry-welcome-card h3{font-size:24px}
  .bry-welcome-card p{font-size:13px}
  .hero-bry-img{width:min(205px,52%)}
}
@media(max-width:560px){
  .bry-welcome-window{min-height:300px;display:block;padding:16px 16px 0}
  .bry-welcome-window:before{right:50%;transform:translateX(50%);top:96px;width:170px;height:170px}
  .bry-welcome-card{width:100%;margin:0;position:relative;z-index:3}
  .hero-bry-img{display:block;width:180px;max-width:70%;margin:8px auto 0}
  .note.one{left:14px;top:14px}
  .note.two{right:14px;bottom:18px}
}

/* =========================================================
   BryLearn · FASE 2.3 — BRY integrado por contexto
   Solo presentación estática; no modifica lógica de aprendizaje.
   ========================================================= */
.bry-head-layout>.app-top,
.bry-head-layout>.section-intro{margin-bottom:0}
.bry-head-layout--top{align-items:center}
.bry-head-layout--section{align-items:center;margin-bottom:34px}
.bry-companion--premium{background:linear-gradient(145deg,#fff 25%,#fff6cf 100%);border-color:#f3d775}
.bry-companion--premium:before{background:rgba(255,201,40,.28)}
.bry-companion--success{background:linear-gradient(145deg,#fff 30%,#eafaf1 100%);border-color:#c4ead4}
.bry-companion--success:before{background:rgba(41,190,112,.16)}
.bry-companion--retry{background:linear-gradient(145deg,#fff 30%,#fff0f4 100%);border-color:#f3ced9}
.bry-companion--retry:before{background:rgba(243,86,130,.14)}
.bry-companion--audio{background:linear-gradient(145deg,#fff 30%,#edf2ff 100%);border-color:#d6defb}
.bry-companion--audio:before{background:rgba(64,100,245,.13)}
.bry-companion--read{background:linear-gradient(145deg,#fff 30%,#eff8ff 100%)}
.bry-companion--write{background:linear-gradient(145deg,#fff 30%,#f1f0ff 100%);border-color:#ddd8ff}
.bry-companion--write:before{background:rgba(92,57,216,.12)}
.bry-companion--motivate{background:linear-gradient(145deg,#fff 30%,#fff8df 100%);border-color:#f0df9a}
.bry-companion--notice{background:linear-gradient(145deg,#fff 30%,#f6f0ff 100%);border-color:#e2d4ff}
.bry-companion--love{background:linear-gradient(145deg,#fff 30%,#fff0f5 100%);border-color:#f3d0dd}
.bry-companion--welcome{background:linear-gradient(145deg,#fff 30%,#edf8ff 100%)}

.bry-auth-companion{
  display:grid;
  grid-template-columns:92px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:9px 12px 9px 4px;
  margin:-10px 0 18px;
  border:1px solid #d8e5f7;
  border-radius:18px;
  background:linear-gradient(145deg,#fff,#eff6ff);
  overflow:hidden;
}
.bry-auth-companion img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 7px 10px rgba(7,27,77,.12))}
.bry-auth-companion strong{display:block;color:var(--bry-navy);font-size:14px;margin-bottom:3px}
.bry-auth-companion span{display:block;color:var(--muted);font-size:11px;line-height:1.4}

.bry-gamification-duo{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:14px 0 4px;
}
.bry-mini-companion{
  min-width:0;
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  align-items:center;
  gap:7px;
  min-height:90px;
  padding:7px 12px 7px 2px;
  border:1px solid #dce6f6;
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#f1f7ff);
  overflow:hidden;
}
.bry-mini-companion img{width:78px;height:82px;object-fit:contain;align-self:end;filter:drop-shadow(0 6px 8px rgba(7,27,77,.1))}
.bry-mini-companion span{font-size:11px;line-height:1.35;color:var(--muted)}
.bry-mini-companion strong{display:block;color:var(--bry-navy);font-size:13px;margin-bottom:2px}

.bry-certificate-mascot{width:130px;height:130px;object-fit:contain;margin:-28px auto -8px;display:block}

@media(max-width:850px){
  .bry-head-layout--section{margin-bottom:24px}
  .bry-gamification-duo{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .bry-gamification-duo{grid-template-columns:1fr}
  .bry-mini-companion{grid-template-columns:68px minmax(0,1fr)}
  .bry-mini-companion img{width:68px;height:72px}
  .bry-auth-companion{grid-template-columns:76px minmax(0,1fr)}
  .bry-auth-companion img{width:76px;height:78px}
}
@media print{.bry-certificate-mascot{display:none!important}}

/* =========================================================
   BryLearn · FASE 3.1 — Movimiento inicial seguro de BRY
   Entrada suave + respiración + saludo/celebración contextual.
   Solo CSS: no modifica lógica, progreso ni evaluaciones.
   ========================================================= */
img[src*="/public/img/bry/"]{
  transform-origin:50% 88%;
  opacity:0;
  translate:0 12px;
  scale:1;
  rotate:0deg;
  will-change:opacity,translate,scale,rotate;
  animation-name:bryAppear,bryBreathe;
  animation-duration:.55s,4.2s;
  animation-delay:.08s,.72s;
  animation-timing-function:cubic-bezier(.2,.85,.25,1),ease-in-out;
  animation-iteration-count:1,infinite;
  animation-fill-mode:forwards,both;
}

/* BRY de bienvenida hace un pequeño saludo al entrar. */
img[src*="bry-saludando.png"]{
  animation-name:bryAppear,bryBreathe,bryHello;
  animation-duration:.55s,4.2s,1.15s;
  animation-delay:.08s,1.75s,.62s;
  animation-timing-function:cubic-bezier(.2,.85,.25,1),ease-in-out,ease-in-out;
  animation-iteration-count:1,infinite,1;
  animation-fill-mode:forwards,both,none;
}

/* BRY de celebración/logro/racha rebota una vez y luego queda respirando. */
img[src*="bry-celebrando.png"],
img[src*="bry-logro.png"],
img[src*="bry-racha.png"]{
  animation-name:bryAppear,bryBreathe,bryCelebrate;
  animation-duration:.55s,4.2s,1.05s;
  animation-delay:.08s,1.7s,.64s;
  animation-timing-function:cubic-bezier(.2,.85,.25,1),ease-in-out,cubic-bezier(.2,.8,.3,1);
  animation-iteration-count:1,infinite,1;
  animation-fill-mode:forwards,both,none;
}

@keyframes bryAppear{
  0%{opacity:0;translate:0 14px}
  65%{opacity:1;translate:0 -3px}
  100%{opacity:1;translate:0 0}
}
@keyframes bryBreathe{
  0%,100%{scale:1}
  50%{scale:1.018}
}
@keyframes bryHello{
  0%,100%{rotate:0deg}
  22%{rotate:-2.2deg}
  45%{rotate:2deg}
  68%{rotate:-1.2deg}
  84%{rotate:.6deg}
}
@keyframes bryCelebrate{
  0%,100%{translate:0 0}
  28%{translate:0 -10px}
  48%{translate:0 1px}
  68%{translate:0 -5px}
  84%{translate:0 0}
}

/* Accesibilidad: respeta usuarios que prefieren menos movimiento. */
@media(prefers-reduced-motion:reduce){
  img[src*="/public/img/bry/"]{
    opacity:1!important;
    translate:0 0!important;
    scale:1!important;
    rotate:0deg!important;
    animation:none!important;
  }
}

/* =========================================================
   BryLearn · FASE 3.2 — Ajuste visual portada aprobado
   Cabecera navy + hero limpio + BRY más grande.
   ========================================================= */
.landing-home .site-header{
  background:linear-gradient(100deg,#06183f 0%,#08245b 58%,#071b4d 100%);
  border-bottom:1px solid rgba(127,165,232,.26);
  box-shadow:0 8px 26px rgba(6,24,63,.18);
  backdrop-filter:blur(18px);
}
.landing-home .site-header .logo{
  background:linear-gradient(90deg,#ffffff 0 28%,#5bd8ff 54%,#7e78ff 100%);
  background-clip:text;
  -webkit-background-clip:text;
  color:transparent;
}
.landing-home .site-header .navlinks{color:#d9e5ff}
.landing-home .site-header .navlinks a{color:#d9e5ff}
.landing-home .site-header .navlinks a:hover{color:#ffffff}
.landing-home .site-header .menu{color:#ffffff}
.landing-home .site-header .btn-soft{
  background:#fff3cf;
  color:#071b4d;
  border-color:#f2d77f;
  box-shadow:none;
}
.landing-home .site-header .btn-primary{
  color:#fff;
  border-color:rgba(255,255,255,.12);
}

/* Hero: sin tarjetas que oculten a BRY. */
.landing-home .bry-welcome-window{
  justify-content:flex-end;
  padding:14px 22px 0;
}
.landing-home .bry-welcome-window:before{
  width:285px;
  height:285px;
  right:44px;
  top:48px;
}
.landing-home .hero-bry-img{
  width:min(330px,76%);
  max-height:388px;
  object-fit:contain;
  margin-right:8px;
  filter:drop-shadow(0 24px 34px rgba(16,52,115,.24));
}
.landing-home .bry-xp-note{
  left:20px;
  right:auto;
  bottom:24px;
  z-index:5;
  min-width:145px;
  padding:12px 14px;
  border:1px solid #d6e4f6;
  border-radius:16px;
  background:rgba(255,255,255,.96);
  color:#0a2356;
  box-shadow:0 12px 28px rgba(20,55,112,.13);
}
.landing-home .bry-xp-note strong{font-size:13px;color:#0a2356}
.landing-home .bry-xp-note small{display:block;margin-top:3px;color:#65769a}

@media(max-width:850px){
  .landing-home .site-header .navlinks{
    background:#08245b;
    border-color:#23467f;
  }
  .landing-home .site-header .navlinks a{color:#e8efff}
  .landing-home .bry-welcome-window{padding:10px 14px 0}
  .landing-home .bry-welcome-window:before{width:220px;height:220px;right:34px;top:62px}
  .landing-home .hero-bry-img{width:min(265px,74%);max-height:326px;margin-right:0}
  .landing-home .bry-xp-note{left:14px;bottom:16px;min-width:132px;padding:10px 12px}
}
@media(max-width:560px){
  .landing-home .bry-welcome-window{display:flex;min-height:310px;align-items:flex-end;justify-content:center;padding:10px 8px 0}
  .landing-home .bry-welcome-window:before{right:50%;transform:translateX(50%);top:56px;width:205px;height:205px}
  .landing-home .hero-bry-img{width:235px;max-width:74%;margin:0 auto}
  .landing-home .bry-xp-note{left:10px;bottom:12px;min-width:auto;font-size:11px}
}

/* =========================================================
   BryLearn Fase 4A · Lecciones por pasos (sin quitar contenido)
   ========================================================= */
.unit-learning-shell{display:grid;gap:18px}
.unit-learning-head{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:end;gap:18px}
.lesson-step-progress{height:10px;background:#e9eef8;border-radius:999px;overflow:hidden;border:1px solid rgba(25,121,255,.12)}
.lesson-step-progress span{display:block;height:100%;width:20%;border-radius:inherit;background:linear-gradient(90deg,var(--bry-blue,#1979ff),var(--bry-purple,#6f4bf5));transition:width .25s ease}
.lesson-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:10px;border:1px solid rgba(25,121,255,.14);border-radius:18px;background:rgba(247,250,255,.9)}
.lesson-step-tab{min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 8px;border:1px solid transparent;border-radius:13px;background:transparent;color:#526484;font-weight:800;cursor:pointer;transition:.18s ease}
.lesson-step-tab b{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:#e6eefb;color:#2b5fb7;font-size:12px}
.lesson-step-tab:hover{background:#fff;border-color:#cddcf5;transform:translateY(-1px)}
.lesson-step-tab.active{background:#071b4d;color:#fff;border-color:#173e84;box-shadow:0 9px 22px rgba(7,27,77,.16)}
.lesson-step-tab.active b{background:#fff;color:#176fff}
.lesson-step-panel{animation:lessonStepIn .2s ease}
.lesson-step-panel.hidden{display:none!important}
.lesson-focus-card{padding:22px;border:1px solid rgba(25,121,255,.16);border-radius:20px;background:linear-gradient(180deg,#fff 0%,#f9fbff 100%);box-shadow:0 10px 28px rgba(26,62,125,.07)}
.lesson-focus-card>h3{margin-top:24px}
.lesson-focus-card>.activity-label:first-child{display:inline-flex;margin-bottom:16px;color:#6741d9;background:#f0ebff;border:1px solid #ddd2ff;padding:6px 9px;border-radius:999px}
.lesson-explanation{margin:16px 0;padding:17px 18px;border-left:4px solid #277cff;border-radius:0 14px 14px 0;background:#eef6ff;color:#18325f}
.lesson-explanation strong{display:block;margin-bottom:6px;color:#075bd7}
.lesson-explanation p{margin:0;line-height:1.7;color:#425a7d}
.lesson-objective{border-radius:15px;background:#fff8dc;border:1px solid #f5dfa0;padding:15px 16px}
.lesson-objective p{margin:6px 0 0}
.lesson-step-actions{position:sticky;bottom:12px;z-index:8;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid rgba(22,67,145,.16);border-radius:17px;background:rgba(255,255,255,.94);box-shadow:0 12px 34px rgba(15,45,100,.14);backdrop-filter:blur(12px)}
.lesson-step-actions #lessonStepCounter{text-align:center;font-weight:800;color:#667797}
.lesson-final-quiz{min-width:210px}
@keyframes lessonStepIn{from{opacity:.25;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:850px){
  .unit-learning-head{grid-template-columns:1fr}
  .lesson-stepper{display:flex;overflow-x:auto;justify-content:flex-start;scrollbar-width:thin;padding:8px}
  .lesson-step-tab{flex:0 0 auto;padding:9px 12px}
  .lesson-focus-card{padding:17px;border-radius:17px}
  .lesson-step-actions{bottom:8px;grid-template-columns:1fr 1fr}
  .lesson-step-actions #lessonStepCounter{grid-column:1/-1;grid-row:1}
  .lesson-step-actions #lessonPrev,.lesson-step-actions #lessonNext{grid-row:2;width:100%}
}
@media(max-width:480px){
  .lesson-step-tab span{font-size:12px}
  .lesson-step-tab b{width:22px;height:22px;flex-basis:22px}
  .lesson-focus-card{padding:14px}
}
@media(prefers-reduced-motion:reduce){.lesson-step-panel{animation:none}.lesson-step-progress span{transition:none}}

/* Fase 4B · Selección múltiple visual (evaluaciones y checkpoints) */
.mcq-head{
  display:grid;
  gap:5px;
  margin-bottom:16px;
  padding:17px 18px;
  border:1px solid rgba(54,104,220,.20);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(27,111,255,.10),rgba(111,77,238,.07));
}
.mcq-head strong{font-size:18px;color:var(--ink)}
.mcq-head small{color:var(--muted)}
.mcq-form{display:grid;gap:16px;margin-top:14px}
.mcq-question{
  min-width:0;
  margin:0;
  padding:18px;
  border:1px solid rgba(42,81,158,.20);
  border-radius:20px;
  background:rgba(255,255,255,.94);
  box-shadow:0 10px 26px rgba(16,49,105,.06);
}
.mcq-question legend{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:0 2px 12px;
  color:var(--ink);
  line-height:1.45;
}
.mcq-number{
  display:grid;
  place-items:center;
  flex:0 0 29px;
  width:29px;
  height:29px;
  border-radius:9px;
  background:linear-gradient(135deg,#1979ff,#6b4cf0);
  color:#fff;
  font-size:13px;
  font-weight:900;
  box-shadow:0 6px 14px rgba(35,101,225,.22);
}
.mcq-options{display:grid;gap:10px}
.mcq-option{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:56px;
  padding:12px 14px;
  border:2px solid #d9e3f6;
  border-radius:15px;
  background:#fff;
  color:#142852;
  cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease,background .16s ease;
}
.mcq-option:hover{
  transform:translateY(-1px);
  border-color:#8fb9ff;
  background:#f7faff;
  box-shadow:0 8px 20px rgba(29,103,231,.09);
}
.mcq-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mcq-selector{
  position:relative;
  width:24px;
  height:24px;
  border:2px solid #9eb3d7;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 4px #fff;
  transition:.16s ease;
}
.mcq-option input:checked + .mcq-selector{
  border-color:#276eff;
  background:#276eff;
  box-shadow:inset 0 0 0 5px #fff,0 0 0 4px rgba(39,110,255,.12);
}
.mcq-option:has(input:checked){
  border-color:#276eff;
  background:linear-gradient(135deg,#eef5ff,#f4f0ff);
  box-shadow:0 10px 24px rgba(39,110,255,.13);
}
.mcq-option-text{font-weight:760;line-height:1.4}
.mcq-option:has(input:focus-visible){
  outline:3px solid rgba(39,110,255,.28);
  outline-offset:2px;
}
.mcq-submit{justify-self:start;margin-top:2px;min-width:220px}
@media(max-width:650px){
  .mcq-head{padding:14px;border-radius:15px}
  .mcq-question{padding:14px;border-radius:16px}
  .mcq-option{grid-template-columns:25px minmax(0,1fr);min-height:52px;padding:11px 12px;border-radius:13px}
  .mcq-selector{width:22px;height:22px}
  .mcq-submit{width:100%;min-width:0}
}

/* Fase 4C · A1: reading/listening con tarjetas de selección múltiple */
.skill-mcq-list{
  display:grid;
  gap:14px;
  margin:18px 0;
}
.skill-mcq-question{
  min-width:0;
  margin:0;
  padding:17px;
  border:1px solid rgba(42,81,158,.18);
  border-radius:18px;
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  box-shadow:0 9px 24px rgba(20,58,126,.055);
}
.skill-mcq-question legend{
  width:100%;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:0 2px 12px;
  color:var(--ink);
  line-height:1.45;
}
.skill-mcq-option{
  min-height:58px;
  border-color:#d7e3f7;
}
.skill-mcq-option:hover{
  border-color:#78aaff;
}
.skill-mcq-option:has(input:checked){
  border-color:#1f6fff;
  background:linear-gradient(135deg,#edf5ff,#f5f0ff);
  box-shadow:0 11px 25px rgba(31,111,255,.13);
}
.activity-block:has(.skill-mcq-list) > #checkReading,
.activity-block:has(.skill-mcq-list) > #checkListening{
  min-width:190px;
  border-color:#7ea9f4;
  background:#f5f9ff;
  color:#124ca9;
}
@media(max-width:650px){
  .skill-mcq-list{gap:11px;margin:15px 0}
  .skill-mcq-question{padding:13px;border-radius:15px}
  .skill-mcq-option{min-height:52px}
  .activity-block:has(.skill-mcq-list) > #checkReading,
  .activity-block:has(.skill-mcq-list) > #checkListening{width:100%}
}

/* =========================================================
   BryLearn · FASE 4D — Reacciones contextuales de BRY
   ========================================================= */
.bry-reaction-toast{
  position:fixed;
  right:22px;
  bottom:86px;
  z-index:120;
  display:grid;
  grid-template-columns:118px minmax(160px,250px);
  align-items:center;
  gap:10px;
  width:min(390px,calc(100vw - 28px));
  padding:12px 16px 12px 8px;
  border:1px solid rgba(42,91,178,.2);
  border-radius:24px;
  background:rgba(255,255,255,.97);
  color:var(--bry-navy,#071b4d);
  box-shadow:0 22px 58px rgba(8,37,91,.22);
  backdrop-filter:blur(14px);
  pointer-events:none;
  opacity:0;
  translate:18px 12px;
  scale:.96;
  transition:opacity .24s ease,translate .28s cubic-bezier(.2,.8,.3,1),scale .28s cubic-bezier(.2,.8,.3,1);
}
.bry-reaction-toast.is-visible{opacity:1;translate:0 0;scale:1}
.bry-reaction-toast img{
  width:118px;
  height:118px;
  object-fit:contain;
  display:block;
  margin:-24px 0 -10px;
}
.bry-reaction-copy{display:grid;gap:5px;min-width:0}
.bry-reaction-copy strong{font-size:17px;line-height:1.15;color:var(--bry-navy,#071b4d)}
.bry-reaction-copy span{font-size:13px;line-height:1.4;color:#56657d}
.bry-reaction-xp{
  justify-self:start;
  margin-top:3px;
  padding:6px 10px;
  border-radius:999px;
  background:linear-gradient(90deg,#0878ff,#6258ee);
  color:#fff;
  font-size:13px;
  letter-spacing:.2px;
  box-shadow:0 7px 18px rgba(50,96,220,.22);
}
.bry-reaction-success{border-color:rgba(20,170,112,.26)}
.bry-reaction-retry{border-color:rgba(230,102,115,.3);background:rgba(255,249,250,.98)}
.bry-reaction-achievement{border-color:rgba(245,187,44,.38);background:linear-gradient(180deg,#fffdf5,#fff)}
.bry-reaction-streak{border-color:rgba(255,143,47,.35);background:linear-gradient(180deg,#fff9f0,#fff)}
@media(max-width:600px){
  .bry-reaction-toast{
    left:12px;
    right:12px;
    bottom:78px;
    width:auto;
    grid-template-columns:92px minmax(0,1fr);
    padding:10px 13px 10px 5px;
    border-radius:20px;
  }
  .bry-reaction-toast img{width:92px;height:92px;margin:-18px 0 -6px}
  .bry-reaction-copy strong{font-size:15px}
  .bry-reaction-copy span{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  .bry-reaction-toast{transition:none;translate:0 0;scale:1}
}

/* Fase 4E · Explicaciones visuales y detalladas */
.lesson-card-kicker{display:block;margin-bottom:6px;font-size:10px;font-weight:950;letter-spacing:1.35px;color:#176fff}
.lesson-intro-card{background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}
.lesson-bry-explains{display:grid;grid-template-columns:170px minmax(0,1fr);gap:22px;align-items:center;margin:18px 0;padding:20px 22px;border:1px solid #cfe0ff;border-radius:22px;background:linear-gradient(135deg,#eef6ff 0%,#f7f3ff 100%);box-shadow:0 12px 30px rgba(25,86,184,.09);overflow:hidden;position:relative}
.lesson-bry-explains:after{content:"";position:absolute;right:-70px;top:-95px;width:210px;height:210px;border-radius:50%;background:rgba(118,78,245,.08);pointer-events:none}
.lesson-bry-figure{position:relative;z-index:1;text-align:center;align-self:end}
.lesson-bry-figure img{display:block;width:155px;height:170px;object-fit:contain;margin:-8px auto 4px;filter:drop-shadow(0 13px 18px rgba(34,74,140,.16))}
.lesson-bry-figure span{display:inline-flex;padding:6px 10px;border-radius:999px;background:#071b4d;color:#fff;font-size:11px;font-weight:900;letter-spacing:.4px}
.lesson-bry-copy{position:relative;z-index:1}
.lesson-bry-copy h3{margin:0 0 9px;font-size:25px;letter-spacing:-.7px;color:#102f68}
.lesson-bry-copy p{margin:0;color:#425a7d;font-size:16px;line-height:1.78}
.lesson-objective{position:relative;padding:17px 18px 17px 22px!important;border:1px solid #f2d980!important;border-left:5px solid #f1bd20!important;background:linear-gradient(135deg,#fff9df,#fffdf4)!important;box-shadow:0 8px 22px rgba(140,103,12,.06)}
.lesson-objective strong{display:block;color:#7c5900;font-size:16px}
.lesson-objective p{color:#5e6777;line-height:1.65}
.lesson-learn-card{background:linear-gradient(180deg,#fff,#fbfcff)}
.lesson-section-heading{display:flex;align-items:center;gap:12px;margin:28px 0 12px;padding-bottom:10px;border-bottom:1px solid #e3eaf6}
.lesson-section-heading:first-of-type{margin-top:8px}
.lesson-section-heading>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:13px;background:#071b4d;color:#fff;font-size:12px;font-weight:950;box-shadow:0 7px 18px rgba(7,27,77,.16)}
.lesson-section-heading small{display:block;margin-bottom:2px;color:#6c4ce6;font-size:9px;font-weight:950;letter-spacing:1.35px}
.lesson-section-heading h3{margin:0;color:#17386f;font-size:21px;letter-spacing:-.35px}
.lesson-grammar-summary{padding:18px 20px;border:1px solid #bcd4ff;border-left:5px solid #1979ff;border-radius:16px;background:#eef6ff;box-shadow:0 8px 22px rgba(25,121,255,.06)}
.lesson-grammar-summary p{margin:0;color:#274b7d;font-size:16px;line-height:1.78;font-weight:650}
.lesson-detail-card{margin-top:12px;border:1px solid #d9e3f4;border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 5px 16px rgba(25,60,120,.04)}
.lesson-detail-card summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;color:#223e6c;background:#f8faff}
.lesson-detail-card summary::-webkit-details-marker{display:none}
.lesson-detail-card summary span{display:grid;gap:3px;min-width:0}
.lesson-detail-card summary small{font-size:9px;font-weight:950;letter-spacing:1.15px;color:#6d4fe8}
.lesson-detail-card summary strong{font-size:14px;line-height:1.35}
.lesson-detail-card summary b{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#eaf1ff;color:#176fff;font-size:10px;font-weight:900}
.lesson-detail-card[open] summary{border-bottom:1px solid #e3eaf6;background:#f2f7ff}
.lesson-detail-card[open] summary b{background:#071b4d;color:#fff}
.lesson-detail-body{padding:15px 16px}
.lesson-rule-list,.lesson-trap-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lesson-rule-item,.lesson-trap-item{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:start;padding:12px;border:1px solid #e0e8f5;border-radius:13px;background:#fbfcff}
.lesson-rule-item>span,.lesson-trap-item>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#e8f1ff;color:#176fff;font-size:11px;font-weight:950}
.lesson-rule-item p,.lesson-trap-item p{margin:2px 0 0;color:#4d6282;line-height:1.6;font-size:13px}
.lesson-detail-warning summary{background:#fff9ef}
.lesson-detail-warning summary small{color:#d07600}
.lesson-detail-warning[open] summary{background:#fff5e2}
.lesson-trap-item{border-color:#f0dfbd;background:#fffaf2}
.lesson-trap-item>span{background:#ffedd0;color:#b65e00}
.lesson-practice-list ol,.lesson-answer-models ol{margin:0;padding-left:22px}
.lesson-practice-list li,.lesson-answer-models li{margin:8px 0;line-height:1.6;color:#4b5f7e}
.lesson-vocab-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lesson-vocab-grid>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding:13px 14px!important;border:1px solid #d9e5f6!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 13px rgba(22,62,127,.04)}
.lesson-vocab-copy{display:grid;gap:3px;min-width:0}
.lesson-vocab-copy strong{color:#17396e;font-size:15px}
.lesson-vocab-copy span{color:#6e7d94!important;font-size:12px!important}
.lesson-vocab-grid .speak-word{width:36px;height:36px;border-radius:11px;background:#eaf3ff;color:#176fff;border:1px solid #cfe0fb}
.lesson-example-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lesson-example-card{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px;align-items:start;padding:14px 15px;border:1px solid #ded9fb;border-radius:14px;background:linear-gradient(135deg,#fbfaff,#f5f2ff)}
.lesson-example-card>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#7150e8;color:#fff;font-size:11px;font-weight:950}
.lesson-example-card p{margin:3px 0 0;color:#4c5471;line-height:1.6;font-size:13px}
@media(max-width:760px){
  .lesson-bry-explains{grid-template-columns:112px minmax(0,1fr);gap:14px;padding:16px}
  .lesson-bry-figure img{width:108px;height:126px}
  .lesson-bry-copy h3{font-size:21px}
  .lesson-bry-copy p{font-size:14px;line-height:1.65}
  .lesson-rule-list,.lesson-trap-grid,.lesson-vocab-grid,.lesson-example-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .lesson-bry-explains{grid-template-columns:1fr;text-align:left;padding:15px}
  .lesson-bry-figure{display:flex;align-items:center;gap:10px;text-align:left}
  .lesson-bry-figure img{width:82px;height:86px;margin:-4px 0 0}
  .lesson-bry-copy h3{font-size:19px}
  .lesson-section-heading{margin-top:22px}
  .lesson-section-heading>span{width:35px;height:35px;flex-basis:35px}
  .lesson-detail-card summary{align-items:flex-start}
}

/* Fase 5A · Sistema unificado de iconos BryLearn */
.bry-inline-icon{display:inline-block;width:18px;height:18px;vertical-align:-3px;margin-right:7px;flex:0 0 auto;background:currentColor;-webkit-mask:var(--bry-icon) center/contain no-repeat;mask:var(--bry-icon) center/contain no-repeat}
.bry-inline-icon--globe{--bry-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M3%2012h18%22%2F%3E%3Cpath%20d%3D%22M12%203a15%2015%200%200%201%200%2018%22%2F%3E%3Cpath%20d%3D%22M12%203a15%2015%200%200%200%200%2018%22%2F%3E%3C%2Fsvg%3E")}
.bry-inline-icon--flame{--bry-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M13%2022c4%200%207-3%207-7%200-3-2-6-5-9%200%203-2%204-3%205%200-4-2-7-5-9%201%205-3%207-3%2012%200%204%204%208%209%208Z%22%2F%3E%3Cpath%20d%3D%22M12%2022c-2%200-4-1.5-4-4%200-2%201-3%203-5%200%202%201%203%202%204%200-2%201-3%202-4%201%202%202%203%202%205%200%202.5-2%204-5%204Z%22%2F%3E%3C%2Fsvg%3E")}
.bry-inline-icon--diamond{--bry-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M5%204h14l3%205-10%2012L2%209l3-5Z%22%2F%3E%3Cpath%20d%3D%22m2%209%2010%203%2010-3M9%204l3%208%203-8%22%2F%3E%3C%2Fsvg%3E")}
.bry-inline-icon--target{--bry-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%225%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221.5%22%2F%3E%3Cpath%20d%3D%22m17%207%204-4M18%203h3v3%22%2F%3E%3C%2Fsvg%3E")}
.bry-inline-icon--trophy{--bry-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M8%203h8v4a4%204%200%200%201-8%200V3Z%22%2F%3E%3Cpath%20d%3D%22M8%205H4v2a4%204%200%200%200%204%204M16%205h4v2a4%204%200%200%201-4%204%22%2F%3E%3Cpath%20d%3D%22M12%2011v5M8%2021h8M10%2016h4v5%22%2F%3E%3C%2Fsvg%3E")}
.bry-inline-icon--lock{--bry-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E")}
.bry-inline-icon--certificate{--bry-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M6%203h12v12H6z%22%2F%3E%3Cpath%20d%3D%22M9%207h6M9%2010h6%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2217%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22m10.5%2019.5-1%203%202.5-1.3%202.5%201.3-1-3%22%2F%3E%3C%2Fsvg%3E")}
.bry-inline-icon--work{--bry-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%207V4h8v3M3%2012h18M10%2012v2h4v-2%22%2F%3E%3C%2Fsvg%3E")}
.bry-icon-line{display:flex;align-items:center;gap:3px}
.eyebrow .bry-inline-icon{width:15px;height:15px;margin-right:5px;vertical-align:-2px}
.side-premium-title{display:flex;align-items:center;gap:2px}
.side nav a{display:flex;align-items:center;gap:11px}
.side nav a::before{content:"";width:19px;height:19px;flex:0 0 19px;background:currentColor;opacity:.88;-webkit-mask:var(--bry-nav-icon) center/contain no-repeat;mask:var(--bry-nav-icon) center/contain no-repeat}
.side nav a[href="/pages/dashboard.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M3%2011.5%2012%204l9%207.5%22%2F%3E%3Cpath%20d%3D%22M5.5%2010.5V20h5v-5h3v5h5v-9.5%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/cursos.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%205.5A3.5%203.5%200%200%201%207.5%202H12v18H7.5A3.5%203.5%200%200%200%204%2023V5.5Z%22%2F%3E%3Cpath%20d%3D%22M20%205.5A3.5%203.5%200%200%200%2016.5%202H12v18h4.5A3.5%203.5%200%200%201%2020%2023V5.5Z%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/progreso.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%2020V10%22%2F%3E%3Cpath%20d%3D%22M10%2020V4%22%2F%3E%3Cpath%20d%3D%22M16%2020v-7%22%2F%3E%3Cpath%20d%3D%22M22%2020H2%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/onboarding.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%225%22%20cy%3D%2218%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2219%22%20cy%3D%226%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%2018h3a5%205%200%200%200%205-5V9%22%2F%3E%3Cpath%20d%3D%22m12%2010%203-3%203%203%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/certificados.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M6%203h12v12H6z%22%2F%3E%3Cpath%20d%3D%22M9%207h6M9%2010h6%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2217%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22m10.5%2019.5-1%203%202.5-1.3%202.5%201.3-1-3%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/errores.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M20%207v5h-5%22%2F%3E%3Cpath%20d%3D%22M18.5%2017a8%208%200%201%201%20.5-10l1%201%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/notificaciones.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M18%208a6%206%200%200%200-12%200c0%207-3%207-3%209h18c0-2-3-2-3-9%22%2F%3E%3Cpath%20d%3D%22M10%2021h4%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/leaderboard.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M3%2012h18%22%2F%3E%3Cpath%20d%3D%22M12%203a15%2015%200%200%201%200%2018%22%2F%3E%3Cpath%20d%3D%22M12%203a15%2015%200%200%200%200%2018%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/ai.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M21%2014a4%204%200%200%201-4%204H9l-5%203v-3a4%204%200%200%201-2-4V7a4%204%200%200%201%204-4h11a4%204%200%200%201%204%204v7Z%22%2F%3E%3Cpath%20d%3D%22M7%2010h.01M12%2010h.01M17%2010h.01%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/perfil.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22%2F%3E%3Cpath%20d%3D%22M4%2021a8%208%200%200%201%2016%200%22%2F%3E%3C%2Fsvg%3E")}
.side nav a[href="/pages/premium.html"]{--bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M5%204h14l3%205-10%2012L2%209l3-5Z%22%2F%3E%3Cpath%20d%3D%22m2%209%2010%203%2010-3M9%204l3%208%203-8%22%2F%3E%3C%2Fsvg%3E")}
.side nav a.active::before{opacity:1}
.tutor-mode{display:flex;align-items:center;gap:10px}
.tutor-mode::before{content:"";width:19px;height:19px;flex:0 0 19px;background:currentColor;-webkit-mask:var(--bry-mode-icon) center/contain no-repeat;mask:var(--bry-mode-icon) center/contain no-repeat}
.tutor-mode[data-mode="conversation"]{--bry-mode-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M21%2014a4%204%200%200%201-4%204H9l-5%203v-3a4%204%200%200%201-2-4V7a4%204%200%200%201%204-4h11a4%204%200%200%201%204%204v7Z%22%2F%3E%3Cpath%20d%3D%22M7%2010h.01M12%2010h.01M17%2010h.01%22%2F%3E%3C%2Fsvg%3E")}
.tutor-mode[data-mode="situations"]{--bry-mode-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Cpath%20d%3D%22M3%2012h18%22%2F%3E%3Cpath%20d%3D%22M12%203a15%2015%200%200%201%200%2018%22%2F%3E%3Cpath%20d%3D%22M12%203a15%2015%200%200%200%200%2018%22%2F%3E%3C%2Fsvg%3E")}
.tutor-mode[data-mode="grammar"]{--bry-mode-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M4%205.5A3.5%203.5%200%200%201%207.5%202H12v18H7.5A3.5%203.5%200%200%200%204%2023V5.5Z%22%2F%3E%3Cpath%20d%3D%22M20%205.5A3.5%203.5%200%200%200%2016.5%202H12v18h4.5A3.5%203.5%200%200%201%2020%2023V5.5Z%22%2F%3E%3C%2Fsvg%3E")}
.tutor-mode[data-mode="correct"]{--bry-mode-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%22M6%203h12v12H6z%22%2F%3E%3Cpath%20d%3D%22M9%207h6M9%2010h6%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2217%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22m10.5%2019.5-1%203%202.5-1.3%202.5%201.3-1-3%22%2F%3E%3C%2Fsvg%3E")}
.tutor-mode[data-mode="level"]{--bry-mode-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%229%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%225%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%221.5%22%2F%3E%3Cpath%20d%3D%22m17%207%204-4M18%203h3v3%22%2F%3E%3C%2Fsvg%3E")}
.tutor-mode[data-mode="work"]{--bry-mode-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%207V4h8v3M3%2012h18M10%2012v2h4v-2%22%2F%3E%3C%2Fsvg%3E")}
@media(max-width:850px){.side nav a{padding:12px 12px!important}.side nav a::before{width:18px;height:18px;flex-basis:18px}}

/* =========================================================
   Fase 6 · Practica con BRY: entrada simplificada
   ========================================================= */
.practice-bry-page{padding-bottom:72px}
.practice-bry-head{margin-bottom:18px}
.practice-access-ok{margin-bottom:18px;background:#eef9f2!important;color:#285d43!important;border-color:#ccebd7!important}
.practice-home{display:grid;gap:20px}
.practice-welcome-panel{
  position:relative;
  min-height:250px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 240px;
  align-items:center;
  gap:22px;
  overflow:hidden;
  padding:30px 34px;
  border:1px solid #d7e2fb;
  border-radius:28px;
  background:linear-gradient(135deg,#ffffff 0%,#f4f8ff 58%,#edf2ff 100%);
  box-shadow:0 18px 45px rgba(18,55,120,.09);
}
.practice-welcome-panel:before{
  content:"";
  position:absolute;
  width:250px;
  height:250px;
  right:-38px;
  bottom:-70px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,210,72,.52),rgba(255,210,72,0) 70%);
}
.practice-welcome-copy{position:relative;z-index:2;max-width:690px}
.practice-welcome-copy h2{margin:8px 0 10px;font-size:clamp(30px,4vw,44px);letter-spacing:-1.8px;color:var(--bry-navy,#071b4d)}
.practice-welcome-copy p{max-width:640px;margin:0;color:var(--muted);font-size:16px;line-height:1.65}
.practice-home-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.practice-home-meta span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 11px;
  border:1px solid #d8e1f6;
  border-radius:999px;
  background:#fff;
  color:#344767;
  font-size:12px;
  font-weight:800;
}
.practice-home-bry{
  position:relative;
  z-index:2;
  display:block;
  width:230px;
  height:220px;
  object-fit:contain;
  justify-self:end;
  align-self:end;
  filter:drop-shadow(0 18px 25px rgba(30,66,135,.16));
}
.practice-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.practice-choice{
  appearance:none;
  width:100%;
  min-height:118px;
  display:grid;
  grid-template-columns:46px minmax(0,1fr) 34px;
  gap:14px;
  align-items:center;
  padding:20px;
  border:1px solid #dae3f6;
  border-radius:22px;
  background:#fff;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  box-shadow:0 10px 28px rgba(17,54,116,.06);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.practice-choice:hover,.practice-choice:focus-visible{
  transform:translateY(-2px);
  border-color:#7aa5ff;
  box-shadow:0 16px 34px rgba(32,89,190,.13);
  outline:none;
}
.practice-choice--conversation{background:linear-gradient(145deg,#fff 48%,#eef7ff 100%)}
.practice-choice--quick{background:linear-gradient(145deg,#fff 48%,#f2efff 100%)}
.practice-choice--grammar{background:linear-gradient(145deg,#fff 48%,#fff8df 100%)}
.practice-choice--errors{background:linear-gradient(145deg,#fff 48%,#fff0f2 100%)}
.practice-choice-number{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#071b4d;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.7px;
}
.practice-choice-copy{display:grid;gap:5px;min-width:0}
.practice-choice-copy strong{font-size:18px;letter-spacing:-.35px;color:#102958}
.practice-choice-copy small{color:var(--muted);font-size:13px;line-height:1.45}
.practice-choice-arrow{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  justify-self:end;
  border-radius:50%;
  background:#edf3ff;
  color:#2368dd;
  font-size:18px;
  font-weight:900;
}
.practice-more-wrap{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  padding:15px 18px;
  border:1px solid #e1e7f3;
  border-radius:18px;
  background:rgba(255,255,255,.76);
}
.practice-more-actions{display:flex;gap:8px;flex-wrap:wrap}
.practice-more-actions .btn{font-size:12px;padding:9px 12px}
.practice-choice-locked{opacity:.7}
.tutor-layout--simplified{grid-template-columns:245px minmax(0,1fr);max-width:1120px;margin:20px auto 0}
.tutor-controls--simplified{padding:18px;position:sticky;top:18px}
.tutor-back{width:100%;margin-bottom:18px}
.tutor-controls--simplified #scenarioBox{padding-bottom:16px;border-bottom:1px solid var(--line)}
.tutor-more-controls{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.tutor-more-controls summary{cursor:pointer;color:#31558e;font-size:12px;font-weight:850}
.tutor-more-controls .tutor-modes{margin:12px 0 0}
.tutor-engine-note{margin-top:16px!important;font-size:12px}
.tutor-chat--focused{
  min-height:600px;
  border:1px solid #dbe4f5;
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 45px rgba(17,54,116,.08);
  overflow:hidden;
}
.tutor-session-head{padding:18px 20px;margin:0;border-bottom:1px solid #e7ecf5;background:#fbfdff}
.tutor-session-head strong{display:block;margin-top:4px;font-size:22px;color:#102958}
.tutor-chat--focused .chat-log{padding:22px;background:linear-gradient(180deg,#f8fbff,#fff)}
.tutor-chat--focused .tutor-chips{padding:10px 18px 0}
.tutor-chat--focused .chat-input{padding:14px 18px 18px}

@media(max-width:900px){
  .practice-welcome-panel{grid-template-columns:minmax(0,1fr) 180px;padding:24px}
  .practice-home-bry{width:180px;height:180px}
  .tutor-layout--simplified{grid-template-columns:1fr}
  .tutor-controls--simplified{position:static}
}
@media(max-width:700px){
  .practice-welcome-panel{grid-template-columns:1fr;min-height:0;padding:22px 20px 0}
  .practice-welcome-copy{text-align:left}
  .practice-home-bry{width:175px;height:165px;justify-self:center;margin-top:-4px}
  .practice-choice-grid{grid-template-columns:1fr}
  .practice-choice{min-height:102px;padding:16px;grid-template-columns:40px minmax(0,1fr) 30px}
  .practice-choice-number{width:38px;height:38px}
  .practice-choice-copy strong{font-size:16px}
  .practice-more-wrap{align-items:flex-start;flex-direction:column}
  .practice-more-actions{width:100%}
  .practice-more-actions .btn{flex:1 1 145px}
  .tutor-chat--focused{min-height:520px;border-radius:18px}
}

/* =========================================================
   Fase 6.1 · Práctica rápida con BRY
   ========================================================= */
.quick-practice{max-width:1040px;margin:20px auto 0;display:grid;gap:16px}
.quick-practice-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;border:1px solid #dbe5f6;border-radius:22px;background:linear-gradient(135deg,#fff,#f6f9ff);box-shadow:0 14px 34px rgba(17,54,116,.07)}
.quick-practice-head h2{margin:4px 0 5px;font-size:28px;letter-spacing:-1px;color:#102958}
.quick-practice-head p{margin:0;color:var(--muted);font-size:13px}
.quick-session-stats{min-width:112px;display:grid;gap:3px;justify-items:end}
.quick-session-stats strong{font-size:24px;color:#102958}
.quick-session-stats span{font-size:12px;font-weight:800;color:#54709d}
.quick-progress{height:10px;border-radius:999px;background:#e7edf8;overflow:hidden}
.quick-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#287dff,#7057ef);transition:width .22s ease}
.quick-question-card{padding:28px;border:1px solid #dce5f5;border-radius:26px;background:#fff;box-shadow:0 20px 48px rgba(19,55,116,.09)}
.quick-question-kicker{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;color:#63789b;font-size:11px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
.quick-question-card h3{max-width:850px;margin:0 0 22px;font-size:clamp(25px,3vw,34px);line-height:1.22;letter-spacing:-.9px;color:#0b2352}
.quick-options{display:grid;gap:11px}
.quick-option{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;padding:15px 16px;border:1.5px solid #d9e3f3;border-radius:17px;background:#fbfdff;color:#233958;text-align:left;font-weight:750;line-height:1.45;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}
.quick-option:hover:not(:disabled),.quick-option:focus-visible:not(:disabled){transform:translateY(-1px);border-color:#76a2fb;background:#f3f7ff;box-shadow:0 10px 24px rgba(40,104,221,.1);outline:none}
.quick-option:disabled{cursor:default}
.quick-option-marker{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#eaf1ff;color:#2466ce;font-size:12px;font-weight:950}
.quick-option.is-correct{border-color:#66c994;background:#eefaf3;color:#245a3d}
.quick-option.is-correct .quick-option-marker{background:#36a76c;color:#fff}
.quick-option.is-selected-wrong{border-color:#f09aa8;background:#fff2f4;color:#7c3340}
.quick-option.is-selected-wrong .quick-option-marker{background:#db6578;color:#fff}
.quick-option.is-selected-correct{box-shadow:0 0 0 3px rgba(54,167,108,.12)}
.quick-feedback{margin-top:18px;display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:15px;align-items:center;padding:14px 16px;border-radius:19px;border:1px solid #ccebd9;background:#f1fbf5}
.quick-feedback.is-try{border-color:#f2ccd3;background:#fff5f6}
.quick-feedback img{width:80px;height:80px;object-fit:contain}
.quick-feedback strong{display:block;margin-bottom:4px;font-size:17px;color:#183a66}
.quick-feedback p{margin:0;color:#506583;font-size:13px;line-height:1.5}
.quick-result{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:center;padding:30px;border:1px solid #d7e4f8;border-radius:28px;background:linear-gradient(135deg,#fff,#f4f8ff);box-shadow:0 20px 48px rgba(19,55,116,.09)}
.quick-result>img{width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 16px 26px rgba(30,66,135,.14))}
.quick-result-copy h2{margin:6px 0 8px;font-size:36px;letter-spacing:-1.3px;color:#102958}
.quick-result-copy>p{margin:0;color:var(--muted);line-height:1.6}
.quick-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
.quick-result-stats div{padding:14px;border:1px solid #dbe4f4;border-radius:16px;background:#fff}
.quick-result-stats small{display:block;color:#71819e;font-size:11px;font-weight:800}
.quick-result-stats strong{display:block;margin-top:4px;color:#15376b;font-size:23px}
.quick-result-actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:760px){
 .quick-practice-head{grid-template-columns:1fr;align-items:start;padding:17px}.quick-practice-head>.btn{width:max-content}.quick-session-stats{justify-items:start;grid-template-columns:auto auto;gap:10px;align-items:baseline}.quick-session-stats strong{font-size:20px}
 .quick-question-card{padding:19px 15px;border-radius:20px}.quick-question-card h3{font-size:24px}.quick-option{grid-template-columns:36px minmax(0,1fr);padding:13px 12px}.quick-option-marker{width:32px;height:32px}
 .quick-feedback{grid-template-columns:64px minmax(0,1fr);padding:12px}.quick-feedback img{width:62px;height:62px}.quick-feedback .btn{grid-column:1/-1;width:100%}
 .quick-result{grid-template-columns:1fr;padding:22px 18px;text-align:center}.quick-result>img{width:170px;height:170px;justify-self:center}.quick-result-copy h2{font-size:30px}.quick-result-actions{justify-content:center}
}
@media(max-width:480px){.quick-result-stats{grid-template-columns:1fr}.quick-result-actions .btn{width:100%}}

/* =========================================================
   Fase 6.2 · Gramática guiada con BRY
   ========================================================= */
.grammar-practice{max-width:1040px;margin:20px auto 0;display:grid;gap:16px}
.grammar-practice-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:20px 22px;border:1px solid #e2dcf7;border-radius:22px;background:linear-gradient(135deg,#fff,#faf7ff);box-shadow:0 14px 34px rgba(70,50,130,.07)}
.grammar-practice-head h2{margin:4px 0 5px;font-size:28px;letter-spacing:-1px;color:#102958}.grammar-practice-head p{margin:0;color:var(--muted);font-size:13px}
.grammar-session-stats{min-width:112px;display:grid;gap:3px;justify-items:end}.grammar-session-stats strong{font-size:24px;color:#102958}.grammar-session-stats span{font-size:12px;font-weight:800;color:#6a5d9a}
.grammar-progress{height:10px;border-radius:999px;background:#eee9f8;overflow:hidden}.grammar-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6f56ed,#9c5be8);transition:width .22s ease}
.grammar-question-card{padding:28px;border:1px solid #e2dcf2;border-radius:26px;background:#fff;box-shadow:0 20px 48px rgba(55,39,104,.09)}
.grammar-question-kicker{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;color:#756b95;font-size:11px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
.grammar-question-card h3{max-width:850px;margin:0 0 22px;font-size:clamp(25px,3vw,34px);line-height:1.22;letter-spacing:-.9px;color:#0b2352}
.grammar-options{display:grid;gap:11px}.grammar-option{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px;align-items:center;padding:15px 16px;border:1.5px solid #e0daef;border-radius:17px;background:#fdfcff;color:#283653;text-align:left;font-weight:750;line-height:1.45;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}
.grammar-option:hover:not(:disabled),.grammar-option:focus-visible:not(:disabled){transform:translateY(-1px);border-color:#9b86ed;background:#f8f5ff;box-shadow:0 10px 24px rgba(93,70,178,.1);outline:none}.grammar-option:disabled{cursor:default}
.grammar-option-marker{width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#f0ebff;color:#6750cc;font-size:12px;font-weight:950}.grammar-option.is-correct{border-color:#66c994;background:#eefaf3;color:#245a3d}.grammar-option.is-correct .grammar-option-marker{background:#36a76c;color:#fff}.grammar-option.is-selected-wrong{border-color:#f09aa8;background:#fff2f4;color:#7c3340}.grammar-option.is-selected-wrong .grammar-option-marker{background:#db6578;color:#fff}.grammar-option.is-selected-correct{box-shadow:0 0 0 3px rgba(54,167,108,.12)}
.grammar-feedback{margin-top:18px;display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:16px;align-items:start;padding:17px;border-radius:20px;border:1px solid #ccebd9;background:#f1fbf5}.grammar-feedback.is-try{border-color:#ead8b8;background:#fffaf0}.grammar-feedback img{width:92px;height:92px;object-fit:contain}.grammar-feedback-copy>strong{display:block;margin-bottom:5px;font-size:18px;color:#183a66}.grammar-feedback-copy>p{margin:0 0 10px;color:#506583;font-size:13px;line-height:1.5}
.grammar-rule-box{padding:12px 14px;border-radius:14px;background:#eef3ff;color:#254672;font-size:13px;line-height:1.55}.grammar-contrast{margin-top:8px;padding:10px 12px;border-left:4px solid #8067e8;border-radius:10px;background:#faf8ff;color:#554b73;font-size:12px;line-height:1.5}
.grammar-result{display:grid;grid-template-columns:230px minmax(0,1fr);gap:26px;align-items:center;padding:30px;border:1px solid #e1dcf3;border-radius:28px;background:linear-gradient(135deg,#fff,#faf7ff);box-shadow:0 20px 48px rgba(55,39,104,.09)}.grammar-result>img{width:220px;height:220px;object-fit:contain;filter:drop-shadow(0 16px 26px rgba(57,45,111,.14))}.grammar-result-copy h2{margin:6px 0 8px;font-size:36px;letter-spacing:-1.3px;color:#102958}.grammar-result-copy>p{margin:0;color:var(--muted);line-height:1.6}.grammar-result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}.grammar-result-stats div{padding:14px;border:1px solid #e2dcf2;border-radius:16px;background:#fff}.grammar-result-stats small{display:block;color:#7a7094;font-size:11px;font-weight:800}.grammar-result-stats strong{display:block;margin-top:4px;color:#15376b;font-size:23px}.grammar-result-actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:760px){.grammar-practice-head{grid-template-columns:1fr;align-items:start;padding:17px}.grammar-practice-head>.btn{width:max-content}.grammar-session-stats{justify-items:start;grid-template-columns:auto auto;gap:10px;align-items:baseline}.grammar-session-stats strong{font-size:20px}.grammar-question-card{padding:19px 15px;border-radius:20px}.grammar-question-card h3{font-size:24px}.grammar-option{grid-template-columns:36px minmax(0,1fr);padding:13px 12px}.grammar-option-marker{width:32px;height:32px}.grammar-feedback{grid-template-columns:68px minmax(0,1fr);padding:13px}.grammar-feedback img{width:66px;height:66px}.grammar-feedback>.btn{grid-column:1/-1;width:100%}.grammar-result{grid-template-columns:1fr;padding:22px 18px;text-align:center}.grammar-result>img{width:170px;height:170px;justify-self:center}.grammar-result-copy h2{font-size:30px}.grammar-result-actions{justify-content:center}}
@media(max-width:480px){.grammar-result-stats{grid-template-columns:1fr}.grammar-result-actions .btn{width:100%}}

/* =========================================================
   Fase 6.3 · Conversación con BRY + audio en-US
   ========================================================= */
.conversation-setup{max-width:1080px;margin:20px auto 0;display:grid;gap:16px}
.conversation-setup-head{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;
  padding:20px 22px;border:1px solid #d8e5f7;border-radius:22px;
  background:linear-gradient(135deg,#fff,#f3f8ff);box-shadow:0 14px 34px rgba(17,54,116,.07)
}
.conversation-setup-head h2{margin:4px 0 5px;font-size:28px;letter-spacing:-1px;color:#102958}
.conversation-setup-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.conversation-audio-toggle{
  min-width:178px;display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding:10px 12px;
  border:1px solid #cfdcf1;border-radius:16px;background:#fff;color:#536783;text-align:left;cursor:pointer
}
.conversation-audio-toggle.is-on{border-color:#76a6ff;background:#edf5ff;color:#173f79;box-shadow:0 8px 20px rgba(40,104,221,.1)}
.conversation-audio-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#e7f1ff;font-size:17px}
.conversation-audio-toggle strong,.conversation-audio-toggle small{display:block}.conversation-audio-toggle strong{font-size:12px}.conversation-audio-toggle small{margin-top:2px;font-size:10px;color:#6d809e}
.conversation-featured{
  position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:20px;align-items:center;
  min-height:220px;padding:27px 30px;border:1px solid #d8e3f5;border-radius:28px;
  background:linear-gradient(135deg,#071b4d 0%,#0f3976 64%,#1956a7 100%);box-shadow:0 20px 44px rgba(8,31,79,.16)
}
.conversation-featured:after{content:"";position:absolute;width:250px;height:250px;right:-55px;bottom:-90px;border-radius:50%;background:radial-gradient(circle,rgba(255,210,72,.42),rgba(255,210,72,0) 72%)}
.conversation-featured-copy{position:relative;z-index:2;max-width:650px}.conversation-featured .eyebrow{color:#87d9ff}
.conversation-featured h3{margin:7px 0 8px;color:#fff;font-size:clamp(28px,4vw,40px);letter-spacing:-1.5px}.conversation-featured p{margin:0;color:#dce9ff;line-height:1.6}
.conversation-featured>img{position:relative;z-index:2;width:205px;height:205px;object-fit:contain;justify-self:end;filter:drop-shadow(0 18px 25px rgba(0,0,0,.2))}
.conversation-audio-note{display:grid;gap:3px;margin-top:18px;padding:11px 13px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.08)}
.conversation-audio-note strong{color:#fff;font-size:12px}.conversation-audio-note span{color:#c8d9f5;font-size:10px;line-height:1.45}
.conversation-scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.conversation-scenario{
  appearance:none;width:100%;display:grid;grid-template-columns:56px minmax(0,1fr) 34px;gap:14px;align-items:center;
  min-height:112px;padding:17px 18px;border:1px solid #dae4f5;border-radius:20px;background:#fff;text-align:left;color:#243957;cursor:pointer;
  box-shadow:0 10px 27px rgba(17,54,116,.055);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease
}
.conversation-scenario:hover,.conversation-scenario:focus-visible{transform:translateY(-2px);border-color:#76a6ff;box-shadow:0 15px 31px rgba(31,91,190,.12);outline:none}
.conversation-scenario-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#eef5ff,#e3edff);font-size:25px}
.conversation-scenario-copy{display:grid;gap:3px;min-width:0}.conversation-scenario-copy small{color:#7387a6;font-size:9px;font-weight:900;letter-spacing:.7px}.conversation-scenario-copy strong{color:#123367;font-size:17px}.conversation-scenario-copy span{color:#6c7d98;font-size:12px;line-height:1.4}
.conversation-free{appearance:none;width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 34px;gap:13px;align-items:center;padding:16px 18px;border:1px dashed #93b7f2;border-radius:18px;background:#f5f9ff;color:#25446f;text-align:left;cursor:pointer}
.conversation-free:hover,.conversation-free:focus-visible{background:#edf5ff;border-color:#558eea;outline:none}.conversation-free-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:#fff;font-size:22px}.conversation-free strong,.conversation-free small{display:block}.conversation-free strong{font-size:15px}.conversation-free small{margin-top:3px;color:#71809a;font-size:11px;line-height:1.4}
.bubble{position:relative}.bubble-text{white-space:pre-wrap}
.bubble.ai .bubble-audio{display:inline-flex;align-items:center;gap:5px;margin-top:9px;padding:6px 9px;border:1px solid #cbd9ee;border-radius:999px;background:#fff;color:#2862b5;font-size:10px;font-weight:850;cursor:pointer}
.bubble.ai .bubble-audio:hover{background:#edf5ff;border-color:#8aace1}
.tutor-chips .btn{white-space:normal;text-align:left;line-height:1.3}
@media(max-width:850px){
 .conversation-setup-head{grid-template-columns:1fr;align-items:start;padding:17px}.conversation-setup-head>.btn{width:max-content}.conversation-audio-toggle{width:100%;min-width:0}
 .conversation-featured{grid-template-columns:minmax(0,1fr) 160px;padding:23px}.conversation-featured>img{width:160px;height:170px}
}
@media(max-width:680px){
 .conversation-featured{grid-template-columns:1fr;padding:22px 19px 0}.conversation-featured>img{justify-self:center;width:175px;height:165px}.conversation-audio-note{margin-top:14px}
 .conversation-scenario-grid{grid-template-columns:1fr}.conversation-scenario{grid-template-columns:48px minmax(0,1fr) 30px;min-height:100px;padding:14px}.conversation-scenario-icon{width:45px;height:45px;border-radius:14px;font-size:22px}
}

/* =========================================================
   BryLearn · FASE 7A — Móvil limpio, sin barras acumuladas
   ========================================================= */
@media(max-width:850px){
  /* La cabecera de las páginas públicas ya no roba espacio al bajar. */
  .site-header{position:relative;top:auto}

  /* La única barra de la app es compacta y se oculta al bajar. */
  .mobile-appbar{
    height:54px;
    min-height:54px;
    transition:transform .22s ease,box-shadow .22s ease;
    will-change:transform;
  }
  .mobile-appbar.is-hidden{
    transform:translateY(calc(-100% - 4px));
    box-shadow:none;
  }
  .mobile-appbar .mobile-menu-btn{
    width:38px;
    height:38px;
    flex-basis:38px;
    border-radius:11px;
    font-size:19px;
  }
  .mobile-appbar .mobile-brand:before{
    width:28px;
    height:28px;
    flex-basis:28px;
  }

  /* Los botones Anterior/Siguiente dejan de quedar pegados al fondo.
     Se muestran al terminar el bloque y no tapan el contenido. */
  .lesson-step-actions{
    position:static;
    inset:auto;
    margin-top:16px;
    box-shadow:0 8px 22px rgba(15,45,100,.08);
    backdrop-filter:none;
  }

  /* WhatsApp permanece accesible, pero ocupa únicamente un botón pequeño. */
  .bry-support-fab{
    width:46px;
    height:46px;
    right:10px;
    bottom:10px;
    padding:0;
    justify-content:center;
    border-radius:50%;
    box-shadow:0 8px 22px rgba(0,0,0,.20);
  }
  .bry-support-fab .wa-mark{width:25px;height:25px}
  .bry-support-fab .wa-label{display:none!important}
}

@media(max-width:600px){
  /* Las reacciones de BRY son temporales y aparecen arriba, evitando
     apilarse con WhatsApp o controles al pie de la pantalla. */
  .bry-reaction-toast{
    top:64px;
    bottom:auto;
    grid-template-columns:78px minmax(0,1fr);
    min-height:82px;
  }
  .bry-reaction-toast img{
    width:82px;
    height:82px;
    margin:-12px 0 -4px;
  }
}

/* =========================================================
   Fase 7B · English for Work visible y bloqueado por plan
   ========================================================= */
.side nav a.bry-work-nav{
  --bry-nav-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.9%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%223%22%20y%3D%227%22%20width%3D%2218%22%20height%3D%2213%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%207V4h8v3M3%2012h18M10%2012v2h4v-2%22%2F%3E%3C%2Fsvg%3E");
  padding-right:9px;
}
.bry-work-nav-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bry-work-access{
  margin-left:auto;
  flex:0 0 auto;
  padding:3px 6px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.08);
  color:#dbe6ff;
  font-size:8px;
  font-weight:950;
  letter-spacing:.55px;
  line-height:1.1;
}
.side nav a.bry-work-nav.is-locked{color:#9eb0d8;opacity:.88}
.side nav a.bry-work-nav.is-locked::after{
  content:"";
  width:13px;
  height:13px;
  flex:0 0 13px;
  background:currentColor;
  opacity:.9;
  -webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%2214%22%20height%3D%2211%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M8%2010V7a4%204%200%200%201%208%200v3%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
.side nav a.bry-work-nav.is-unlocked .bry-work-access{
  color:#dffcf5;
  border-color:rgba(77,224,181,.35);
  background:rgba(77,224,181,.12);
}
.side nav a.bry-work-nav:hover .bry-work-access,.side nav a.bry-work-nav.active .bry-work-access{color:#fff;border-color:rgba(255,255,255,.35)}
@media(max-width:850px){
  .bry-work-access{font-size:7.5px;padding:3px 5px}
}

/* =========================================================
   Fase 7C · English for Work v2 (piloto 3 lecciones)
   ========================================================= */
.work-v2-lesson{overflow:hidden;border-color:rgba(38,97,190,.2);box-shadow:0 18px 42px rgba(16,44,103,.08)}
.work-v2-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.work-v2-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(48,120,255,.1);color:#1d62cb;font-size:10px;font-weight:900;letter-spacing:.7px}
.work-v2-title-row{display:grid;grid-template-columns:minmax(0,1fr) 122px;gap:18px;align-items:center;margin:12px 0 18px}
.work-v2-title-row h2{font-size:clamp(26px,4vw,36px);margin:0 0 7px;letter-spacing:-1.2px}
.work-v2-bry{width:122px;height:122px;object-fit:contain;filter:drop-shadow(0 12px 18px rgba(27,66,138,.14))}
.work-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 22px;padding:7px;border:1px solid rgba(39,82,160,.16);border-radius:18px;background:rgba(235,243,255,.72)}
.work-step-btn{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;padding:10px 8px;border:0;border-radius:13px;background:transparent;color:var(--muted);font-size:11px;font-weight:850;cursor:pointer}
.work-step-btn b{display:grid;place-items:center;width:23px;height:23px;flex:0 0 23px;border-radius:50%;background:#dbe8ff;color:#194f9f}
.work-step-btn.active{background:#fff;color:#173d7a;box-shadow:0 7px 18px rgba(20,55,112,.09)}
.work-step-btn.active b{background:#226ee8;color:#fff}
.work-step-panels{min-height:350px}
.work-step-panel{display:none}
.work-step-panel.active{display:block}
.work-explain-card{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:center;margin:14px 0 16px;padding:18px;border:1px solid rgba(50,104,196,.18);border-radius:20px;background:linear-gradient(135deg,#eff6ff,#fff)}
.work-explain-card img{width:105px;height:115px;object-fit:contain}
.work-explain-card strong{display:block;margin-bottom:5px;color:#185cc7;font-size:14px}
.work-explain-card p{margin:0;line-height:1.65;color:#34486c}
.work-key-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:15px 0}
.work-key-grid article{display:grid;grid-template-columns:32px 1fr;gap:9px;align-items:start;padding:14px;border:1px solid rgba(43,88,166,.15);border-radius:15px;background:#fff}
.work-key-grid b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#e6efff;color:#1c5ebe}
.work-key-grid p{margin:2px 0 0;line-height:1.5;font-size:13px;color:#405171}
.work-rule{margin:15px 0;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#0d3c83,#145fc2);color:#fff}
.work-rule strong{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#cae1ff}
.work-rule p{margin:7px 0 0;line-height:1.6;color:#fff}
.work-vocab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.work-vocab-grid article{padding:14px;border:1px solid rgba(43,88,166,.14);border-radius:15px;background:#fff}
.work-vocab-grid strong,.work-vocab-grid span,.work-vocab-grid small{display:block}
.work-vocab-grid strong{color:#174f9e}.work-vocab-grid span{margin:4px 0;font-size:13px;font-weight:750}.work-vocab-grid small{color:var(--muted);line-height:1.4}
.work-example-grid{display:grid;gap:8px;margin:12px 0 15px}
.work-example-grid>div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;align-items:center;padding:11px 13px;border-radius:13px;background:rgba(235,243,255,.72)}
.work-example-grid b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#fff;color:#1f64c7}
.work-details{margin-top:12px;padding:12px 14px;border:1px solid rgba(43,88,166,.15);border-radius:14px;background:#fff}
.work-details summary{cursor:pointer;font-weight:850;color:#234b84}
.work-reading{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:22px;align-items:center;padding:24px;border-radius:24px;background:linear-gradient(140deg,#071b4d,#123d85);color:#fff;box-shadow:0 20px 45px rgba(7,27,77,.2)}
.work-reading small{font-weight:900;letter-spacing:1px;color:#8edbff}.work-reading h3{font-size:29px;margin:6px 0 12px;color:#fff}.work-reading p{margin:0;line-height:1.8;color:#eef5ff;font-size:15px}.work-reading img{width:145px;height:165px;object-fit:contain}
.work-question{margin:16px 0;padding:0;border:0}.work-question legend{width:100%;margin-bottom:10px;font-weight:850;line-height:1.5;color:#253f66}
.work-choice-list{display:grid;gap:9px}.work-choice{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:center;padding:13px 14px;border:2px solid rgba(50,93,165,.13);border-radius:15px;background:#fff;cursor:pointer;transition:.15s ease;box-shadow:0 5px 14px rgba(20,55,112,.04)}
.work-choice:hover{transform:translateY(-1px);border-color:rgba(43,112,228,.42);background:#f8fbff}.work-choice input{position:absolute;opacity:0;pointer-events:none}.work-choice-dot{display:grid;place-items:center;width:22px;height:22px;border:2px solid #9bb6df;border-radius:50%;background:#fff}
.work-choice.selected{border-color:#2671df;background:#edf5ff;box-shadow:0 8px 19px rgba(38,113,223,.12)}.work-choice.selected .work-choice-dot{border:6px solid #2671df}
.work-choice.is-correct{border-color:#2a9d68!important;background:#edf9f2!important}.work-choice.is-correct .work-choice-dot{border-color:#2a9d68}.work-choice.is-wrong{border-color:#dd6b65!important;background:#fff1ef!important}
.work-complete-v2{margin-top:12px;width:100%;min-height:48px}.work-v2-result{margin-top:12px}.work-step-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px;padding-top:15px;border-top:1px solid rgba(43,88,166,.12)}.work-step-actions span{font-size:12px;font-weight:850;color:var(--muted);text-align:center}
@media(max-width:850px){
  .work-v2-title-row{grid-template-columns:minmax(0,1fr) 92px}.work-v2-bry{width:92px;height:100px}
  .work-stepper{display:flex;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}.work-stepper::-webkit-scrollbar{display:none}.work-step-btn{flex:0 0 auto;padding:9px 10px}.work-step-btn span{white-space:nowrap}
  .work-key-grid,.work-vocab-grid{grid-template-columns:1fr 1fr}.work-reading{grid-template-columns:minmax(0,1fr) 105px;padding:19px}.work-reading img{width:105px;height:130px}.work-reading h3{font-size:24px}
}
@media(max-width:560px){
  .work-v2-title-row{grid-template-columns:1fr 76px;gap:8px}.work-v2-title-row h2{font-size:25px}.work-v2-bry{width:76px;height:84px}
  .work-explain-card{grid-template-columns:78px minmax(0,1fr);padding:14px;gap:11px}.work-explain-card img{width:75px;height:88px}.work-key-grid,.work-vocab-grid{grid-template-columns:1fr}.work-reading{grid-template-columns:1fr;padding:18px}.work-reading img{display:none}.work-reading p{font-size:14px;line-height:1.72}.work-step-actions{align-items:stretch}.work-step-actions .btn{padding:10px 11px}.work-step-actions span{align-self:center;font-size:10px}
}

/* Fase 8 · Frases por nivel */
.level-resource-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.level-resource-tabs .btn{min-width:145px}
.phrase-toolbar{align-items:center}
.phrase-group{overflow:hidden}
.phrase-bank{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.phrase-card{position:relative;min-height:142px;padding:18px 54px 16px 18px;border:1px solid rgba(42,102,210,.22);border-radius:18px;background:linear-gradient(145deg,#fff,#f4f8ff);box-shadow:0 10px 24px rgba(22,54,112,.07);display:flex;flex-direction:column;gap:8px}
.phrase-card strong{font-size:16px;line-height:1.4;color:var(--ink)}
.phrase-card span{font-size:13px;line-height:1.45;color:var(--muted)}
.phrase-card small{margin-top:auto;color:#59709d;font-size:11px;font-weight:700}
.phrase-sound{position:absolute;right:14px;top:14px;width:36px;height:36px;border:1px solid rgba(25,121,255,.3);border-radius:50%;background:#edf5ff;color:#1456be;cursor:pointer;display:grid;place-items:center;transition:.15s}
.phrase-sound:hover{transform:translateY(-1px);background:#dfeeff}
.phrase-review-card{max-width:800px}
.phrase-review-text{font-size:clamp(24px,4vw,38px)!important;line-height:1.18!important;padding:0 34px}
.phrase-review-options{grid-template-columns:1fr!important}
.phrase-review-options button{text-align:left;line-height:1.4}
@media(max-width:850px){
  .phrase-bank{grid-template-columns:1fr}
  .phrase-card{min-height:126px}
  .level-resource-tabs .btn{min-width:0;flex:1 1 130px}
  .phrase-review-text{padding:0 10px}
}
@media(max-width:480px){
  .level-resource-tabs{display:grid;grid-template-columns:1fr 1fr}
  .level-resource-tabs .btn:first-child{grid-column:1/-1}
  .phrase-card{padding:16px 50px 14px 15px;border-radius:15px}
  .phrase-card strong{font-size:15px}
}

/* =========================================================
   Fase 9 · Práctica Speaking guiada A1-C1
   ========================================================= */
.bry-companion--speak{background:linear-gradient(135deg,rgba(31,121,255,.12),rgba(120,76,245,.12));border-color:rgba(55,102,212,.26)}
.speaking-overview{display:grid;gap:22px}
.speaking-howto{display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center;padding:18px;border-radius:20px;background:linear-gradient(135deg,rgba(30,116,255,.08),rgba(125,76,245,.08));border:1px solid rgba(49,85,156,.2)}
.speaking-howto img{width:112px;height:112px;object-fit:contain;filter:drop-shadow(0 14px 24px rgba(13,43,104,.12))}
.speaking-howto h2{margin:5px 0 9px;font-size:24px}
.speaking-howto ol{margin:0;padding-left:20px;color:var(--muted);line-height:1.7}
.speaking-story-chooser{margin-top:30px}
.speaking-story-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.speaking-story-card{display:flex;flex-direction:column;min-height:285px;padding:18px;border:1px solid rgba(49,85,156,.22);border-radius:20px;background:linear-gradient(180deg,#fff,#f7faff);box-shadow:0 12px 30px rgba(15,51,120,.07)}
.speaking-story-card.is-practiced{background:linear-gradient(180deg,#fff,#f2fbf7);border-color:rgba(44,153,112,.28)}
.speaking-story-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.speaking-story-index{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--bry-blue,#1979ff);color:#fff;font-weight:900}
.speaking-story-card h3{margin:16px 0 8px;font-size:18px;line-height:1.2}
.speaking-story-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.55;flex:1}
.speaking-story-meta{display:flex;justify-content:space-between;gap:8px;margin:16px 0 12px;padding-top:12px;border-top:1px solid rgba(49,85,156,.12);font-size:11px;font-weight:800;color:var(--muted)}
.speaking-story-card .btn{width:100%}
.speaking-practice{max-width:920px;margin:30px auto 0}
.speaking-practice-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.speaking-story-title{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:18px;align-items:center;padding:24px;border:1px solid rgba(49,85,156,.22);border-radius:24px;background:linear-gradient(135deg,#fff,rgba(236,243,255,.92));box-shadow:0 16px 40px rgba(16,50,117,.08)}
.speaking-story-title h2{font-size:34px;margin:6px 0 9px;letter-spacing:-1.2px}
.speaking-story-title p{margin:0;line-height:1.6}
.speaking-story-title img{width:118px;height:118px;object-fit:contain}
.speaking-tip{margin:14px 0;padding:15px 18px;border-radius:16px;background:rgba(255,206,64,.16);border:1px solid rgba(225,166,26,.26)}
.speaking-tip strong{display:block;margin-bottom:4px;color:#70520c}.speaking-tip p{margin:0;line-height:1.55;color:var(--muted)}
.speaking-audio-actions{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0}
.speaking-line-progress{margin:22px 0 12px}.speaking-line-progress>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted);font-weight:800}
.speaking-line-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center;min-height:300px;padding:30px;border-radius:26px;border:1px solid rgba(49,85,156,.25);background:radial-gradient(circle at 0 0,rgba(47,130,255,.12),transparent 32%),linear-gradient(145deg,#fff,#f6f8ff);box-shadow:0 20px 45px rgba(14,43,104,.09)}
.speaking-line-bry{display:grid;place-items:center;align-self:stretch;border-radius:22px;background:linear-gradient(160deg,rgba(26,126,255,.14),rgba(126,69,245,.12))}
.speaking-line-bry img{width:140px;height:180px;object-fit:contain}
.speaking-line-en{margin:13px 0 10px;font-size:clamp(27px,4vw,39px);font-weight:850;line-height:1.2;letter-spacing:-1.1px;color:var(--ink)}
.speaking-line-es{margin:0 0 15px;padding:10px 13px;border-radius:12px;background:rgba(120,76,245,.08);color:var(--muted);font-size:15px;line-height:1.55}
.speaking-line-listen{display:inline-flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid rgba(32,115,235,.3);border-radius:12px;background:#fff;color:var(--bry-blue,#1979ff);font-weight:850;cursor:pointer}
.speaking-repeat-guide{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.speaking-repeat-guide span{padding:7px 10px;border-radius:999px;background:rgba(24,121,255,.08);color:var(--muted);font-size:11px;font-weight:750}
.speaking-nav{display:flex;justify-content:space-between;gap:12px;margin-top:14px}.speaking-nav .btn{min-width:140px}
.speaking-finish{display:grid;grid-template-columns:160px minmax(0,1fr);gap:22px;align-items:center;margin-top:24px;padding:26px;border-radius:24px;border:1px solid rgba(45,161,112,.25);background:linear-gradient(135deg,rgba(43,186,126,.09),rgba(42,121,255,.08))}
.speaking-finish img{width:150px;height:170px;object-fit:contain}.speaking-finish h2{margin:5px 0 8px;font-size:29px}.speaking-finish p{color:var(--muted);line-height:1.6}.speaking-selfcheck{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
@media(max-width:1100px){.speaking-story-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){
  .speaking-howto{grid-template-columns:88px minmax(0,1fr);padding:14px}.speaking-howto img{width:82px;height:90px}.speaking-howto h2{font-size:21px}.speaking-howto ol{font-size:13px}
  .speaking-story-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.speaking-story-card{min-height:250px;padding:15px}
  .speaking-story-title{grid-template-columns:minmax(0,1fr) 90px;padding:19px}.speaking-story-title h2{font-size:27px}.speaking-story-title img{width:88px;height:95px}
  .speaking-line-card{grid-template-columns:105px minmax(0,1fr);gap:16px;padding:20px;min-height:250px}.speaking-line-bry img{width:100px;height:135px}.speaking-line-en{font-size:clamp(24px,6vw,32px)}
  .speaking-finish{grid-template-columns:110px minmax(0,1fr);padding:20px}.speaking-finish img{width:105px;height:125px}
}
@media(max-width:560px){
  .level-resource-tabs{gap:7px}.level-resource-tabs .btn{padding:9px 10px;font-size:12px;flex:1 1 calc(50% - 7px)}
  .speaking-howto{grid-template-columns:1fr;text-align:left}.speaking-howto img{width:90px;height:90px;margin:auto}.speaking-howto ol{padding-left:18px}
  .speaking-story-grid{grid-template-columns:1fr}.speaking-story-card{min-height:auto}
  .speaking-story-title{grid-template-columns:1fr;padding:17px}.speaking-story-title img{display:none}.speaking-story-title h2{font-size:25px}
  .speaking-audio-actions{display:grid;grid-template-columns:1fr}.speaking-audio-actions .btn{width:100%}
  .speaking-line-card{grid-template-columns:1fr;padding:17px;min-height:0}.speaking-line-bry{height:92px}.speaking-line-bry img{width:92px;height:100px}.speaking-line-en{font-size:25px;letter-spacing:-.6px}
  .speaking-repeat-guide{display:grid;grid-template-columns:1fr}.speaking-repeat-guide span{text-align:center}
  .speaking-nav{display:grid;grid-template-columns:1fr 1fr}.speaking-nav .btn{min-width:0;padding:11px 8px}
  .speaking-finish{grid-template-columns:1fr;text-align:center}.speaking-finish img{margin:auto}.speaking-selfcheck{display:grid;grid-template-columns:1fr}.speaking-selfcheck .btn{width:100%}
}

/* =========================================================
   BryLearn · FASE 10A — Auditoría visual final + estudio móvil limpio
   Objetivo: evitar el efecto de cajas anidadas que estrecha la lección
   mientras el estudiante baja, sin cambiar contenido ni lógica.
   ========================================================= */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}

.two-col.unit-study-mode{
  grid-template-columns:minmax(0,1fr);
}
.two-col.unit-study-mode>section.panel:first-child{
  display:none;
}
.two-col.unit-study-mode>section.panel:last-child{
  width:100%;
  max-width:none;
}
.two-col.unit-study-mode>section.panel:last-child>.eyebrow,
.two-col.unit-study-mode>section.panel:last-child>h2,
.two-col.unit-study-mode>section.panel:last-child>p,
.two-col.unit-study-mode>section.panel:last-child>#complete,
.two-col.unit-study-mode>section.panel:last-child>#back{
  display:none!important;
}
.lesson-unit-host{
  width:100%;
  min-width:0;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
}
.lesson-study-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:2px;
}
.lesson-study-toolbar .btn{
  padding:9px 13px;
}
.lesson-result-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:14px;
}

@media(max-width:850px){
  /* Al estudiar una unidad, la interfaz usa el ancho real del teléfono.
     Se elimina la cadena visual panel > notice > card > card. */
  body.unit-study-active .app-main{
    padding-inline:10px;
  }
  .two-col.unit-study-mode{
    display:block;
    width:100%;
  }
  .two-col.unit-study-mode>section.panel:last-child{
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .unit-learning-shell{
    width:100%;
    min-width:0;
    gap:14px;
  }
  .lesson-study-toolbar{
    margin:0 1px 2px;
  }
  .lesson-study-toolbar .btn{
    width:auto;
    min-width:0;
  }
  .lesson-study-toolbar .small{
    flex:1 1 150px;
    text-align:right;
  }
  .unit-learning-head{
    gap:10px;
  }

  /* El panel exterior de cada paso deja de actuar como otra "ventana".
     Las actividades internas siguen siendo tarjetas diferenciadas. */
  .lesson-step-panel>.lesson-focus-card{
    width:100%;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .lesson-step-panel>.lesson-focus-card>.activity-label:first-child{
    display:inline-flex;
    margin:1px 2px 9px;
  }
  .lesson-step-panel .activity-block{
    width:100%;
    margin:12px 0 0;
    padding:15px 14px;
    border-radius:16px;
  }
  .lesson-step-panel .activity-block .notice{
    padding:11px 12px;
    border-radius:12px;
  }
  .lesson-step-panel .activity-block ol,
  .lesson-step-panel .activity-block ul{
    margin:12px 0 0;
    padding-left:22px;
  }
  .lesson-step-panel .activity-block li{
    margin:7px 0;
    text-align:left;
    line-height:1.58;
  }
  .lesson-step-panel .activity-block h3{
    margin:7px 0 10px;
    line-height:1.25;
  }
  .lesson-step-panel .reading-text{
    line-height:1.65;
  }
  .lesson-step-panel .skill-mcq-question,
  .lesson-step-panel .mcq-question{
    padding:12px;
  }
  .lesson-step-panel .mcq-option{
    padding:11px 10px;
  }
  .lesson-result-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .lesson-result-actions .btn{
    width:100%;
  }
}

@media(max-width:480px){
  body.unit-study-active .app-main{
    padding-inline:8px;
  }
  .lesson-study-toolbar{
    display:grid;
    grid-template-columns:1fr;
  }
  .lesson-study-toolbar .btn{
    width:100%;
  }
  .lesson-study-toolbar .small{
    text-align:center;
  }
  .lesson-stepper{
    margin-inline:-2px;
  }
  .lesson-step-panel .activity-block{
    padding:14px 12px;
    border-radius:14px;
  }
  .lesson-step-panel .activity-block ol,
  .lesson-step-panel .activity-block ul{
    padding-left:20px;
  }
}

/* Auditoría visual · ajustes puntuales detectados fuera de lecciones */
@media(max-width:600px){
  .admin-shell .toolbar>div[style*="display:flex"]{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%;
  }
  .admin-shell .toolbar input[type="search"]{
    width:100%!important;
    min-width:0!important;
  }
}
