/* Enzimas y Cinética Enzimática v1.0 — prefijo .ez- */
.ez-root{--ez-ink:#0f1923;--ez-paper:#f3f4f8;--ez-surf:#fff;--ez-primary:#1b6b3a;--ez-deep:#0d3d20;--ez-light:#2e9d57;--ez-spray:#a8e6bf;--ez-gold:#e9a918;--ez-gold-bg:#fff8e1;--ez-red:#c62828;--ez-red-bg:#fdf0ee;--ez-green:#2e7d32;--ez-grn-bg:#e8f5e9;--ez-muted:#5a6a7a;--ez-border:#d0d8e8;--ez-r:10px;font-family:'Segoe UI',system-ui,-apple-system,sans-serif;color:var(--ez-ink);max-width:900px;margin:0 auto;padding:0 12px 60px;box-sizing:border-box}
.ez-root *,.ez-root *::before,.ez-root *::after{box-sizing:border-box}
.ez-hidden{display:none!important}
.ez-hero{text-align:center;padding:36px 16px 24px}
.ez-hero-badge{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ez-muted);margin-bottom:10px}
.ez-hero-title{font-size:clamp(22px,5.5vw,44px);font-weight:900;color:var(--ez-deep);line-height:1.1;margin:0 0 8px}
.ez-hero-sub{font-size:14px;color:var(--ez-muted);margin:0;font-style:italic}
.ez-setup-card{background:var(--ez-surf);border:2px solid var(--ez-border);border-radius:var(--ez-r);padding:22px;max-width:400px;margin:0 auto 20px}
.ez-label{display:block;font-weight:700;font-size:11px;letter-spacing:.5px;color:var(--ez-muted);margin-bottom:8px;text-transform:uppercase}
.ez-input{width:100%;padding:12px 14px;border:2px solid var(--ez-border);border-radius:8px;font-size:18px;font-weight:700;color:var(--ez-deep);background:#fff;outline:none;transition:border-color .2s;font-family:inherit}
.ez-input:focus{border-color:var(--ez-light)}
.ez-level-badges{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;max-width:520px;margin:0 auto 20px}
.ez-lbadge{flex:1;min-width:120px;max-width:160px;padding:12px 14px;border-radius:var(--ez-r);font-size:13px;font-weight:700;text-align:center;line-height:1.4;border:2px solid transparent}
.ez-lbadge small{font-weight:400;font-size:11px;display:block;margin-top:3px}
.ez-lbadge.easy{background:var(--ez-grn-bg);border-color:#a5d6a7;color:var(--ez-green)}
.ez-lbadge.medium{background:var(--ez-gold-bg);border-color:#ffe082;color:#7a5200}
.ez-lbadge.hard{background:var(--ez-red-bg);border-color:#ef9a9a;color:var(--ez-red)}
.ez-rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;max-width:680px;margin:0 auto 18px}
.ez-rule{background:var(--ez-surf);border:1px solid var(--ez-border);border-radius:var(--ez-r);padding:12px 13px;font-size:13px;line-height:1.5}
.ez-rule span{font-size:20px;display:block;margin-bottom:4px}
.ez-penalty-box{background:#edf7f0;border:1px solid #a5d6a7;border-radius:var(--ez-r);padding:10px 16px;max-width:580px;margin:0 auto 22px;font-size:13px;color:var(--ez-deep);text-align:center}
.ez-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:8px;border:none;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit}
.ez-btn-primary{background:var(--ez-primary);color:#fff}
.ez-btn-primary:hover{background:var(--ez-deep);transform:translateY(-1px)}
.ez-btn-ghost{background:transparent;color:var(--ez-muted);border:1.5px solid var(--ez-border)}
.ez-btn-ghost:hover{border-color:var(--ez-muted)}
.ez-btn-gold{background:var(--ez-gold);color:var(--ez-deep)}
.ez-btn-gold:hover{filter:brightness(1.06)}
.ez-btn-lg{padding:14px 34px;font-size:16px;border-radius:10px}
.ez-btn:disabled{opacity:.4;cursor:default;transform:none!important}
#ez-setup{text-align:center}
.ez-hud{display:flex;align-items:center;justify-content:space-between;background:var(--ez-deep);color:#fff;padding:10px 16px;border-radius:var(--ez-r);margin-bottom:12px;flex-wrap:wrap;gap:8px}
.ez-hud-brand{font-weight:800;font-size:14px;color:var(--ez-spray)}
.ez-hud-stats{display:flex;gap:18px}
.ez-hud-item{text-align:center}
.ez-hud-val{font-family:'Courier New',monospace;font-size:20px;font-weight:700;color:var(--ez-spray)}
.ez-hud-lbl{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#aaa}
.ez-hud-warn .ez-hud-val{color:var(--ez-gold);animation:ez-blink .9s infinite}
.ez-hud-crit .ez-hud-val{color:#ff6b6b;animation:ez-blink .4s infinite}
@keyframes ez-blink{50%{opacity:.3}}
.ez-scorebar{background:var(--ez-surf);border:1px solid var(--ez-border);border-radius:var(--ez-r);padding:13px 16px;margin-bottom:14px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ez-team-name{font-weight:800;font-size:17px;color:var(--ez-primary)}
.ez-big-pts{font-family:'Courier New',monospace;font-size:26px;font-weight:900;color:var(--ez-deep)}
.ez-sb-meta{font-size:12px;color:var(--ez-muted)}
.ez-prog-wrap{flex:1;min-width:120px}
.ez-prog-bar{height:6px;background:var(--ez-border);border-radius:99px;overflow:hidden;margin-top:4px}
.ez-prog-fill{height:100%;background:linear-gradient(90deg,var(--ez-light),var(--ez-primary));border-radius:99px;transition:width .5s ease}
#ez-missions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:600px){#ez-missions{grid-template-columns:1fr}}
.ez-mission{background:var(--ez-surf);border:1.5px solid var(--ez-border);border-radius:var(--ez-r);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.ez-mission.ez-m-active{border-color:var(--ez-light);box-shadow:0 0 0 3px rgba(0,0,0,.06)}
.ez-mission.ez-m-done{border-color:#81c784;background:#f9fdf9}
.ez-mission.ez-m-locked{opacity:.5}
.ez-mission.ez-m-fail{border-color:#ef9a9a;background:#fdf5f5}
.ez-mission.lvl-easy{border-left:4px solid #66bb6a}
.ez-mission.lvl-medium{border-left:4px solid var(--ez-gold)}
.ez-mission.lvl-hard{border-left:4px solid var(--ez-red)}
.ez-mission.ez-m-active,.ez-mission.ez-m-done{grid-column:span 2}
@media(max-width:600px){.ez-mission.ez-m-active,.ez-mission.ez-m-done{grid-column:span 1}}
.ez-m-head{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;user-select:none}
.ez-m-num{width:30px;height:30px;border-radius:50%;background:var(--ez-paper);border:2px solid var(--ez-border);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;color:var(--ez-muted);flex-shrink:0}
.ez-m-active .ez-m-num{background:var(--ez-light);border-color:var(--ez-light);color:#fff}
.ez-m-done .ez-m-num{background:var(--ez-green);border-color:var(--ez-green);color:#fff}
.ez-m-fail .ez-m-num{background:var(--ez-red);border-color:var(--ez-red);color:#fff}
.ez-m-info{flex:1;min-width:0}
.ez-m-meta{display:flex;align-items:center;gap:5px;margin-bottom:1px;flex-wrap:wrap}
.ez-m-cat{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ez-muted)}
.ez-m-lvl-tag{font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px}
.ez-m-lvl-tag.easy{background:var(--ez-grn-bg);color:var(--ez-green)}
.ez-m-lvl-tag.medium{background:var(--ez-gold-bg);color:#7a5200}
.ez-m-lvl-tag.hard{background:var(--ez-red-bg);color:var(--ez-red)}
.ez-m-title{font-weight:700;font-size:13px;color:var(--ez-deep);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ez-m-badge{font-size:10px;font-weight:700;font-family:'Courier New',monospace;padding:2px 7px;border-radius:99px;white-space:nowrap;background:var(--ez-paper);color:var(--ez-muted);border:1px solid var(--ez-border)}
.ez-m-active .ez-m-badge{background:#edf7f0;color:var(--ez-primary);border-color:#a5d6a7}
.ez-m-done .ez-m-badge{background:var(--ez-grn-bg);color:var(--ez-green);border-color:#a5d6a7}
.ez-m-fail .ez-m-badge{background:var(--ez-red-bg);color:var(--ez-red);border-color:#ef9a9a}
.ez-m-body{padding:0 14px 14px}
.ez-clue{background:var(--ez-paper);border-left:4px solid var(--ez-light);border-radius:0 8px 8px 0;padding:11px 13px;font-size:14px;line-height:1.6;margin-bottom:10px}
.ez-hint-btns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.ez-hint-chip{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:99px;font-size:11px;font-weight:700;cursor:pointer;transition:all .15s;font-family:inherit;border:1.5px dashed;background:transparent}
.ez-hint-chip.p1{border-color:var(--ez-gold);color:#7a5200}
.ez-hint-chip.p1:hover{background:var(--ez-gold-bg)}
.ez-hint-chip.p2{border-color:#e07b30;color:#a04f10}
.ez-hint-chip.p2:hover{background:#fef3ec}
.ez-hint-chip.p3{border-color:var(--ez-red);color:var(--ez-red)}
.ez-hint-chip.p3:hover{background:var(--ez-red-bg)}
.ez-hint-chip.used{opacity:.45;cursor:default;border-style:solid;pointer-events:none}
.ez-hint-reveal{background:var(--ez-gold-bg);border:1px solid #ffe082;border-radius:8px;padding:8px 11px;font-size:13px;color:#6b4c00;margin-bottom:5px;line-height:1.5;animation:ez-slide .2s ease}
.ez-hint-reveal.p2{background:#fef3ec;border-color:#f0c89a;color:#6b2f00}
.ez-hint-reveal.p3{background:var(--ez-red-bg);border-color:#ef9a9a;color:#7a1a10}
@keyframes ez-slide{from{opacity:0;transform:translateY(-4px)}}
.ez-ans-row{display:flex;gap:7px;margin-bottom:5px}
.ez-ans-input{flex:1;padding:9px 12px;border:2px solid var(--ez-border);border-radius:8px;font-size:14px;color:var(--ez-deep);background:#fff;outline:none;transition:border-color .2s;font-family:inherit}
.ez-ans-input:focus{border-color:var(--ez-light)}
.ez-ans-input.ez-ok{border-color:var(--ez-green);background:var(--ez-grn-bg)}
.ez-ans-input.ez-wrong{border-color:var(--ez-red);background:var(--ez-red-bg);animation:ez-shake .3s ease}
@keyframes ez-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.ez-fb{font-size:12px;font-weight:600;min-height:18px;padding:3px 0;color:var(--ez-muted)}
.ez-fb.ok{color:var(--ez-green)}
.ez-fb.err{color:var(--ez-red)}
.ez-done-banner{display:flex;align-items:center;gap:10px;background:var(--ez-grn-bg);border:1px solid #a5d6a7;border-radius:8px;padding:11px 13px}
.ez-done-pts{font-family:'Courier New',monospace;font-size:20px;font-weight:900;color:var(--ez-green)}
.ez-done-txt{font-size:13px;color:var(--ez-green)}
.ez-fail-banner{display:flex;align-items:center;gap:10px;background:var(--ez-red-bg);border:1px solid #ef9a9a;border-radius:8px;padding:11px 13px;font-size:13px;color:var(--ez-red)}
.ez-bonus-card{background:var(--ez-surf);border:2px solid var(--ez-gold);border-radius:var(--ez-r);padding:20px;margin:14px 0}
.ez-bonus-title{font-size:17px;font-weight:800;color:var(--ez-deep);margin-bottom:4px}
.ez-bonus-sub{font-size:13px;color:var(--ez-muted);margin-bottom:12px}
.ez-case-box{background:#fffde7;border-left:4px solid var(--ez-gold);border-radius:0 8px 8px 0;padding:12px 14px;font-size:14px;line-height:1.7;margin-bottom:12px}
.ez-qlist{padding-left:18px;margin-bottom:12px}
.ez-qlist li{font-size:13px;color:var(--ez-deep);padding:5px 0;border-bottom:1px solid var(--ez-border);line-height:1.5}
.ez-qlist li:last-child{border-bottom:none}
.ez-textarea{width:100%;min-height:110px;padding:10px 12px;border:2px solid var(--ez-border);border-radius:8px;resize:vertical;font-size:14px;font-family:inherit;color:var(--ez-ink);background:#fff;outline:none;transition:border .2s}
.ez-textarea:focus{border-color:var(--ez-gold)}
.ez-expected{background:#fffde7;border:1px solid #ffe082;border-radius:8px;padding:12px 14px;font-size:13px;color:#6b4c00;line-height:1.7;margin:12px 0}
.ez-self-score-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ez-score-input{width:74px;padding:8px 10px;border:2px solid var(--ez-border);border-radius:8px;font-size:16px;font-weight:700;text-align:center;font-family:'Courier New',monospace;outline:none;background:#fff}
.ez-score-input:focus{border-color:var(--ez-gold)}
.ez-cert-doc{background:#fff;border:3px solid var(--ez-primary);border-radius:16px;padding:40px 32px;max-width:660px;margin:28px auto 14px;text-align:center;position:relative;overflow:hidden}
.ez-cert-doc::before{content:'';position:absolute;inset:7px;border:1.5px solid rgba(0,0,0,.08);border-radius:10px;pointer-events:none}
.ez-cert-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:120px;opacity:.04;user-select:none;pointer-events:none;font-weight:900;color:var(--ez-primary)}
.ez-cert-seal{width:60px;height:60px;border-radius:50%;background:var(--ez-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 10px;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.ez-cert-issuer{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--ez-muted);margin-bottom:18px}
.ez-cert-headline{font-size:13px;color:var(--ez-muted);margin-bottom:4px}
.ez-cert-name{font-size:clamp(20px,5vw,34px);font-weight:900;color:var(--ez-deep);margin-bottom:16px;line-height:1.2}
.ez-cert-subject{background:var(--ez-paper);border-radius:8px;padding:11px 16px;margin-bottom:18px;font-size:14px;color:var(--ez-primary);font-weight:600;line-height:1.5}
.ez-cert-grade{display:inline-block;font-size:42px;font-weight:900;padding:7px 24px;border-radius:12px;margin-bottom:16px}
.ez-cert-grade.gold{background:linear-gradient(135deg,#fff9c4,#fff176);color:#7a5200;border:2px solid var(--ez-gold)}
.ez-cert-grade.silver{background:linear-gradient(135deg,#f0f4f8,#e0e8f0);color:#3a5068;border:2px solid #90a4ae}
.ez-cert-grade.bronze{background:linear-gradient(135deg,#fdf0e8,#fae0cc);color:#7a3a10;border:2px solid #e08050}
.ez-cert-grade.basic{background:var(--ez-paper);color:var(--ez-muted);border:2px solid var(--ez-border)}
.ez-cert-stats{display:flex;border:1.5px solid var(--ez-border);border-radius:8px;overflow:hidden;margin-bottom:14px}
.ez-cert-stat{flex:1;padding:12px 8px;border-right:1px solid var(--ez-border)}
.ez-cert-stat:last-child{border-right:none}
.ez-cert-stat-val{font-family:'Courier New',monospace;font-size:24px;font-weight:900;color:var(--ez-primary)}
.ez-cert-stat-lbl{font-size:10px;color:var(--ez-muted);margin-top:2px}
.ez-cert-breakdown{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ez-cert-lvl-chip{font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px}
.ez-cert-lvl-chip.easy{background:var(--ez-grn-bg);color:var(--ez-green);border:1px solid #a5d6a7}
.ez-cert-lvl-chip.medium{background:var(--ez-gold-bg);color:#7a5200;border:1px solid #ffe082}
.ez-cert-lvl-chip.hard{background:var(--ez-red-bg);color:var(--ez-red);border:1px solid #ef9a9a}
.ez-cert-hintlog{font-size:12px;color:var(--ez-muted);margin-bottom:12px;font-style:italic}
.ez-cert-date{font-size:12px;color:var(--ez-muted);margin-top:12px}
.ez-cert-footnote{font-size:11px;color:#aaa;margin-top:12px;border-top:1px solid var(--ez-border);padding-top:10px}
.ez-cert-actions{text-align:center;display:flex;gap:10px;justify-content:center;padding-bottom:20px}
@media print{.ez-no-print{display:none!important}.ez-hud,.ez-scorebar,#ez-setup,#ez-game{display:none!important}.ez-cert-doc{border:3px solid #1b6b3a!important}.ez-root{padding:0;max-width:100%}}
@media(max-width:480px){.ez-cert-stats{flex-wrap:wrap}.ez-cert-stat{flex:1 1 45%;border-right:none;border-bottom:1px solid var(--ez-border)}.ez-hud-stats{gap:12px}}
