:root{font-family:'DM Sans',Arial,sans-serif;--ink:#242047;--bg:#f2cb33;--panel:rgba(255,225,94,.66);--panel2:rgba(240,183,44,.65);--accent:#422076;--line:rgba(66,32,118,.25);--soft:#533486;--good:#067655;--bad:#b92142;--shadow:0 19px 60px rgba(40,26,91,.12)}*{box-sizing:border-box}html{min-height:100%;background:#e2b82b}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);transition:background .35s,color .35s;position:relative;overflow-x:hidden}.theme-banana{--bg:#f2cb33;--panel:rgba(255,219,82,.62);--panel2:rgba(236,185,51,.8);--accent:#422076;--ink:#34215e;--line:rgba(66,32,118,.2);--soft:#5e3c87;--good:#116d43;--bad:#ba2653}.theme-blueberry{--bg:#3b2687;--panel:rgba(84,61,165,.67);--panel2:rgba(37,29,103,.73);--accent:#ffb132;--ink:#ffdc89;--line:rgba(255,180,57,.29);--soft:#f4bb62;--good:#bce96a;--bad:#ff7c90}.theme-soy{--bg:#51863c;--panel:rgba(123,169,69,.67);--panel2:rgba(57,121,54,.57);--accent:#271457;--ink:#f5eaa8;--line:rgba(36,22,82,.36);--soft:#eee4a4;--good:#e9f99b;--bad:#ff9aa4}.ceo-page{--bg:#131336;--panel:#24234e;--panel2:#1d1d42;--accent:#ffc13d;--ink:#fff0b0;--line:rgba(255,195,56,.24);--soft:#b7addb;--good:#8ce2a5;--bad:#ff7e94}.ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(2px);opacity:.15;z-index:0}.ambient.a1{width:450px;height:450px;right:-180px;top:190px;border:80px solid var(--accent)}.ambient.a2{width:270px;height:270px;left:-160px;bottom:10vh;border:46px solid var(--accent)}.topbar,.shell,.footer{position:relative;z-index:1}.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;padding:16px max(4%,calc((100vw - 1430px)/2));border-bottom:1px solid var(--line);gap:12px}.brand{text-decoration:none;color:var(--ink);display:flex;gap:17px;align-items:center}.brand-mark{background:var(--accent);color:var(--bg);font-family:'Barlow Condensed',Impact,sans-serif;font-size:39px;font-weight:900;letter-spacing:-2px;padding:0px 10px 3px;transform:skew(-6deg);line-height:1.12}.mini{font-weight:500}.brand-text{font-weight:800;letter-spacing:.09em;font-size:12px}.brand-text small{display:block;letter-spacing:.11em;font-size:9px;font-weight:600;opacity:.8;margin-top:7px}.top-meta{display:flex;gap:18px;align-items:center;font-size:10px;font-weight:800;letter-spacing:.1em}.tiny-pill{border:1px solid var(--line);border-radius:100px;padding:10px 14px}.top-live{white-space:nowrap}.top-live i{display:inline-block;width:8px;height:8px;background:#5ee59b;border-radius:50%;margin-right:6px;box-shadow:0 0 0 5px rgba(13,140,85,.09)}.shell{max-width:1430px;margin:auto;padding:37px 4% 55px;min-height:calc(100vh - 166px)}.hidden{display:none!important}.eyebrow,.section-kicker{font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.welcome{display:grid;grid-template-columns:1.45fr .55fr;gap:45px;min-height:550px;align-items:center}.welcome-copy{max-width:890px}.welcome h1,.ceo-hero h1{font:900 clamp(68px,8.9vw,145px)/.87 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.012em;margin:24px 0;color:var(--accent)}.welcome h1 em,.ceo-hero h1 em{color:var(--ink);font-style:normal;-webkit-text-stroke:2px var(--accent)}.welcome p,.ceo-hero p{max-width:650px;font-size:17px;line-height:1.65;font-weight:600}.welcome-actions{display:flex;gap:12px;align-items:end;margin-top:34px;flex-wrap:wrap}.field-compact{font-size:10px;font-weight:800;letter-spacing:.1em;display:grid;gap:9px;flex:1;min-width:230px}.field-compact input{font:700 15px 'DM Sans',sans-serif;color:var(--ink);width:100%;padding:17px 18px;background:var(--panel);border:2px solid var(--line);outline:none;border-radius:11px}.field-compact input::placeholder{color:var(--soft)}.field-compact input:focus{border-color:var(--accent)}button{cursor:pointer;font-family:'DM Sans',Arial,sans-serif;font-weight:800;border-radius:10px;transition:transform .18s,background .18s;touch-action:manipulation}button:hover:not(:disabled){transform:translateY(-2px)}button:disabled{opacity:.4;cursor:not-allowed}.primary-btn{padding:18px 24px;background:var(--accent);color:var(--bg);border:2px solid var(--accent);font-size:12px;letter-spacing:.06em}.primary-btn span{margin-left:22px}.ghost-btn{padding:14px 17px;background:transparent;color:var(--ink);border:1px solid var(--line);font-size:12px}.notice{border-left:3px solid var(--accent);padding:12px 16px;margin-top:26px;background:var(--panel);font-size:12px;line-height:1.6;max-width:690px}.intro-side{display:grid;gap:14px}.intro-card{background:var(--accent);color:var(--bg);border-radius:16px;padding:23px 26px;display:grid;grid-template-columns:1fr auto;align-items:center}.intro-card strong{grid-column:2;grid-row:1/3;font:900 70px/.85 'Barlow Condensed',sans-serif}.intro-card span{font-size:11px;font-weight:800;letter-spacing:.11em;grid-row:2}.intro-symbol{font-size:29px;opacity:.8;grid-row:1}.footer{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--line);padding:21px 4%;font-size:10px;letter-spacing:.085em;font-weight:800}.progress-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:30px}.level-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.step-chip{font-size:10px;letter-spacing:.08em;padding:10px 13px;border:1px solid var(--line);border-radius:100px;font-weight:800;opacity:.49}.step-chip.active{background:var(--accent);color:var(--bg);border-color:var(--accent);opacity:1}.step-chip.passed{opacity:1}.clock-area{text-align:right;min-width:200px}.clock-label{font-size:10px;font-weight:800;letter-spacing:.16em}.clock{font:900 60px/.99 'Barlow Condensed',sans-serif;letter-spacing:.025em;color:var(--accent);margin:6px 0}.clock.danger{color:var(--bad);animation:pulse .6s infinite alternate}.clock-track{height:7px;background:var(--panel2);overflow:hidden;border-radius:10px}.clock-track>div{height:100%;width:100%;background:var(--accent);transition:width .35s}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:18px}.main-panel,.side-card,.ceo-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.main-panel{padding:28px}.hero-line{display:flex;justify-content:space-between;align-items:center;gap:20px}.hero-line h2{font:900 clamp(46px,6vw,85px)/.92 'Barlow Condensed',sans-serif;color:var(--accent);margin:15px 0 12px}.hero-line h2 span{display:block;font-size:.44em;letter-spacing:.17em;margin-top:9px}.hero-line p{font-size:13px;font-weight:600;line-height:1.6;max-width:500px}.produce-art{position:relative;font-size:88px;min-width:155px;min-height:146px;text-align:center;display:grid;place-items:center;filter:drop-shadow(0 10px 4px rgba(0,0,0,.09));transform:rotate(-9deg)}.orbit{border:2px solid var(--accent);border-radius:50%;width:130px;height:130px;position:absolute;opacity:.22;transform:rotate(25deg) scaleX(1.4)}.orbit2{transform:rotate(-35deg) scaleX(1.2);width:140px;height:100px}.case-data{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:26px 0 28px}.case-data>div{padding:15px 13px;background:var(--panel2);border-radius:10px;min-height:83px}.case-data small{display:block;font-size:9px;letter-spacing:.09em;font-weight:800;opacity:.75}.case-data strong{display:block;font-size:12px;line-height:1.4;margin-top:10px}.checkpoint-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:15px}.checkpoint-heading h3,.side-card h3,.ceo-card h2{font:800 26px/.99 'Barlow Condensed',sans-serif;margin:7px 0}.counter{font-size:10px;font-weight:800;white-space:nowrap}.checkpoint-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:15px 0}.cp-tab{background:var(--panel2);padding:12px 4px;border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:12px;font-weight:800;min-height:52px}.cp-tab.current{background:var(--accent);color:var(--bg)}.cp-tab.done:not(.current){box-shadow:inset 0 -5px 0 var(--accent)}.decision-card{background:var(--panel2);border-radius:14px;padding:25px;min-height:260px}.decision-top{display:flex;justify-content:space-between;gap:12px}.decision-card h4{font:800 30px/1.05 'Barlow Condensed',sans-serif;margin:9px 0}.decision-card p{font-size:13px;font-weight:600;line-height:1.65}.decision-index{font:900 50px/.85 'Barlow Condensed',sans-serif;opacity:.25}.options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px}.option{display:flex;flex-direction:column;gap:9px;text-align:left;padding:16px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--ink);min-height:105px}.option.selected{outline:3px solid var(--accent);outline-offset:-3px}.option b{font-size:12px;line-height:1.3}.option small{font-size:10px;font-weight:600;line-height:1.5;opacity:.85}.option .opt-id{font-size:10px;font-weight:900;opacity:.6}.decision-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.confirm-info{font-size:12px;font-weight:700;max-width:390px;line-height:1.5}.confirm-info strong{display:block;font:900 26px 'Barlow Condensed',sans-serif;color:var(--bad)}.handshake-btn{background:var(--accent);color:var(--bg);border:0;padding:15px 21px;white-space:nowrap;font-size:12px;letter-spacing:.055em}.handshake-icon{font-size:23px;vertical-align:middle;margin-right:8px}.side-panel{display:grid;align-content:start;gap:15px}.side-card{padding:23px}.side-card p{font-size:12px;line-height:1.65;font-weight:600}.metric{display:flex;justify-content:space-between;gap:8px;padding:14px 0;border-bottom:1px solid var(--line);font-size:12px}.metric:last-child{border:0}.metric b{text-align:right;font-size:12px}.source-stamp{font-size:9px;font-weight:800;letter-spacing:.1em}.weights-card label{display:flex;justify-content:space-between;gap:9px;font-size:11px;font-weight:700;margin-top:13px}.weights-card input[type=range]{width:100%;accent-color:var(--accent);margin:8px 0}.weight-total{display:flex;justify-content:space-between;font-weight:900;margin-top:18px;padding:12px;background:var(--panel2);font-size:12px;border-radius:8px}.outcome{margin:35px auto;max-width:800px;background:var(--panel);border:2px solid var(--line);padding:50px;border-radius:20px;text-align:center}.result-emblem{font-size:63px;font-weight:900;color:var(--accent)}.outcome h2{font:900 clamp(55px,8vw,94px)/1 'Barlow Condensed',sans-serif;color:var(--accent);margin:12px 0}.outcome p{font-size:15px;font-weight:600;line-height:1.7}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:30px 0}.result-metrics div{padding:18px 10px;background:var(--panel2);border-radius:10px}.result-metrics strong{display:block;font:900 33px 'Barlow Condensed',sans-serif}.result-metrics small{font-size:10px;font-weight:800;letter-spacing:.06em}.result-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.outcome .notice{text-align:left}.ceo-shell{max-width:1490px}.ceo-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:26px}.ceo-hero h1{font-size:clamp(55px,6.5vw,100px);color:var(--accent);margin:16px 0}.ceo-hero h1 em{-webkit-text-stroke:1px var(--accent);color:var(--ink)}.ceo-hero p{font-size:14px;max-width:650px;color:var(--soft)}.ceo-hero-shape{font:900 85px 'Barlow Condensed',sans-serif;color:var(--accent);border:7px solid var(--accent);border-radius:50%;width:190px;height:190px;display:flex;justify-content:center;align-items:center;flex-direction:column;transform:rotate(12deg)}.ceo-hero-shape span{font-size:24px}.ceo-grid{display:grid;grid-template-columns:380px minmax(0,1fr);gap:18px}.ceo-card{padding:24px}.ceo-card h2{color:var(--accent);font-size:32px}.upload-area{display:grid;place-items:center;gap:10px;border:2px dashed var(--line);border-radius:13px;min-height:155px;margin-top:20px;padding:19px;text-align:center;cursor:pointer;background:var(--panel2)}.upload-area:hover{border-color:var(--accent)}.upload-icon{font-size:40px;color:var(--accent)}.upload-area strong{font-size:12px}.upload-area small{font-size:11px;color:var(--soft)}.visually-hidden{position:absolute;left:-10000px;width:1px;height:1px;opacity:0}.import-log{min-height:46px;font-size:11px;line-height:1.65;margin:20px 0;color:var(--soft);max-height:135px;overflow:auto}.ceo-btn-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.muted-small{color:var(--soft);font-size:10px;line-height:1.6;margin-top:16px}.leader-title{display:flex;justify-content:space-between;align-items:center}.live-indicator{font-size:10px;color:#84dca0;font-weight:800}.leader-head,.rank-row{display:grid;grid-template-columns:minmax(0,1.35fr) 1fr 90px;align-items:center;gap:11px}.leader-head{font-size:10px;letter-spacing:.07em;font-weight:800;color:var(--soft);border-bottom:1px solid var(--line);padding:20px 5px 12px}.ranking-empty{font-size:13px;color:var(--soft);text-align:center;display:grid;place-items:center;min-height:175px}.rank-row{padding:15px 5px;border-bottom:1px solid var(--line);cursor:pointer;border-radius:6px;font-size:12px}.rank-row:hover,.rank-row.active{background:rgba(255,194,61,.09)}.rank-name{font-weight:800}.rank-name small{display:block;color:var(--soft);margin-top:4px}.rank-status{font-size:10px;font-weight:800}.rank-status.ok{color:var(--good)}.rank-status.fail{color:var(--bad)}.rank-status.warn{color:var(--accent)}.rank-score{text-align:right;font:800 24px 'Barlow Condensed',sans-serif}.result-key{display:flex;gap:20px;flex-wrap:wrap;padding:20px 0 0;font-size:9px;font-weight:800;letter-spacing:.06em}.key-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.key-dot.green{background:var(--good)}.key-dot.red{background:var(--bad)}.key-dot.gold{background:var(--accent)}.detail-card{margin-top:18px}.detail-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.detail-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0}.detail-summary>div{background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:15px}.detail-summary small{font-size:10px;color:var(--soft);font-weight:800}.detail-summary strong{display:block;font:900 28px 'Barlow Condensed',sans-serif;margin-top:6px}.detail-list{display:grid;gap:8px}.detail-row{display:grid;grid-template-columns:50px 1.15fr 1.35fr 1fr;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding:12px 7px;font-size:12px}.detail-row strong{font-size:12px}.detail-row .good{color:var(--good);font-weight:800}.detail-row .bad{color:var(--bad);font-weight:800}.detail-row .warn{color:var(--accent);font-weight:800}.detail-footnote{font-size:11px;color:var(--soft);line-height:1.6;margin-top:20px}.pedagogy{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:18px}.pedagogy>div{max-width:400px}.pedagogy p{max-width:610px;color:var(--soft);font-size:12px;line-height:1.7}.mini-btn{border:1px solid var(--line);background:transparent;color:var(--ink);padding:10px;font-size:10px}#fxLayer{pointer-events:none;position:fixed;inset:0;z-index:20;overflow:hidden}.fx-particle{position:absolute;top:-50px;font-size:42px;animation:fall var(--dur,2s) ease-in forwards;left:var(--left,50%);transform:rotate(0deg);filter:drop-shadow(1px 2px 3px rgba(0,0,0,.2))}@keyframes fall{to{transform:translateY(115vh) rotate(var(--rot,390deg));opacity:0}}@keyframes pulse{to{opacity:.5}}@media(max-width:1050px){.content-grid{grid-template-columns:1fr}.side-panel{grid-template-columns:repeat(2,1fr)}.side-panel .reference{grid-column:span 2}.ceo-grid{grid-template-columns:1fr}.welcome{grid-template-columns:1fr}.intro-side{grid-template-columns:repeat(3,1fr)}.intro-card{padding:14px}.intro-card strong{font-size:44px}}@media(max-width:690px){.topbar{padding:14px 4%;min-height:75px}.brand-mark{font-size:30px}.brand-text{font-size:9px}.brand-text small{font-size:7px}.top-live,.tiny-pill{display:none}.shell{padding-top:25px}.welcome h1{font-size:65px}.welcome p{font-size:14px}.intro-side{grid-template-columns:1fr 1fr 1fr;gap:6px}.intro-card{display:flex;flex-direction:column;gap:6px;padding:12px 5px}.intro-card strong{font-size:33px}.intro-card span{font-size:8px;text-align:center}.progress-top{align-items:start}.clock-area{min-width:116px}.clock{font-size:40px}.clock-label{font-size:8px}.level-chips{gap:5px}.step-chip{font-size:9px;padding:8px}.main-panel,.side-card,.ceo-card{padding:17px}.hero-line h2{font-size:50px}.hero-line p{font-size:12px}.produce-art{font-size:49px;min-width:75px;min-height:100px}.orbit{display:none}.case-data{grid-template-columns:repeat(2,1fr)}.checkpoint-nav{gap:3px}.cp-tab{min-height:45px;padding:8px 1px;font-size:10px}.decision-card{padding:16px}.options{grid-template-columns:1fr}.option{min-height:75px}.side-panel{grid-template-columns:1fr}.side-panel .reference{grid-column:auto}.decision-actions{flex-direction:column;align-items:stretch}.handshake-btn{width:100%}.result-metrics{grid-template-columns:1fr 1fr}.outcome{padding:25px 16px}.ceo-hero-shape{display:none}.detail-top,.pedagogy{display:block}.detail-summary{grid-template-columns:1fr 1fr}.detail-row{grid-template-columns:30px 1fr 1fr;font-size:10px}.detail-row :last-child{grid-column:3}.footer{font-size:9px}.ceo-btn-row{margin-top:15px}}@media print{body.ceo-page{background:white!important;color:#171717!important}.topbar,.ceo-hero,.ceo-grid,.pedagogy,.footer,#fxLayer,.detail-top .ceo-btn-row{display:none!important}.shell{padding:0!important;min-height:0}.detail-card{display:block!important;border:none!important;box-shadow:none!important;background:white!important;color:black!important;margin:0!important;padding:0!important}.detail-summary>div{background:#eee!important;color:black!important}.detail-row{color:black!important}.detail-row .good{color:green!important}.detail-row .bad{color:red!important}.detail-row .warn{color:#8a5e00!important}.detail-footnote{color:#555!important}.ceo-card h2{color:#111!important}.detail-row,.detail-summary>div{break-inside:avoid}}

/* Pie institucional MIG: atribución del calculador COMEX y nombre de la asignatura */
.footer-credit{flex:1 1 330px;text-align:left;line-height:1.6}.footer-course{flex:0 1 auto;max-width:50%;text-align:right;line-height:1.6}@media(max-width:690px){.footer{flex-direction:column;align-items:stretch;gap:8px}.footer-credit,.footer-course{flex:initial;max-width:100%}.footer-course{text-align:right}}
