.practica-alumno {
    --pa-ink: #0b3650;
    --pa-muted: #526b7d;
    --pa-paper: #fff;
    --pa-canvas: #f5f9fc;
    --pa-blue: #269bd2;
    --pa-teal: #078f8b;
    --pa-teal-dark: #066b70;
    --pa-mint: #dff5ea;
    --pa-coral: #ff715e;
    --pa-yellow: #ffc83d;
    --pa-line: #cbdde7;
    --pa-shadow: 0 9px 24px rgba(28, 76, 104, .13);
    min-height: calc(100vh - 70px);
    margin: 0 -12px -24px;
    padding: clamp(1.1rem, 2.8vw, 2.75rem);
    overflow: clip;
    color: var(--pa-ink);
    background:
        radial-gradient(circle at 7% 3%, rgba(55, 158, 222, .20), transparent 32rem),
        radial-gradient(circle at 94% 8%, rgba(153, 218, 111, .17), transparent 34rem),
        radial-gradient(circle at 72% 82%, rgba(63, 190, 157, .12), transparent 30rem),
        linear-gradient(135deg, #f5faff 0%, #f4f8fb 50%, #f4fcf8 100%);
    font-family: "Inter", "Aptos", "Segoe UI", sans-serif;
}

.practica-alumno *, .practica-alumno *::before, .practica-alumno *::after { box-sizing: border-box; }
.practica-alumno h1, .practica-alumno h2, .practica-alumno h3, .practica-alumno p { margin-top: 0; }
.practica-alumno h1, .practica-alumno h2, .practica-alumno h3 { color: var(--pa-ink); font-family: inherit; text-wrap: balance; }
.practica-alumno a { color: inherit; }
.practica-alumno button, .practica-alumno input, .practica-alumno select { font: inherit; }
.practica-alumno :focus-visible { outline: 3px solid #176db1; outline-offset: 3px; }

/* Catalog hero */
.practica-alumno .pa-student-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
    min-height: 305px;
    max-width: 1320px;
    margin: 0 auto 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 32px;
    background:
        radial-gradient(circle at 82% 28%, rgba(255, 209, 55, .23), transparent 16rem),
        linear-gradient(115deg, rgba(35, 158, 224, .93), rgba(5, 143, 139, .88) 55%, rgba(142, 205, 91, .80));
    box-shadow: 0 12px 30px rgba(23, 98, 126, .20), inset 0 1px 2px rgba(255,255,255,.75);
}
.practica-alumno .pa-student-hero__copy { position: relative; z-index: 2; padding: clamp(2rem, 4.6vw, 4rem); color: #fff; }
.practica-alumno .pa-student-eyebrow { display: flex; align-items: center; gap: .55rem; margin-bottom: .65rem; color: var(--pa-teal-dark); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.practica-alumno .pa-student-eyebrow > span { width: 24px; height: 3px; border-radius: 99px; background: var(--pa-yellow); }
.practica-alumno .pa-student-hero .pa-student-eyebrow { color: #fff; }
.practica-alumno .pa-student-hero h1 { max-width: 720px; margin-bottom: .75rem; color: #fff; font-size: clamp(2.75rem, 5.3vw, 5rem); font-weight: 800; line-height: .94; letter-spacing: -.045em; text-shadow: 0 3px 7px rgba(3, 65, 90, .20); }
.practica-alumno .pa-student-hero h1 em { color: var(--pa-yellow); font-style: normal; font-weight: inherit; }
.practica-alumno .pa-student-hero__copy > p:last-child { max-width: 620px; margin-bottom: 0; color: #f5ffff; font-size: 1.05rem; line-height: 1.55; }
.practica-alumno .pa-student-hero__composition { position: relative; min-height: 240px; }
.practica-alumno .pa-student-shape { position: absolute; display: grid; place-items: center; color: var(--pa-ink); box-shadow: 0 8px 15px rgba(5, 62, 75, .25), inset 0 1px 1px rgba(255,255,255,.65); }
.practica-alumno .pa-student-shape--one { width: 142px; height: 142px; top: 8%; left: 3%; border-radius: 50%; background: var(--pa-coral); }
.practica-alumno .pa-student-shape--two { width: 94px; height: 94px; right: 12%; bottom: 15px; transform: rotate(16deg); border-radius: 22px; background: var(--pa-yellow); }
.practica-alumno .pa-student-shape--three { width: 78px; height: 78px; top: 12%; right: 15%; transform: rotate(-9deg); border-radius: 19px; background: #fff; font-size: 2rem; }
.practica-alumno .pa-student-shape--four { width: 76px; height: 76px; left: 31%; bottom: 13%; border-radius: 22px; background: rgba(231, 250, 242, .93); font-size: 1.5rem; font-weight: 800; }

/* Sections and cards */
.practica-alumno .pa-student-section { max-width: 1320px; margin: 0 auto 2.1rem; }
.practica-alumno .pa-student-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .8rem; }
.practica-alumno .pa-student-section__heading p { margin-bottom: .2rem; color: var(--pa-teal-dark); font-size: .65rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.practica-alumno .pa-student-section__heading h2 { margin-bottom: 0; font-size: 1.65rem; font-weight: 800; letter-spacing: -.025em; }
.practica-alumno .pa-student-count { padding: .4rem .7rem; border: 1px solid #9ccfc4; border-radius: 99px; background: rgba(229, 248, 241, .9); color: #075f60; font-size: .72rem; font-weight: 800; }
.practica-alumno .pa-student-spark { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: var(--pa-yellow); box-shadow: 0 5px 12px rgba(128, 91, 0, .17); font-size: 1.2rem; }
.practica-alumno .pa-student-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.practica-alumno .pa-student-grid--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.practica-alumno .pa-student-card { min-width: 0; overflow: hidden; border: 1px solid #c9dce7; border-radius: 20px; background: rgba(255,255,255,.94); box-shadow: var(--pa-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.practica-alumno .pa-student-card:hover { transform: translateY(-3px); box-shadow: 0 13px 28px rgba(28, 76, 104, .18); }
.practica-alumno .pa-student-card__action { display: grid; height: 100%; overflow: hidden; color: inherit; text-decoration: none; }
.practica-alumno .pa-student-card__cover { position: relative; min-height: 178px; overflow: hidden; background: var(--card-accent, var(--pa-mint)); }
.practica-alumno .pa-student-card__cover img { display: block; width: 100%; height: 100%; min-height: 178px; object-fit: cover; }
.practica-alumno .pa-student-card__art { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(145deg, rgba(255,255,255,.35), transparent 45%), var(--card-accent, var(--pa-mint)); }
.practica-alumno .pa-student-card__art strong { position: absolute; right: 9%; bottom: -15%; color: rgba(9, 70, 76, .82); font-size: clamp(6.5rem, 11vw, 9rem); font-weight: 850; line-height: 1; }
.practica-alumno .pa-student-card__art span { position: absolute; display: block; background: var(--card-pop, var(--pa-yellow)); box-shadow: 0 5px 12px rgba(16, 75, 84, .15); }
.practica-alumno .pa-student-card__art span:nth-child(1) { width: 76px; height: 76px; top: 18px; left: 22px; transform: rotate(15deg); border-radius: 22px; }
.practica-alumno .pa-student-card__art span:nth-child(2) { width: 42px; height: 42px; left: 95px; bottom: 18px; border-radius: 50%; background: rgba(255,255,255,.88); }
.practica-alumno .pa-student-card__art span:nth-child(3) { width: 110px; height: 18px; top: 28px; right: -32px; transform: rotate(-28deg); border-radius: 99px; background: var(--pa-coral); }
.practica-alumno .pa-student-card--v1 { --card-accent: #ccefe1; --card-pop: #ffc83d; }
.practica-alumno .pa-student-card--v2 { --card-accent: #cfeafa; --card-pop: #9ee0d0; }
.practica-alumno .pa-student-card--v3 { --card-accent: #dff2cc; --card-pop: #ffc83d; }
.practica-alumno .pa-student-card--v4 { --card-accent: #d6e8f4; --card-pop: #ff826f; }
.practica-alumno .pa-student-status { display: inline-flex; align-items: center; gap: .28rem; padding: .34rem .58rem; border-radius: 99px; color: var(--pa-ink); font-size: .67rem; font-weight: 800; line-height: 1; }
.practica-alumno .pa-student-card__cover > .pa-student-status { position: absolute; z-index: 2; top: 12px; right: 12px; box-shadow: 0 3px 10px rgba(23,71,84,.12); }
.practica-alumno .pa-student-status--progress { background: #fff0ad; }
.practica-alumno .pa-student-status--complete { background: #c9f0da; }
.practica-alumno .pa-student-status--new { background: #ffd8d1; }
.practica-alumno .pa-student-card__body { display: flex; min-height: 245px; flex-direction: column; padding: 1rem; }
.practica-alumno .pa-student-card__meta { display: flex; flex-wrap: wrap; gap: .4rem .75rem; margin-bottom: .5rem; color: var(--pa-muted); font-size: .65rem; font-weight: 700; }
.practica-alumno .pa-student-card__meta span { display: inline-flex; align-items: center; gap: .25rem; }
.practica-alumno .pa-student-card h3 { margin-bottom: .4rem; font-size: 1.03rem; font-weight: 800; line-height: 1.2; }
.practica-alumno .pa-student-card__body > p { display: -webkit-box; margin-bottom: .75rem; overflow: hidden; color: #38586c; font-size: .76rem; line-height: 1.45; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.practica-alumno .pa-student-chip-list { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0 0 .8rem; padding: 0; list-style: none; }
.practica-alumno .pa-student-chip-list li { padding: .25rem .45rem; border: 1px solid #7ec4b7; border-radius: 6px; background: #e9f8f3; color: #145c5c; font-size: .62rem; font-weight: 700; }
.practica-alumno .pa-student-chip-list li.is-primary { border-color: #56aa9c; background: #d9f2e9; }
.practica-alumno .pa-student-card__footer { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-top: auto; padding-top: .7rem; border-top: 1px solid #dce7ec; }
.practica-alumno .pa-student-card__levels { overflow: hidden; color: var(--pa-muted); font-size: .65rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.practica-alumno .pa-student-card__arrow { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 50%; background: var(--pa-yellow); box-shadow: 0 4px 10px rgba(143, 100, 0, .16); transition: transform .18s ease; }
.practica-alumno .pa-student-card:hover .pa-student-card__arrow { transform: translateX(3px); }

.practica-alumno .pa-student-grid--featured .pa-student-card__action { grid-template-columns: 44% 56%; }
.practica-alumno .pa-student-grid--featured .pa-student-card__cover { min-height: 260px; }
.practica-alumno .pa-student-grid--featured .pa-student-card__cover img { min-height: 260px; }
.practica-alumno .pa-student-grid--featured .pa-student-card__body { min-height: 260px; }

/* Filters and states */
.practica-alumno .pa-student-filters { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)) auto; align-items: end; gap: .75rem; margin: .9rem 0 .5rem; }
.practica-alumno .pa-student-filters label { display: block; margin: 0 0 .3rem .1rem; color: var(--pa-teal-dark); font-size: .63rem; font-weight: 850; text-transform: uppercase; }
.practica-alumno .pa-student-filters input, .practica-alumno .pa-student-filters select { width: 100%; min-height: 44px; border: 1px solid #bfd3df; border-radius: 10px; background: rgba(255,255,255,.92); color: var(--pa-ink); }
.practica-alumno .pa-student-filters select { padding: .6rem 2rem .6rem .75rem; }
.practica-alumno .pa-student-search { position: relative; grid-column: 1 / -1; align-self: end; }
.practica-alumno .pa-student-search i { position: absolute; top: 50%; left: .8rem; transform: translateY(-50%); color: var(--pa-teal-dark); font-size: 1.05rem; }
.practica-alumno .pa-student-search input { padding: .6rem .8rem .6rem 2.45rem; }
.practica-alumno .pa-student-clear { min-height: 44px; padding: .6rem .75rem; border: 0; border-radius: 10px; background: transparent; color: var(--pa-teal-dark); font-weight: 800; }
.practica-alumno .pa-student-results { margin-bottom: .75rem; color: var(--pa-muted); font-size: .78rem; }
.practica-alumno .pa-student-inline-note { display: flex; min-height: 76px; align-items: center; gap: .8rem; padding: 1rem 1.2rem; border: 1px solid var(--pa-line); border-radius: 16px; background: rgba(255,255,255,.78); color: var(--pa-muted); }
.practica-alumno .pa-student-inline-note i { color: var(--pa-teal-dark); font-size: 1.6rem; }
.practica-alumno .pa-student-inline-note p { margin: 0; }
.practica-alumno .pa-student-message, .practica-alumno .pa-student-no-results { max-width: 700px; margin: 4rem auto; padding: clamp(2rem, 5vw, 3.5rem); border: 1px solid var(--pa-line); border-radius: 24px; background: rgba(255,255,255,.94); box-shadow: var(--pa-shadow); text-align: center; }
.practica-alumno .pa-student-message h1, .practica-alumno .pa-student-message h2, .practica-alumno .pa-student-no-results h3 { margin: .8rem 0 .5rem; font-size: 1.6rem; }
.practica-alumno .pa-student-message p, .practica-alumno .pa-student-no-results p { color: var(--pa-muted); }
.practica-alumno .pa-student-message__icon, .practica-alumno .pa-student-no-results > span { display: grid; width: 64px; height: 64px; margin: 0 auto; place-items: center; border-radius: 50%; background: var(--pa-yellow); font-size: 1.8rem; }
.practica-alumno .pa-student-message--error .pa-student-message__icon { background: #ffd8d1; }
.practica-alumno .pa-student-loader { display: block; width: 52px; height: 52px; margin: 0 auto 1rem; border: 6px solid var(--pa-mint); border-top-color: var(--pa-teal); border-radius: 50%; animation: pa-student-spin .8s linear infinite; }
.practica-alumno .pa-student-button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1.1rem; border: 1px solid #8eb5c3; border-radius: 11px; font-weight: 800; text-decoration: none; }
.practica-alumno .pa-student-button--secondary { background: #fff; color: var(--pa-ink); box-shadow: 0 4px 10px rgba(28,76,104,.08); }
.practica-alumno .pa-student-button--primary { width: 100%; min-height: 52px; border-color: var(--pa-teal); background: var(--pa-teal); color: #fff; box-shadow: 0 7px 16px rgba(6,107,112,.20); }
.practica-alumno .pa-student-button--primary:hover:not(:disabled) { background: var(--pa-teal-dark); }
.practica-alumno .pa-student-button:disabled { cursor: not-allowed; opacity: .55; }

/* Activity detail */
.practica-alumno .pa-student-back { max-width: 1200px; margin: 0 0 1rem; }
.practica-alumno .pa-student-back a { display: inline-flex; min-height: 42px; align-items: center; gap: .4rem; color: var(--pa-teal-dark); font-weight: 800; text-decoration: none; }
.practica-alumno .pa-student-detail > article { max-width: 1200px; margin: 0 auto 3rem; }
.practica-alumno .pa-student-detail-hero { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 350px; overflow: hidden; border: 1px solid rgba(255,255,255,.9); border-radius: 28px; background: linear-gradient(120deg, #259ed7, #098f8b 65%, #83c86b); box-shadow: var(--pa-shadow); }
.practica-alumno .pa-student-detail-hero__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4rem); color: #fff; }
.practica-alumno .pa-student-detail-hero__badges { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1rem; }
.practica-alumno .pa-student-detail-hero__badges > span:first-child { display: inline-flex; align-items: center; gap: .3rem; padding: .36rem .62rem; border-radius: 99px; background: rgba(255,255,255,.9); color: var(--pa-ink); font-size: .7rem; font-weight: 800; }
.practica-alumno .pa-student-detail-hero h1 { margin-bottom: .8rem; color: #fff; font-size: clamp(2.4rem, 4.8vw, 4.4rem); font-weight: 800; line-height: .98; letter-spacing: -.04em; }
.practica-alumno .pa-student-detail-hero__copy > p { max-width: 620px; margin-bottom: 0; color: #efffff; font-size: 1.05rem; line-height: 1.6; }
.practica-alumno .pa-student-detail-hero__cover { min-height: 300px; background: var(--card-accent); }
.practica-alumno .pa-student-detail-hero__cover img { width: 100%; height: 100%; object-fit: cover; }
.practica-alumno .pa-student-detail-art { position: relative; height: 100%; min-height: 350px; overflow: hidden; }
.practica-alumno .pa-student-detail-art strong { position: absolute; right: 5%; bottom: -12%; color: rgba(9,70,76,.82); font-size: clamp(10rem, 22vw, 17rem); font-weight: 850; line-height: 1; }
.practica-alumno .pa-student-detail-art span { position: absolute; background: var(--card-pop); box-shadow: 0 7px 16px rgba(13,71,80,.15); }
.practica-alumno .pa-student-detail-art span:nth-child(1) { width: 120px; height: 120px; top: 12%; left: 10%; transform: rotate(18deg); border-radius: 30px; }
.practica-alumno .pa-student-detail-art span:nth-child(2) { width: 74px; height: 74px; top: 42%; right: 12%; border-radius: 50%; background: rgba(255,255,255,.9); }
.practica-alumno .pa-student-detail-art span:nth-child(3) { width: 150px; height: 25px; left: -30px; bottom: 12%; transform: rotate(-30deg); border-radius: 99px; background: var(--pa-coral); }
.practica-alumno .pa-student-detail-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(300px, .7fr); align-items: start; gap: 1.25rem; margin-top: 1.5rem; }
.practica-alumno .pa-student-detail-main { display: grid; gap: 1.25rem; }
.practica-alumno .pa-student-paper, .practica-alumno .pa-student-summary { padding: clamp(1.3rem, 3vw, 2rem); border: 1px solid var(--pa-line); border-radius: 20px; background: rgba(255,255,255,.92); box-shadow: 0 6px 18px rgba(28,76,104,.07); }
.practica-alumno .pa-student-paper h2, .practica-alumno .pa-student-summary h2 { margin-bottom: .8rem; font-size: 1.45rem; font-weight: 800; }
.practica-alumno .pa-student-instructions { color: #38586c; font-size: 1rem; line-height: 1.7; white-space: pre-wrap; }
.practica-alumno .pa-student-skill-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: 0; padding: 0; list-style: none; }
.practica-alumno .pa-student-skill-list li { display: flex; min-height: 60px; align-items: center; gap: .65rem; padding: .7rem; border: 1px solid #c8dfe2; border-radius: 13px; background: #f4fbf8; }
.practica-alumno .pa-student-skill-list li > span { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; background: var(--pa-mint); color: var(--pa-teal-dark); }
.practica-alumno .pa-student-skill-list strong, .practica-alumno .pa-student-skill-list small { display: block; }
.practica-alumno .pa-student-skill-list small { color: var(--pa-muted); }
.practica-alumno .pa-student-detail-aside { position: sticky; top: 90px; }
.practica-alumno .pa-student-summary dl { margin: 0; }
.practica-alumno .pa-student-summary dl > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid #dce7ec; }
.practica-alumno .pa-student-summary dt { color: var(--pa-muted); font-weight: 700; }
.practica-alumno .pa-student-summary dt i { margin-right: .3rem; color: var(--pa-teal-dark); }
.practica-alumno .pa-student-summary dd { margin: 0; font-size: 1.08rem; font-weight: 850; }
.practica-alumno .pa-student-summary__levels { margin: 1rem 0; }
.practica-alumno .pa-student-summary__levels h3 { margin-bottom: .5rem; font-size: .7rem; text-transform: uppercase; }
.practica-alumno .pa-student-summary__levels ul { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.practica-alumno .pa-student-summary__levels li { padding: .3rem .55rem; border-radius: 7px; background: var(--pa-mint); color: #145c5c; font-size: .7rem; font-weight: 800; }

/* Interactive runtime */
.practica-alumno.pa-runtime { max-width: 1080px; margin: 0 auto; }
.practica-alumno .pa-runtime-topbar { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.practica-alumno .pa-runtime-topbar > a { color: var(--pa-teal-dark); font-weight: 850; text-decoration: none; }
.practica-alumno .pa-runtime-score { padding: .5rem .9rem; border-radius: 99px; background: var(--pa-yellow); box-shadow: 0 4px 10px rgba(143,100,0,.14); }
.practica-alumno .pa-runtime-abandon { justify-self: end; border: 0; background: transparent; color: #a13d35; font-weight: 800; }
.practica-alumno .pa-runtime-progress { margin-bottom: .8rem; }
.practica-alumno .pa-runtime-progress > div { display: flex; justify-content: space-between; margin-bottom: .3rem; color: var(--pa-muted); font-size: .78rem; font-weight: 800; }
.practica-alumno .pa-runtime-progress progress { width: 100%; height: 10px; overflow: hidden; border: 0; border-radius: 99px; accent-color: var(--pa-teal); }
.practica-alumno .pa-runtime-card { overflow: hidden; border: 1px solid var(--pa-line); border-radius: 24px; background: rgba(255,255,255,.95); box-shadow: var(--pa-shadow); }
.practica-alumno .pa-runtime-card > header { padding: clamp(1.5rem, 4vw, 2.7rem); border-bottom: 1px solid #dbe7ec; background: linear-gradient(135deg, #fff 0 72%, #e4f7f1 72%); }
.practica-alumno .pa-runtime-card h1 { max-width: 800px; margin: .4rem 0 .7rem; font-size: clamp(1.7rem, 3.8vw, 2.8rem); font-weight: 800; line-height: 1.1; }
.practica-alumno .pa-runtime-content { max-width: 760px; color: #38586c; font-size: 1.04rem; line-height: 1.6; white-space: pre-wrap; }
.practica-alumno .pa-runtime-card details { max-width: 760px; margin-top: 1rem; color: var(--pa-teal-dark); }
.practica-alumno .pa-runtime-card details summary { cursor: pointer; font-weight: 800; }
.practica-alumno .pa-runtime-interaction { min-height: 250px; padding: clamp(1.4rem, 4vw, 2.6rem); }
.practica-alumno .pa-runtime-card > footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem clamp(1.4rem, 4vw, 2.6rem); border-top: 1px solid #d5e3e8; background: #f4f9f8; color: var(--pa-muted); font-size: .78rem; font-weight: 800; }
.practica-alumno .pa-runtime-card > footer .pa-student-button { width: auto; min-width: 190px; }
.practica-alumno .pa-runtime-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: 1rem; }
.practica-alumno .pa-runtime-skip { color: var(--pa-teal-dark); box-shadow: none; }
.practica-alumno .pa-runtime-skip:hover:not(:disabled) { border-color: var(--pa-teal); background: var(--pa-mint); }
.practica-alumno .pa-runtime-error { margin: 0 2rem 1rem; padding: .75rem 1rem; border-radius: 10px; background: #ffe8e3; color: #78332c; }
.practica-alumno .pa-runtime-challenge-media { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-bottom: 1.25rem; padding: .75rem; border: 1px solid #c9dce4; border-radius: 14px; background: #f7fbfa; }
.practica-alumno .pa-runtime-challenge-media img { display: block; width: auto; height: auto; max-width: min(100%, 360px); max-height: 220px; margin: auto; object-fit: contain; }
.practica-alumno .pa-runtime-challenge-media audio { width: min(100%, 360px); }
.practica-alumno .pa-runtime-element-media { display: flex; width: 72px; height: 58px; flex: 0 0 72px; align-items: center; justify-content: center; overflow: hidden; padding: 4px; border: 1px solid #d7e3e8; border-radius: 9px; background: #fff; }
.practica-alumno .pa-runtime-element-media img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.practica-alumno .pa-speaking-meter { --audio-level: 0; display: grid; grid-template-columns: auto minmax(120px, 240px) minmax(170px, auto); width: fit-content; max-width: 100%; align-items: center; gap: .65rem; margin-top: .8rem; padding: .65rem .8rem; border: 1px solid #a9c3ce; border-radius: 12px; background: #f7fafb; color: #496773; transition: border-color .2s ease, background-color .2s ease, color .2s ease; }
.practica-alumno .pa-speaking-meter__icon { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #dbe8ed; font-size: 1.15rem; }
.practica-alumno .pa-speaking-meter__wave { display: flex; width: 100%; height: 34px; align-items: center; justify-content: center; gap: 3px; padding: 3px 8px; overflow: hidden; border-radius: 10px; background: #dfe9ed; box-shadow: inset 0 1px 2px rgba(11,54,80,.10); }
.practica-alumno .pa-speaking-meter__wave > span { --bar-level: 0; width: 4px; height: 100%; flex: 1 1 4px; max-width: 7px; border-radius: 99px; background: #789ba8; transform: scaleY(calc(.12 + var(--bar-level) * .88)); transition: transform .07s linear, background-color .2s ease; }
.practica-alumno .pa-speaking-meter__status { font-size: .78rem; font-weight: 800; }
.practica-alumno .pa-speaking-meter.is-active { border-color: #62b4a3; background: #eaf8f3; color: #145c5c; }
.practica-alumno .pa-speaking-meter.is-active .pa-speaking-meter__icon { background: #bfe9d8; }
.practica-alumno .pa-speaking-meter.is-active .pa-speaking-meter__wave > span { background: #078f8b; }
.practica-alumno .pa-speaking-meter.is-silent { border-color: #e6aa5d; background: #fff7e8; color: #81501a; }
.practica-alumno .pa-speaking-meter.is-silent .pa-speaking-meter__icon { background: #ffe2b9; }
.practica-alumno .pa-speaking-meter.is-silent .pa-speaking-meter__wave > span { background: #c58a42; }
@media (max-width: 520px) {
    .practica-alumno .pa-speaking-meter { grid-template-columns: auto minmax(0, 1fr); width: 100%; }
    .practica-alumno .pa-speaking-meter__status { grid-column: 1 / -1; }
}
.practica-alumno .pa-runtime-options, .practica-alumno .pa-runtime-pairs { margin: 0; padding: 0; border: 0; }
.practica-alumno .pa-runtime-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.practica-alumno .pa-runtime-option { position: relative; display: flex; min-height: 70px; align-items: center; gap: .75rem; padding: 1rem; border: 2px solid #bfd2dc; border-radius: 15px; background: #fff; cursor: pointer; font-weight: 750; transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.practica-alumno .pa-runtime-option:hover { border-color: #69b7af; transform: translateY(-1px); }
.practica-alumno .pa-runtime-option input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.practica-alumno .pa-runtime-option::before { width: 22px; height: 22px; flex: 0 0 22px; border: 2px solid #88aab5; border-radius: 50%; content: ""; box-shadow: inset 0 0 0 5px #fff; }
.practica-alumno .pa-runtime-option--media { min-height: 112px; }
.practica-alumno .pa-runtime-option__media { display: flex; width: 120px; height: 96px; flex: 0 0 120px; align-items: center; justify-content: center; overflow: hidden; padding: 8px; border: 1px solid #d7e3e8; border-radius: 10px; background: #fff; }
.practica-alumno .pa-runtime-option__media img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; }
.practica-alumno .pa-runtime-option:has(input:checked) { border-color: var(--pa-teal); background: #e8f8f3; box-shadow: 0 5px 13px rgba(6,107,112,.12); }
.practica-alumno .pa-runtime-option:has(input:checked)::before { border-color: var(--pa-teal); background: var(--pa-teal); }
.practica-alumno .pa-runtime-fill blockquote { margin: 0 0 1.3rem; padding: 1.2rem; border-radius: 14px; background: #edf8f5; color: var(--pa-ink); font-size: 1.12rem; line-height: 1.6; white-space: pre-wrap; }
.practica-alumno .pa-runtime-fill label, .practica-alumno .pa-runtime-pairs legend { display: block; margin-bottom: .5rem; font-weight: 850; }
.practica-alumno .pa-runtime-fill select, .practica-alumno .pa-runtime-pair-row select { width: 100%; min-height: 52px; padding: .7rem; border: 2px solid #aac4ce; border-radius: 12px; background: #fff; color: var(--pa-ink); }
.practica-alumno .pa-runtime-order ol { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.practica-alumno .pa-runtime-order li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; min-height: 60px; padding: .55rem .7rem; border: 1px solid #bfd2dc; border-radius: 13px; background: #fff; }
.practica-alumno .pa-runtime-order li.has-media { grid-template-columns: auto auto 1fr auto; }
.practica-alumno .pa-runtime-order__number { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--pa-mint); color: var(--pa-teal-dark); font-weight: 850; }
.practica-alumno .pa-runtime-order__actions { display: flex; gap: .3rem; }
.practica-alumno .pa-runtime-order__actions button { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid #9ebbc6; border-radius: 9px; background: #f8fbfc; color: var(--pa-ink); }
.practica-alumno .pa-runtime-order__actions button:disabled { opacity: .35; }
.practica-alumno .pa-runtime-pairs { display: grid; gap: .7rem; }
.practica-alumno .pa-runtime-pair-gallery { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .6rem; margin-bottom: .4rem; }
.practica-alumno .pa-runtime-pair-gallery > div { display: flex; min-height: 76px; align-items: center; gap: .6rem; padding: .55rem; border: 1px solid #c8dce4; border-radius: 11px; background: #f7fbfa; font-weight: 800; }
.practica-alumno .pa-runtime-pair-row { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 1rem; padding: .75rem; border: 1px solid #bfd2dc; border-radius: 13px; background: #fff; }
.practica-alumno .pa-runtime-pair-row label { display: flex; align-items: center; gap: .65rem; font-weight: 800; }
.practica-alumno .pa-runtime-drag-drop { margin: 0; padding: 0; border: 0; touch-action: none; user-select: none; }
.practica-alumno .pa-runtime-drag-drop > legend { font-weight: 850; }
.practica-alumno .pa-runtime-drag-drop > p { color: #496773; }
.practica-alumno .pa-runtime-drag-drop__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.practica-alumno .pa-runtime-drag-drop__sources, .practica-alumno .pa-runtime-drag-drop__targets { display: grid; gap: .65rem; }
.practica-alumno .pa-runtime-drag-drop__sources button, .practica-alumno .pa-runtime-drag-drop__targets [data-drag-target] { min-height: 56px; padding: .7rem 1rem; border: 2px dashed #78aab7; border-radius: 12px; background: #fff; color: var(--pa-ink); font-weight: 800; text-align: left; }
.practica-alumno .pa-runtime-drag-drop__sources button, .practica-alumno .pa-runtime-drag-drop__targets [data-drag-target] button { align-items: center; gap: .65rem; }
.practica-alumno .pa-runtime-drag-drop__sources button { display: flex; width: 100%; }
.practica-alumno .pa-runtime-drag-drop__sources button { border-style: solid; cursor: grab; }
.practica-alumno .pa-runtime-drag-drop__sources button.is-selected { border-color: var(--pa-teal); background: #e8f8f3; box-shadow: 0 0 0 3px rgba(6,107,112,.15); }
.practica-alumno .pa-runtime-drag-drop__targets [data-drag-target] button { display: flex; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font-weight: inherit; text-align: inherit; }
.practica-alumno .pa-runtime-drag-drop__targets [data-drag-target].is-filled { border-style: solid; border-color: #3aa878; background: #e5f7ed; }
.practica-alumno .pa-runtime-drag-drop__targets [data-drag-target].is-wrong { border-color: #e45151; background: #ffebe8; color: #983b32; animation: pa-drag-drop-wrong .5s ease-in-out 3; }
.practica-alumno .gu-mirror { min-width: 180px; border: 2px solid var(--pa-teal); border-radius: 12px; background: #fff; box-shadow: 0 10px 24px rgba(6,107,112,.24); color: var(--pa-ink); opacity: 1 !important; }
@keyframes pa-drag-drop-wrong { 50% { border-color: #983b32; background: #ffd4cf; transform: translateX(5px); } }
.practica-alumno .pa-runtime-memory__help { margin-bottom: 1rem; color: #496773; font-weight: 700; }
.practica-alumno .pa-runtime-memory__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: 0 0 1rem; }
.practica-alumno .pa-runtime-memory__stats div { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; padding: .7rem .85rem; border: 1px solid #b9d2d8; border-radius: 12px; background: #f5fbfa; color: #496773; }
.practica-alumno .pa-runtime-memory__stats span { font-size: .76rem; font-weight: 750; }
.practica-alumno .pa-runtime-memory__stats strong { color: var(--pa-teal-dark); font-size: 1.1rem; }
.practica-alumno .pa-runtime-memory__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(148px, 1fr)); gap: .75rem; }
.practica-alumno .pa-runtime-memory__grid button { min-height: 150px; padding: 0; border: 2px solid #6da6b8; border-radius: 16px; background: transparent; color: #fff; font-size: 1.05rem; font-weight: 850; overflow: hidden; perspective: 900px; transition: transform .18s ease; }
.practica-alumno .pa-runtime-memory__grid button:hover:not(:disabled), .practica-alumno .pa-runtime-memory__grid button:focus-visible { transform: translateY(-2px); outline: 3px solid #f7b955; outline-offset: 2px; }
.practica-alumno .pa-runtime-memory__card { position: relative; display: grid; width: 100%; height: 100%; min-height: 146px; transform-style: preserve-3d; will-change: transform; transition: transform .55s cubic-bezier(.22, .61, .36, 1); }
.practica-alumno .pa-runtime-memory__card-front, .practica-alumno .pa-runtime-memory__card-back { position: absolute; inset: 0; display: grid; place-items: center; padding: .75rem; backface-visibility: hidden; -webkit-backface-visibility: hidden; transition: background-color .22s ease, color .22s ease; }
.practica-alumno .pa-runtime-memory__card-front { background: linear-gradient(135deg, #0e6e75, #164e68); }
.practica-alumno .pa-runtime-memory__card-back { display: flex; flex-direction: column; gap: .3rem; background: #fff; color: var(--pa-ink); transform: rotateY(180deg); }
.practica-alumno .pa-runtime-memory__media { display: flex; width: 100%; min-height: 0; flex: 1 1 auto; align-items: center; justify-content: center; overflow: hidden; }
.practica-alumno .pa-runtime-memory__media img { display: block; width: auto; height: auto; max-width: 128px; max-height: 105px; object-fit: contain; }
.practica-alumno .pa-runtime-memory__card-back > span:last-child { font-size: .78rem; line-height: 1.1; }
.practica-alumno .pa-runtime-memory__grid button.is-revealed .pa-runtime-memory__card { transform: rotateY(180deg); }
.practica-alumno .pa-runtime-memory__grid button.is-found { border-color: #3aa878; color: #17593f; }
.practica-alumno .pa-runtime-memory__grid button.is-found .pa-runtime-memory__card-back { background: #e5f7ed; color: #17593f; }
@media (prefers-reduced-motion: reduce) { .practica-alumno .pa-runtime-memory__card, .practica-alumno .pa-runtime-memory__card-front, .practica-alumno .pa-runtime-memory__card-back { transition: none; } }
.practica-alumno .pa-runtime-memory__matches { padding: 1rem; border: 1px solid #b9d2d8; border-radius: 14px; background: #f5fbfa; }
.practica-alumno .pa-runtime-memory__matches h3 { margin-bottom: .7rem; color: var(--pa-teal-dark); font-size: .9rem; font-weight: 850; }
.practica-alumno .pa-runtime-memory__matches ul { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.practica-alumno .pa-runtime-memory__matches li { padding: .4rem .65rem; border-radius: 99px; background: #e5f7ed; color: #17593f; font-size: .8rem; font-weight: 800; }
@media (max-width: 520px) {
    .practica-alumno .pa-runtime-memory__grid { grid-template-columns: repeat(auto-fit, minmax(124px, 1fr)); }
    .practica-alumno .pa-runtime-memory__grid button { min-height: 136px; }
    .practica-alumno .pa-runtime-memory__card { min-height: 132px; }
    .practica-alumno .pa-runtime-memory__media img { max-width: 108px; max-height: 90px; }
}
.practica-alumno .pa-runtime-word-search { display: grid; gap: 1.25rem; }
.practica-alumno .pa-runtime-word-search__help { margin: 0; color: #496773; font-weight: 700; }
.practica-alumno .pa-runtime-word-search__grid { --pa-word-search-cell-size: min(3rem, calc((100vw - 20rem) / var(--pa-word-search-columns)), calc((100vh - 22rem) / var(--pa-word-search-rows))); display: grid; grid-template-columns: repeat(var(--pa-word-search-columns), var(--pa-word-search-cell-size)); gap: .32rem; width: max-content; max-width: 100%; padding: .9rem; border: 2px solid #c8e0e2; border-radius: 18px; background: #f5fbfa; user-select: none; touch-action: none; }
.practica-alumno .pa-runtime-word-search__row { display: contents; }
.practica-alumno .pa-runtime-word-search__cell { display: grid; width: var(--pa-word-search-cell-size); height: var(--pa-word-search-cell-size); place-items: center; padding: 0; border: 0; border-radius: 9px; background: #fff; color: #155b66; cursor: crosshair; font-size: clamp(.75rem, 2vw, 1.05rem); font-weight: 900; transition: background .18s ease, color .18s ease, transform .18s ease; }
.practica-alumno .pa-runtime-word-search__cell:hover, .practica-alumno .pa-runtime-word-search__cell:focus-visible { background: #dff5f1; outline: 3px solid #f7b955; outline-offset: 2px; }
.practica-alumno .pa-runtime-word-search__cell.is-selecting { background: #78d5ce; color: #063b4a; transform: scale(1.05); }
.practica-alumno .pa-runtime-word-search__cell.is-found { background: #43aa77; color: #fff; }
.practica-alumno .pa-runtime-word-search__cell.is-wrong { background: #e45151; color: #fff; animation: pa-word-search-wrong .22s ease-in-out 3; }
.practica-alumno .pa-runtime-word-search__words { display: flex; flex-wrap: wrap; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.practica-alumno .pa-runtime-word-search__words li { display: inline-flex; align-items: center; gap: .4rem; padding: .5rem .75rem; border: 1px solid #b9d2d8; border-radius: 999px; background: #fff; color: #486873; font-size: .86rem; font-weight: 850; letter-spacing: .04em; }
.practica-alumno .pa-runtime-word-search__words li.is-found { border-color: #3aa878; background: #e5f7ed; color: #17593f; }
@keyframes pa-word-search-wrong { 50% { transform: translateX(3px); } }
.practica-alumno .pa-balloons-game { --sky-blue: #bfeaf4; --sky-mint: #dff5e7; display: grid; gap: 1rem; }
.practica-alumno .pa-balloons-game__status { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.practica-alumno .pa-balloons-game__status div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .85rem; border: 1px solid #b9d8df; border-radius: 14px; background: rgba(255,255,255,.9); color: #496773; font-size: .78rem; font-weight: 800; }
.practica-alumno .pa-balloons-game__status strong { color: var(--pa-teal-dark); font-size: 1.08rem; }
.practica-alumno .pa-balloons-game__stage { position: relative; min-height: 340px; overflow: hidden; border: 2px solid #b6dce1; border-radius: 26px; background: radial-gradient(circle at 82% 18%, rgba(255,255,255,.72), transparent 16%), linear-gradient(150deg, var(--sky-blue), var(--sky-mint)); }
.practica-alumno .pa-balloons-game__sun { position: absolute; width: 68px; height: 68px; top: 28px; right: 34px; border-radius: 50%; background: #ffd65c; box-shadow: 0 0 0 14px rgba(255,214,92,.18); }
.practica-alumno .pa-balloons-game__cloud { position: absolute; width: 100px; height: 28px; border-radius: 99px; background: rgba(255,255,255,.82); box-shadow: 24px -14px 0 5px rgba(255,255,255,.82), 53px -4px 0 1px rgba(255,255,255,.82); }
.practica-alumno .pa-balloons-game__cloud.cloud-one { top: 72px; left: 8%; }
.practica-alumno .pa-balloons-game__cloud.cloud-two { top: 150px; right: 18%; transform: scale(.72); opacity: .75; }
.practica-alumno .pa-balloons-game__ground { position: absolute; inset: auto 0 0; height: 78px; background: linear-gradient(#82cf7a, #4fa967); }
.practica-alumno .pa-balloons-game__ground span { position: absolute; width: 105px; height: 48px; bottom: 42px; border-radius: 60% 60% 0 0; background: #66bd70; }
.practica-alumno .pa-balloons-game__ground span:nth-child(2) { left: 42%; transform: scale(1.4); }
.practica-alumno .pa-balloons-game__ground span:nth-child(3) { right: 4%; transform: scale(.85); }
.practica-alumno .pa-balloons-game__traveler { position: absolute; z-index: 3; width: 150px; height: 220px; left: 50%; bottom: 31px; transform: translate(-50%, calc(var(--balloon-lift) * -11rem)); transition: transform .7s cubic-bezier(.22,.75,.3,1); }
.practica-alumno .pa-balloons-game__character { position: absolute; width: 72px; height: 91px; left: 39px; bottom: 0; filter: drop-shadow(0 8px 6px rgba(26,84,91,.18)); }
.practica-alumno .pa-balloons-game__character .face { position: absolute; z-index: 2; width: 52px; height: 50px; top: 0; left: 10px; border: 3px solid #744d37; border-radius: 48% 48% 44% 44%; background: #f6bd86; }
.practica-alumno .pa-balloons-game__character .face::before { content: ""; position: absolute; width: 6px; height: 6px; top: 18px; left: 11px; border-radius: 50%; background: #173b4e; box-shadow: 19px 0 #173b4e; }
.practica-alumno .pa-balloons-game__character .face::after { content: ""; position: absolute; width: 17px; height: 8px; bottom: 8px; left: 15px; border-bottom: 3px solid #9c4f4f; border-radius: 50%; }
.practica-alumno .pa-balloons-game.is-lost .pa-balloons-game__character .face::after { border-top: 3px solid #9c4f4f; border-bottom: 0; }
.practica-alumno .pa-balloons-game__character .body { position: absolute; width: 60px; height: 48px; left: 6px; bottom: 4px; border-radius: 16px 16px 12px 12px; background: #ff846f; }
.practica-alumno .pa-balloons-game__character .feet { position: absolute; z-index: -1; width: 18px; height: 18px; left: 15px; bottom: -7px; border-radius: 0 0 8px 8px; background: #16566a; box-shadow: 26px 0 #16566a; }
.practica-alumno .pa-balloons-game__strings { position: absolute; width: 2px; height: 78px; top: 46px; left: 75px; background: #6f7f84; transform-origin: bottom; }
.practica-alumno .pa-balloons-game__balloons span { position: absolute; width: 43px; height: 54px; top: 0; left: 54px; border-radius: 52% 48% 48% 52%; background: #ff7667; box-shadow: inset -8px -7px rgba(113,61,81,.12), inset 8px 8px rgba(255,255,255,.25); animation: pa-balloon-float 2.8s ease-in-out infinite alternate; }
.practica-alumno .pa-balloons-game__balloons span::after { content: ""; position: absolute; width: 8px; height: 8px; bottom: -5px; left: 18px; transform: rotate(45deg); background: inherit; }
.practica-alumno .pa-balloons-game__balloons span:nth-child(2) { left: 16px; top: 17px; background: #ffc84b; animation-delay: -.4s; }
.practica-alumno .pa-balloons-game__balloons span:nth-child(3) { left: 94px; top: 21px; background: #62c9b5; animation-delay: -.8s; }
.practica-alumno .pa-balloons-game__balloons span:nth-child(4) { left: 38px; top: -40px; background: #72a7ee; animation-delay: -1.2s; }
.practica-alumno .pa-balloons-game__balloons span:nth-child(5) { left: 78px; top: -42px; background: #c48be7; animation-delay: -1.6s; }
.practica-alumno .pa-balloons-game__balloons span:nth-child(6) { left: -10px; top: -27px; background: #f49ac1; animation-delay: -2s; }
.practica-alumno .pa-balloons-game__balloons span:nth-child(7) { left: 118px; top: -22px; background: #80d36b; animation-delay: -2.4s; }
.practica-alumno .pa-balloons-game__balloons span:nth-child(8) { left: 57px; top: -88px; background: #ff9f59; animation-delay: -2.7s; }
.practica-alumno .pa-balloons-game__clue { position: absolute; z-index: 2; width: 130px; height: 130px; left: 30px; bottom: 92px; margin: 0; overflow: hidden; border: 7px solid rgba(255,255,255,.9); border-radius: 30px; background: #fff; box-shadow: 0 10px 24px rgba(31,94,105,.16); transform: rotate(-3deg); }
.practica-alumno .pa-balloons-game__clue img { width: 100%; height: 100%; object-fit: cover; }
.practica-alumno .pa-balloons-game__mission { display: grid; gap: 1rem; padding: 1rem; border: 1px solid #c6dfe4; border-radius: 20px; background: #fff; }
.practica-alumno .pa-balloons-game__feedback { min-height: 24px; margin: 0; color: var(--pa-teal-dark); font-weight: 850; text-align: center; }
.practica-alumno .pa-balloons-game__feedback.is-error { color: #ae4c43; animation: pa-game-nudge .3s ease-in-out 2; }
.practica-alumno .pa-balloons-game__word { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(.35rem, 1vw, .7rem); }
.practica-alumno .pa-balloons-game__word span { display: grid; width: clamp(2.2rem, 6vw, 3.5rem); min-height: clamp(2.8rem, 7vw, 4rem); place-items: center; border-bottom: 4px solid #7db8c2; color: transparent; font-size: clamp(1.35rem, 4vw, 2.1rem); font-weight: 900; }
.practica-alumno .pa-balloons-game__word span.is-revealed { color: var(--pa-ink); animation: pa-letter-pop .38s cubic-bezier(.2,.8,.3,1.4); }
.practica-alumno .pa-balloons-game__keyboard { display: grid; grid-template-columns: repeat(13, minmax(0, 1fr)); gap: .35rem; }
.practica-alumno .pa-balloons-game__keyboard button { min-height: 40px; padding: .35rem; border: 1px solid #9fc8d0; border-radius: 9px; background: #edf9f7; color: #155b66; font-weight: 900; transition: transform .16s ease, background .16s ease; }
.practica-alumno .pa-balloons-game__keyboard button:hover:not(:disabled) { transform: translateY(-2px); background: #d9f4ee; }
.practica-alumno .pa-balloons-game__keyboard button.is-correct { border-color: #43aa77; background: #e2f6e9; color: #24724e; }
.practica-alumno .pa-balloons-game__keyboard button.is-wrong { border-color: #e18a82; background: #ffebe8; color: #a14b43; }
.practica-alumno .pa-balloons-game__audio { width: min(100%, 420px); margin: 0 auto; }
@keyframes pa-balloon-float { to { transform: translateY(-7px) rotate(2deg); } }
@keyframes pa-letter-pop { 50% { transform: translateY(-7px) scale(1.15); } }
@keyframes pa-game-nudge { 50% { transform: translateX(5px); } }
@media (max-width: 760px) { .practica-alumno .pa-balloons-game__keyboard { grid-template-columns: repeat(7, minmax(0, 1fr)); } .practica-alumno .pa-balloons-game__stage { min-height: 310px; } .practica-alumno .pa-balloons-game__clue { width: 92px; height: 92px; left: 16px; } }
@media (prefers-reduced-motion: reduce) { .practica-alumno .pa-balloons-game__traveler, .practica-alumno .pa-balloons-game__balloons span, .practica-alumno .pa-balloons-game__word span, .practica-alumno .pa-balloons-game__feedback { animation: none; transition: none; } }
.practica-alumno .pa-runtime-feedback, .practica-alumno .pa-runtime-result { max-width: 740px; margin: 4rem auto; padding: clamp(2rem, 6vw, 4rem); border: 1px solid var(--pa-line); border-radius: 26px; background: rgba(255,255,255,.95); box-shadow: var(--pa-shadow); text-align: center; }
.practica-alumno .pa-runtime-feedback > span { display: grid; width: 72px; height: 72px; margin: 0 auto 1rem; place-items: center; border-radius: 50%; font-size: 2rem; }
.practica-alumno .pa-runtime-feedback.is-correct > span { background: var(--pa-mint); color: var(--pa-teal-dark); }
.practica-alumno .pa-runtime-feedback.is-wrong > span { background: #ffddd7; color: #983b32; }
.practica-alumno .pa-runtime-feedback h1, .practica-alumno .pa-runtime-result h1 { margin: .45rem 0 .9rem; font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 800; }
.practica-alumno .pa-runtime-result h1 em { color: var(--pa-teal-dark); font-style: normal; }
.practica-alumno .pa-runtime-solution { padding: 1rem; border-radius: 12px; background: #edf8f5; }
.practica-alumno .pa-runtime-result__score { margin: 1.3rem auto; }
.practica-alumno .pa-runtime-result__score strong, .practica-alumno .pa-runtime-result__score span { display: block; }
.practica-alumno .pa-runtime-result__score strong { color: var(--pa-teal-dark); font-size: clamp(4rem, 11vw, 6.5rem); font-weight: 850; line-height: .9; }
.practica-alumno .pa-runtime-result dl { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 1.4rem 0; }
.practica-alumno .pa-runtime-result dl > div { padding: 1rem; border-radius: 13px; background: #edf7f6; }
.practica-alumno .pa-runtime-result dt { color: var(--pa-muted); font-size: .75rem; }
.practica-alumno .pa-runtime-result dd { margin: .2rem 0 0; font-size: 1.4rem; font-weight: 850; }

@keyframes pa-student-spin { to { transform: rotate(360deg); } }

@media (max-width: 1100px) {
    .practica-alumno .pa-student-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .practica-alumno .pa-student-filters { grid-template-columns: repeat(3, 1fr); }
    .practica-alumno .pa-student-search { grid-column: 1 / -1; }
}

@media (max-width: 820px) {
    .practica-alumno .pa-student-hero { grid-template-columns: 1fr; }
    .practica-alumno .pa-student-hero__composition { min-height: 190px; }
    .practica-alumno .pa-student-grid--featured { grid-template-columns: 1fr; }
    .practica-alumno .pa-student-detail-hero { grid-template-columns: 1fr; }
    .practica-alumno .pa-student-detail-hero__cover, .practica-alumno .pa-student-detail-art { min-height: 250px; }
    .practica-alumno .pa-student-detail-grid { grid-template-columns: 1fr; }
    .practica-alumno .pa-student-detail-aside { position: static; }
    .practica-alumno .pa-runtime-options { grid-template-columns: 1fr; }
}

@media (max-width: 576px) {
    .practica-alumno { margin-right: -6px; margin-left: -6px; padding: .85rem; }
    .practica-alumno .pa-student-hero { min-height: 0; border-radius: 23px; }
    .practica-alumno .pa-student-hero__copy { padding: 2rem 1.25rem; }
    .practica-alumno .pa-student-hero h1 { font-size: 2.65rem; }
    .practica-alumno .pa-student-hero__composition { min-height: 155px; }
    .practica-alumno .pa-student-shape--one { width: 96px; height: 96px; }
    .practica-alumno .pa-student-shape--two { width: 70px; height: 70px; }
    .practica-alumno .pa-student-shape--three { width: 60px; height: 60px; font-size: 1.6rem; }
    .practica-alumno .pa-student-shape--four { width: 58px; height: 58px; font-size: 1.2rem; }
    .practica-alumno .pa-student-grid, .practica-alumno .pa-student-grid--featured { grid-template-columns: 1fr; }
    .practica-alumno .pa-student-grid--featured .pa-student-card__action { grid-template-columns: 42% 58%; }
    .practica-alumno .pa-student-grid--featured .pa-student-card__cover, .practica-alumno .pa-student-grid--featured .pa-student-card__cover img, .practica-alumno .pa-student-grid--featured .pa-student-card__body { min-height: 250px; }
    .practica-alumno .pa-student-section__heading { align-items: start; }
    .practica-alumno .pa-student-count { display: none; }
    .practica-alumno .pa-student-filters { grid-template-columns: 1fr; }
    .practica-alumno .pa-student-search { grid-column: auto; }
    .practica-alumno .pa-student-clear { width: 100%; }
    .practica-alumno .pa-student-skill-list { grid-template-columns: 1fr; }
    .practica-alumno .pa-runtime-topbar { grid-template-columns: 1fr auto; }
    .practica-alumno .pa-runtime-score { grid-column: 1 / -1; grid-row: 2; text-align: center; }
    .practica-alumno .pa-runtime-card > footer { align-items: stretch; flex-direction: column; }
    .practica-alumno .pa-runtime-card > footer .pa-student-button { width: 100%; min-width: 0; }
    .practica-alumno .pa-runtime-actions { width: 100%; flex-direction: column-reverse; }
    .practica-alumno .pa-runtime-pair-row { grid-template-columns: 1fr; gap: .4rem; }
    .practica-alumno .pa-runtime-drag-drop__columns { grid-template-columns: 1fr; }
    .practica-alumno .pa-runtime-result dl { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .practica-alumno *, .practica-alumno *::before, .practica-alumno *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Globos al Cielo: immersive storybook game */
.practica-alumno .pa-runtime-interaction:has(.pa-sky-game) { padding: clamp(.65rem, 2vw, 1rem); background: #eaf7f7; }

.practica-alumno .pa-word-adventure { overflow: hidden; border-radius: 26px; background: radial-gradient(circle at 88% 8%,#d9faec,transparent 28%),linear-gradient(135deg,#e5f5ff,#e8fff4); color: #16445a; font-family: "Trebuchet MS", sans-serif; }
.practica-alumno .pa-word-adventure__hero { display:flex; align-items:center; gap:12px; padding:18px 22px; background:rgba(255,255,255,.76); }.practica-alumno .pa-word-adventure__mascot { display:grid; width:52px; height:52px; place-items:center; border-radius:18px; background:#ffdc78; font-size:1.8rem; }.practica-alumno .pa-word-adventure__hero p,.practica-alumno .pa-word-adventure__hero h2 { margin:0; }.practica-alumno .pa-word-adventure__hero p { color:#377c76; font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.practica-alumno .pa-word-adventure__hero h2 { font-size:1.45rem; font-weight:900; }.practica-alumno .pa-word-adventure__hero span { color:#61818d; font-size:.8rem; }.practica-alumno .pa-word-adventure__hero > strong { margin-left:auto; color:#218473; font-size:1.4rem; }.practica-alumno .pa-word-adventure__hero small { display:block; color:#63808a; font-size:.65rem; text-align:right; }
.practica-alumno .pa-word-adventure__layout { display:grid; grid-template-columns:minmax(170px,.6fr) minmax(0,1.5fr); gap:18px; padding:18px; }.practica-alumno .pa-word-adventure__clues { display:grid; align-content:start; gap:8px; }.practica-alumno .pa-word-adventure__clues button { display:flex; align-items:center; gap:9px; padding:11px; border:1px solid #c9e1df; border-radius:14px; background:rgba(255,255,255,.82); color:#24556a; font-weight:800; text-align:left; }.practica-alumno .pa-word-adventure__clues button.is-active { border-color:#55b7a3; background:#d8f5eb; box-shadow:0 5px 14px rgba(40,137,115,.15); }.practica-alumno .pa-word-adventure__clues button.is-found { background:#ebf8d9; color:#477c3c; }.practica-alumno .pa-word-adventure__board { position:relative; min-height:360px; padding:28px; border-radius:22px; background:rgba(255,255,255,.86); box-shadow:0 12px 28px rgba(37,98,107,.12); text-align:center; }.practica-alumno .pa-word-adventure__label { margin:0; color:#e07c55; font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }.practica-alumno .pa-word-adventure__board h3 { max-width:430px; margin:8px auto 18px; font-size:clamp(1.05rem,2vw,1.35rem); font-weight:900; }.practica-alumno .pa-word-adventure__image { position:absolute; width:78px; height:78px; top:16px; right:16px; border:4px solid #fff; border-radius:18px; object-fit:cover; box-shadow:0 6px 14px rgba(35,88,105,.15); }.practica-alumno .pa-word-adventure__slots { display:flex; justify-content:center; gap:8px; margin:18px 0; }.practica-alumno .pa-word-adventure__slots span { display:grid; width:38px; height:44px; place-items:center; border-bottom:4px solid #75b8b5; color:#17445a; font-size:1.5rem; font-weight:950; }.practica-alumno .pa-word-adventure__slots span.is-filled { animation:pa-adventure-pop .28s ease; }.practica-alumno .pa-word-adventure__feedback { min-height:24px; margin:10px 0; color:#247c67; font-weight:850; }.practica-alumno .pa-word-adventure__feedback.is-error { color:#bd625d; animation:pa-adventure-shake .3s ease; }.practica-alumno .pa-word-adventure__letters { display:grid; grid-template-columns:repeat(13,1fr); gap:6px; }.practica-alumno .pa-word-adventure__letters button { min-height:38px; border:1px solid #a9ced2; border-bottom-width:3px; border-radius:10px; background:#fff; color:#17445a; font-weight:950; }.practica-alumno .pa-word-adventure__letters button:hover:not(:disabled) { transform:translateY(-2px); background:#e9fbf5; }.practica-alumno .pa-word-adventure__letters button:disabled { opacity:.45; } @keyframes pa-adventure-pop { 0% { transform:scale(.65); } 100% { transform:scale(1); } } @keyframes pa-adventure-shake { 25% { transform:translateX(-4px); } 75% { transform:translateX(4px); } }
@media (max-width: 650px) { .practica-alumno .pa-word-adventure__layout { grid-template-columns:1fr; }.practica-alumno .pa-word-adventure__clues { grid-template-columns:repeat(2,1fr); }.practica-alumno .pa-word-adventure__board { min-height:0; padding:22px 12px; }.practica-alumno .pa-word-adventure__image { width:58px; height:58px; }.practica-alumno .pa-word-adventure__letters { grid-template-columns:repeat(7,1fr); }.practica-alumno .pa-word-adventure__slots span { width:30px; height:38px; }.practica-alumno .pa-word-adventure__hero { padding:14px; } }
.practica-alumno .pa-sky-game { --game-navy: #153f5b; --game-blue: #65b9f5; --game-green: #7bc96f; --game-yellow: #ffd54f; --game-purple: #a78bfa; font-family: "Trebuchet MS", "Aptos", sans-serif; }
.practica-alumno .pa-sky-game__world { position: relative; min-height: 650px; overflow: hidden; isolation: isolate; border: 1px solid rgba(255,255,255,.92); border-radius: 32px; background: linear-gradient(180deg, #72c9f5 0%, #b8e9f8 52%, #d9f3d0 78%, #79c86f 100%); box-shadow: inset 0 0 80px rgba(255,255,255,.26), 0 18px 38px rgba(28,86,112,.18); transition: background 1.2s ease; }
.practica-alumno .pa-sky-game.is-high .pa-sky-game__world { background: linear-gradient(180deg, #73bdea 0%, #bee6f6 48%, #dcebd1 78%, #71b86c 100%); }
.practica-alumno .pa-sky-game.is-critical .pa-sky-game__world, .practica-alumno .pa-sky-game.is-defeat .pa-sky-game__world { background: radial-gradient(circle at 78% 22%, rgba(255,215,135,.88), transparent 20%), linear-gradient(165deg, #7f83d8 0%, #c39ce1 42%, #f5b9ae 72%, #f9d3a1 100%); }
.practica-alumno .pa-sky-game.is-victory .pa-sky-game__world { background: radial-gradient(circle at 50% 18%, rgba(255,239,153,.85), transparent 26%), linear-gradient(180deg, #66c9ef, #bdebf0 56%, #8fd17b); }
.practica-alumno .pa-sky-game__world::after { position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(115deg, rgba(255,255,255,.18), transparent 36%, rgba(255,255,255,.08)); content: ""; }
.practica-alumno .pa-sky-game__atmosphere span { position: absolute; z-index: 0; border-radius: 50%; filter: blur(3px); opacity: .34; }
.practica-alumno .pa-sky-game__atmosphere span:nth-child(1) { width: 340px; height: 340px; top: -210px; left: -70px; background: #fff; }
.practica-alumno .pa-sky-game__atmosphere span:nth-child(2) { width: 230px; height: 230px; top: 110px; right: -100px; background: #fff7bd; }
.practica-alumno .pa-sky-game__atmosphere span:nth-child(3) { width: 260px; height: 260px; bottom: -170px; left: 34%; background: #63c898; }
.practica-alumno .pa-sky-game__sun { position: absolute; z-index: 1; width: 78px; height: 78px; top: 92px; right: 9%; border-radius: 50%; background: radial-gradient(circle at 35% 32%, #fffad0, #ffd25d 58%, #f5ad43); box-shadow: 0 0 0 17px rgba(255,222,115,.18), 0 0 52px rgba(255,229,137,.62); transition: transform 1.1s ease, opacity .8s ease; }
.practica-alumno .pa-sky-game.is-critical .pa-sky-game__sun, .practica-alumno .pa-sky-game.is-defeat .pa-sky-game__sun { transform: translateY(140px) scale(1.15); opacity: .72; }
.practica-alumno .pa-sky-game__stars { opacity: 0; transition: opacity 1s ease; }
.practica-alumno .pa-sky-game.is-critical .pa-sky-game__stars, .practica-alumno .pa-sky-game.is-defeat .pa-sky-game__stars { opacity: 1; }
.practica-alumno .pa-sky-game__stars span { position: absolute; z-index: 2; width: 5px; height: 5px; border-radius: 50%; background: #fff8cf; box-shadow: 0 0 10px #fff; animation: pa-sky-twinkle 1.8s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-game__stars span:nth-child(1) { top: 124px; left: 16%; }.practica-alumno .pa-sky-game__stars span:nth-child(2) { top: 182px; left: 31%; animation-delay: -.7s; }.practica-alumno .pa-sky-game__stars span:nth-child(3) { top: 96px; left: 67%; animation-delay: -1.1s; }.practica-alumno .pa-sky-game__stars span:nth-child(4) { top: 246px; left: 79%; animation-delay: -.3s; }.practica-alumno .pa-sky-game__stars span:nth-child(5) { top: 290px; left: 11%; animation-delay: -1.4s; }
.practica-alumno .pa-sky-game__cloud { position: absolute; z-index: 2; width: 118px; height: 34px; border-radius: 70px; background: rgba(255,255,255,.82); box-shadow: 27px -17px 0 5px rgba(255,255,255,.82), 64px -7px 0 1px rgba(255,255,255,.82), 0 8px 18px rgba(64,116,140,.08); animation: pa-sky-drift 12s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-game__cloud.cloud-a { top: 150px; left: 7%; }.practica-alumno .pa-sky-game__cloud.cloud-b { top: 235px; right: 13%; transform: scale(.72); animation-delay: -4s; }.practica-alumno .pa-sky-game__cloud.cloud-c { top: 350px; left: 64%; transform: scale(.5); opacity: .7; animation-delay: -7s; }
.practica-alumno .pa-sky-game__mountains { position: absolute; z-index: 1; inset: auto 0 96px; height: 250px; opacity: 1; transition: opacity 1s ease, transform 1s ease; }
.practica-alumno .pa-sky-game__mountains span { position: absolute; bottom: 0; width: 45%; height: 92%; clip-path: polygon(50% 0, 100% 100%, 0 100%); background: linear-gradient(135deg, #b8d7d3 0 31%, #eef6ef 32% 42%, #72ad9d 43%); filter: drop-shadow(0 9px 8px rgba(45,98,95,.12)); }
.practica-alumno .pa-sky-game__mountains span:nth-child(1) { left: -9%; transform: scale(.8); }.practica-alumno .pa-sky-game__mountains span:nth-child(2) { left: 24%; height: 118%; background: linear-gradient(135deg, #a8cfd4 0 32%, #f5f8ef 33% 44%, #69a99c 45%); }.practica-alumno .pa-sky-game__mountains span:nth-child(3) { right: -8%; transform: scale(.72); }
.practica-alumno .pa-sky-game.is-high .pa-sky-game__mountains { transform: translateY(35px) scale(.92); opacity: .72; }.practica-alumno .pa-sky-game.is-critical .pa-sky-game__mountains, .practica-alumno .pa-sky-game.is-defeat .pa-sky-game__mountains { transform: translateY(80px) scale(.8); opacity: .3; }
.practica-alumno .pa-sky-game__forest { position: absolute; z-index: 3; inset: auto 0 85px; height: 155px; transition: transform 1s ease, opacity 1s ease; }
.practica-alumno .pa-sky-game__forest span { position: absolute; bottom: 0; width: 64px; height: 132px; border-radius: 55% 55% 16% 16%; background: radial-gradient(ellipse at 38% 22%, #8bd376 0 18%, transparent 19%), radial-gradient(ellipse at 60% 42%, #4ca96b 0 32%, transparent 33%), radial-gradient(ellipse at 35% 66%, #31865c 0 38%, transparent 39%); filter: drop-shadow(0 7px 6px rgba(37,104,68,.16)); }.practica-alumno .pa-sky-game__forest span::after { position: absolute; width: 10px; height: 54px; bottom: -15px; left: 27px; border-radius: 8px; background: #8a6044; content: ""; }
.practica-alumno .pa-sky-game__forest span:nth-child(1) { left: 3%; transform: scale(.8); }.practica-alumno .pa-sky-game__forest span:nth-child(2) { left: 13%; }.practica-alumno .pa-sky-game__forest span:nth-child(3) { right: 18%; transform: scale(.88); }.practica-alumno .pa-sky-game__forest span:nth-child(4) { right: 7%; transform: scale(1.12); }.practica-alumno .pa-sky-game__forest span:nth-child(5) { right: 1%; transform: scale(.62); }
.practica-alumno .pa-sky-game.is-high .pa-sky-game__forest { transform: translateY(65px); opacity: .45; }.practica-alumno .pa-sky-game.is-critical .pa-sky-game__forest, .practica-alumno .pa-sky-game.is-defeat .pa-sky-game__forest { transform: translateY(125px); opacity: 0; }
.practica-alumno .pa-sky-game__meadow { position: absolute; z-index: 2; inset: auto -5% -48px; height: 190px; border-radius: 50% 50% 0 0; background: linear-gradient(180deg, #9dd97d, #52a96a); box-shadow: inset 0 16px 35px rgba(255,255,255,.18); transition: transform 1s ease, opacity 1s ease; }
.practica-alumno .pa-sky-game__meadow::before { position: absolute; inset: 40px 0 auto; height: 40px; background: radial-gradient(circle, #ffd75a 0 4px, transparent 5px) 10px 4px/72px 40px, radial-gradient(circle, #ff8c83 0 3px, transparent 4px) 42px 17px/88px 38px; content: ""; opacity: .85; }
.practica-alumno .pa-sky-game.is-high .pa-sky-game__meadow { transform: translateY(75px); opacity: .62; }.practica-alumno .pa-sky-game.is-critical .pa-sky-game__meadow, .practica-alumno .pa-sky-game.is-defeat .pa-sky-game__meadow { transform: translateY(155px); opacity: 0; }
.practica-alumno .pa-sky-game__hud { position: absolute; z-index: 20; display: grid; grid-template-columns: minmax(135px,.75fr) minmax(280px,1.45fr) minmax(150px,.85fr); align-items: start; gap: 1rem; inset: 18px 20px auto; }
.practica-alumno .pa-sky-game__metric, .practica-alumno .pa-sky-game__word-card { min-height: 72px; border: 1px solid rgba(255,255,255,.8); border-radius: 18px; background: rgba(255,255,255,.86); box-shadow: 0 9px 24px rgba(35,84,110,.14), inset 0 1px rgba(255,255,255,.9); backdrop-filter: blur(12px); }
.practica-alumno .pa-sky-game__metric { display: flex; align-items: center; gap: .7rem; padding: .7rem .9rem; }.practica-alumno .pa-sky-game__metric > i { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 14px; background: #ffe6ee; color: #ec638c; font-size: 1.45rem; }.practica-alumno .pa-sky-game__metric.metric-letters > i { background: #e7e0ff; color: #8066d5; }
.practica-alumno .pa-sky-game__metric span, .practica-alumno .pa-sky-game__metric small, .practica-alumno .pa-sky-game__metric strong { display: block; }.practica-alumno .pa-sky-game__metric small, .practica-alumno .pa-sky-game__word-card small { color: #527084; font-size: .7rem; font-weight: 850; letter-spacing: .02em; }.practica-alumno .pa-sky-game__metric strong { max-width: 150px; overflow: hidden; color: var(--game-navy); font-size: .98rem; text-overflow: ellipsis; white-space: nowrap; }
.practica-alumno .pa-sky-game__word-card { padding: .55rem 1rem .65rem; text-align: center; }.practica-alumno .pa-sky-game__word-card > div { display: flex; min-height: 38px; align-items: end; justify-content: center; gap: clamp(.24rem,.8vw,.55rem); }.practica-alumno .pa-sky-game__word-card span { display: grid; min-width: 27px; min-height: 34px; place-items: center; border-bottom: 3px solid #83aaba; color: transparent; font-size: 1.4rem; font-weight: 950; line-height: 1; }.practica-alumno .pa-sky-game__word-card span.is-revealed { color: var(--game-navy); animation: pa-sky-letter .42s cubic-bezier(.18,.8,.26,1.35); }
.practica-alumno .pa-sky-game__traveler { position: absolute; z-index: 12; width: 190px; height: 330px; left: 50%; bottom: 92px; transform: translate(-50%, calc(var(--sky-progress) * -235px)); transform-origin: center bottom; transition: left .8s ease, bottom .8s ease, transform 1s cubic-bezier(.2,.72,.28,1); }.practica-alumno .pa-sky-game.is-intro .pa-sky-game__traveler { left: 28%; }.practica-alumno .pa-sky-game.is-defeat .pa-sky-game__traveler { animation: pa-sky-away 3s ease-in-out infinite alternate; }.practica-alumno .pa-sky-game.is-victory .pa-sky-game__traveler { animation: pa-sky-celebrate .65s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-game__bouquet { position: absolute; width: 190px; height: 175px; top: 0; left: 0; }.practica-alumno .pa-sky-game__bouquet .balloon { position: absolute; z-index: 2; width: 48px; height: 61px; border-radius: 50% 48% 46% 52%; background: radial-gradient(circle at 32% 25%, rgba(255,255,255,.75) 0 8%, transparent 9%), linear-gradient(135deg, #ff8eb2, #dd4f82); box-shadow: inset -8px -10px rgba(90,36,90,.1), 0 8px 13px rgba(64,63,104,.15); animation: pa-sky-balloon 2.3s ease-in-out infinite alternate; }.practica-alumno .pa-sky-game__bouquet .balloon::after { position: absolute; width: 10px; height: 9px; bottom: -5px; left: 19px; transform: rotate(45deg); background: inherit; content: ""; }
.practica-alumno .pa-sky-game__bouquet .balloon-0 { left: 70px; top: 73px; }.practica-alumno .pa-sky-game__bouquet .balloon-1 { left: 25px; top: 77px; background: linear-gradient(135deg,#ffd761,#ed9f2f); animation-delay: -.4s; }.practica-alumno .pa-sky-game__bouquet .balloon-2 { left: 116px; top: 82px; background: linear-gradient(135deg,#70dcc5,#35a8a0); animation-delay: -.7s; }.practica-alumno .pa-sky-game__bouquet .balloon-3 { left: 48px; top: 25px; background: linear-gradient(135deg,#81b9ff,#527bdb); animation-delay: -1s; }.practica-alumno .pa-sky-game__bouquet .balloon-4 { left: 95px; top: 20px; background: linear-gradient(135deg,#c7a0ff,#8a63d5); animation-delay: -1.3s; }.practica-alumno .pa-sky-game__bouquet .balloon-5 { left: 1px; top: 35px; background: linear-gradient(135deg,#ffad9e,#ef6b62); animation-delay: -1.6s; }.practica-alumno .pa-sky-game__bouquet .balloon-6 { left: 141px; top: 39px; background: linear-gradient(135deg,#a5e783,#65b958); animation-delay: -1.9s; }.practica-alumno .pa-sky-game__bouquet .balloon-7 { left: 72px; top: -28px; background: linear-gradient(135deg,#ffbd77,#ec7d45); animation-delay: -2.1s; }
.practica-alumno .pa-sky-game__bouquet .string { position: absolute; z-index: 1; width: 1px; height: 125px; top: 118px; left: 94px; transform-origin: top; background: rgba(74,83,92,.68); }.practica-alumno .pa-sky-game__bouquet .string-1 { transform: rotate(-18deg); }.practica-alumno .pa-sky-game__bouquet .string-2 { transform: rotate(17deg); }.practica-alumno .pa-sky-game__bouquet .string-3 { top: 72px; transform: rotate(-9deg); }.practica-alumno .pa-sky-game__bouquet .string-4 { top: 68px; transform: rotate(8deg); }.practica-alumno .pa-sky-game__bouquet .string-5 { top: 82px; transform: rotate(-23deg); }.practica-alumno .pa-sky-game__bouquet .string-6 { top: 86px; transform: rotate(23deg); }.practica-alumno .pa-sky-game__bouquet .string-7 { top: 20px; }
.practica-alumno .pa-sky-game__explorer { position: absolute; width: 112px; height: 156px; bottom: 0; left: 39px; filter: drop-shadow(0 12px 9px rgba(35,72,81,.2)); }.practica-alumno .pa-sky-game__explorer span { position: absolute; display: block; }.practica-alumno .pa-sky-game__explorer .backpack { z-index: 1; width: 42px; height: 62px; top: 82px; left: 1px; transform: rotate(8deg); border: 4px solid #78523c; border-radius: 17px 8px 12px 17px; background: linear-gradient(135deg,#c98d55,#9b603e); }.practica-alumno .pa-sky-game__explorer .torso { z-index: 3; width: 69px; height: 64px; top: 78px; left: 24px; border: 4px solid #a64e43; border-radius: 24px 24px 15px 15px; background: linear-gradient(135deg,#ff987c,#eb6f62); }.practica-alumno .pa-sky-game__explorer .torso::before { position: absolute; width: 27px; height: 25px; right: 5px; bottom: 7px; border: 2px solid rgba(125,54,51,.35); border-radius: 6px; content: ""; }
.practica-alumno .pa-sky-game__explorer .leg { z-index: 2; width: 23px; height: 38px; top: 128px; border-radius: 8px; background: #4e7992; }.practica-alumno .pa-sky-game__explorer .leg-left { left: 31px; transform: rotate(4deg); }.practica-alumno .pa-sky-game__explorer .leg-right { left: 65px; transform: rotate(-4deg); }.practica-alumno .pa-sky-game__explorer .boot { z-index: 4; width: 29px; height: 14px; top: 154px; border-radius: 8px 10px 6px 6px; background: #604636; }.practica-alumno .pa-sky-game__explorer .boot-left { left: 25px; }.practica-alumno .pa-sky-game__explorer .boot-right { left: 66px; }.practica-alumno .pa-sky-game__explorer .arm { z-index: 2; width: 22px; height: 61px; top: 76px; border: 3px solid #a64e43; border-radius: 13px; background: #ff987c; }.practica-alumno .pa-sky-game__explorer .arm-left { left: 13px; transform: rotate(19deg); }.practica-alumno .pa-sky-game__explorer .arm-right { right: 5px; transform: rotate(-19deg); }.practica-alumno .pa-sky-game__explorer .neck { z-index: 4; width: 24px; height: 21px; top: 67px; left: 47px; background: #e7a871; }.practica-alumno .pa-sky-game__explorer .head { z-index: 6; width: 72px; height: 72px; top: 8px; left: 22px; border: 3px solid #8b5a3d; border-radius: 46% 48% 44% 46%; background: radial-gradient(circle at 36% 28%, #ffd5a8, #efb37e 70%); box-shadow: inset -8px -6px rgba(151,89,56,.08); }.practica-alumno .pa-sky-game__explorer .ear { z-index: 5; width: 17px; height: 22px; top: 39px; border: 3px solid #8b5a3d; border-radius: 50%; background: #efb37e; }.practica-alumno .pa-sky-game__explorer .ear-left { left: 14px; }.practica-alumno .pa-sky-game__explorer .ear-right { right: 10px; }.practica-alumno .pa-sky-game__explorer .hair { z-index: 7; width: 66px; height: 28px; top: 9px; left: 25px; border-radius: 45% 50% 36% 20%; background: #6d4936; clip-path: polygon(0 0,100% 0,100% 72%,87% 52%,78% 86%,62% 52%,50% 84%,34% 50%,18% 85%,0 62%); }.practica-alumno .pa-sky-game__explorer .eye { z-index: 8; width: 8px; height: 10px; top: 43px; border-radius: 50%; background: #183b4d; box-shadow: inset 2px 2px #fff; }.practica-alumno .pa-sky-game__explorer .eye-left { left: 43px; }.practica-alumno .pa-sky-game__explorer .eye-right { left: 69px; }.practica-alumno .pa-sky-game__explorer .nose { z-index: 8; width: 8px; height: 7px; top: 53px; left: 57px; border-radius: 50%; border-bottom: 2px solid #b27055; }.practica-alumno .pa-sky-game__explorer .smile { z-index: 8; width: 23px; height: 10px; top: 60px; left: 50px; border-bottom: 3px solid #a94d55; border-radius: 50%; }.practica-alumno .pa-sky-game__explorer .hat-brim { z-index: 9; width: 91px; height: 15px; top: 5px; left: 13px; border: 3px solid #795a38; border-radius: 50%; background: #d2ad66; }.practica-alumno .pa-sky-game__explorer .hat { z-index: 8; width: 62px; height: 35px; top: -16px; left: 27px; border: 3px solid #795a38; border-radius: 50% 50% 24% 24%; background: linear-gradient(#e2c57e 0 68%,#76956d 69% 83%,#bf9550 84%); }.practica-alumno .pa-sky-game__explorer .scarf { z-index: 7; width: 64px; height: 16px; top: 75px; left: 26px; border-radius: 9px; background: #ffd251; box-shadow: 25px 8px 0 -3px #f0b83f; }
.practica-alumno .pa-sky-game__feedback { position: absolute; z-index: 18; min-width: 250px; max-width: 70%; left: 50%; bottom: 126px; margin: 0; padding: .6rem 1rem; transform: translateX(-50%); border: 1px solid rgba(255,255,255,.85); border-radius: 99px; background: rgba(255,255,255,.9); box-shadow: 0 8px 20px rgba(42,90,111,.13); color: #196b65; font-size: .85rem; font-weight: 900; text-align: center; backdrop-filter: blur(9px); }.practica-alumno .pa-sky-game__feedback.is-error { color: #ad4f48; animation: pa-sky-nudge .35s ease-in-out 2; }
.practica-alumno .pa-sky-game__keyboard { position: absolute; z-index: 20; display: grid; grid-template-columns: repeat(13,minmax(0,1fr)); gap: .38rem; inset: auto 18px 18px; padding: .75rem; border: 1px solid rgba(255,255,255,.72); border-radius: 20px; background: rgba(247,252,251,.76); box-shadow: 0 12px 28px rgba(35,83,100,.15); backdrop-filter: blur(13px); }.practica-alumno .pa-sky-game__keyboard button { min-width: 0; min-height: 42px; padding: .3rem; border: 1px solid rgba(113,154,169,.48); border-bottom-width: 4px; border-radius: 11px; background: rgba(255,255,255,.94); color: var(--game-navy); font-size: .92rem; font-weight: 950; box-shadow: 0 4px 7px rgba(39,79,96,.08); transition: transform .14s ease, border-color .14s ease, background .14s ease; }.practica-alumno .pa-sky-game__keyboard button:hover:not(:disabled), .practica-alumno .pa-sky-game__keyboard button:focus-visible { transform: translateY(-3px); border-color: #65aee2; background: #edf8ff; }.practica-alumno .pa-sky-game__keyboard button:active:not(:disabled) { transform: translateY(2px); border-bottom-width: 1px; }.practica-alumno .pa-sky-game__keyboard button.is-correct { border-color: #65b85f; background: #dff3db; color: #327a3e; }.practica-alumno .pa-sky-game__keyboard button.is-wrong { border-color: #db726d; background: #ffe3e0; color: #a94b48; }.practica-alumno .pa-sky-game__keyboard button:disabled { opacity: 1; }
.practica-alumno .pa-sky-game__clue { position: absolute; z-index: 15; width: 118px; height: 130px; top: 127px; left: 24px; margin: 0; overflow: hidden; transform: rotate(-3deg); border: 7px solid rgba(255,255,255,.92); border-radius: 24px; background: #fff; box-shadow: 0 12px 24px rgba(35,82,100,.17); }.practica-alumno .pa-sky-game__clue img { width: 100%; height: 98px; object-fit: cover; }.practica-alumno .pa-sky-game__clue figcaption { color: #45697d; font-size: .68rem; font-weight: 850; text-align: center; }.practica-alumno .pa-sky-game__audio { position: absolute; z-index: 15; width: 250px; height: 42px; top: 111px; right: 22px; }
.practica-alumno .pa-sky-game__intro, .practica-alumno .pa-sky-game__result { position: absolute; z-index: 30; width: min(420px,calc(100% - 3rem)); padding: clamp(1.5rem,4vw,2.25rem); border: 1px solid rgba(255,255,255,.92); border-radius: 28px; background: rgba(255,255,255,.9); box-shadow: 0 22px 50px rgba(34,78,100,.22), inset 0 1px #fff; text-align: center; backdrop-filter: blur(15px); }.practica-alumno .pa-sky-game__intro { top: 50%; right: 9%; transform: translateY(-50%); }.practica-alumno .pa-sky-game__intro h2, .practica-alumno .pa-sky-game__result h2 { margin: .2rem 0 .45rem; color: var(--game-navy); font-size: clamp(1.8rem,4vw,2.7rem); font-weight: 950; letter-spacing: -.035em; }.practica-alumno .pa-sky-game__intro > p:not(.pa-sky-game__kicker), .practica-alumno .pa-sky-game__result > span { display: block; margin: 0 auto 1.2rem; color: #547083; line-height: 1.5; }.practica-alumno .pa-sky-game__kicker, .practica-alumno .pa-sky-game__result > p { margin: 0; color: #21837d; font-size: .7rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.practica-alumno .pa-sky-game__logo { display: flex; justify-content: center; gap: .08rem; margin-bottom: .75rem; transform: rotate(-2deg); }.practica-alumno .pa-sky-game__logo span { color: #4f94dc; font-size: 2rem; font-weight: 950; text-shadow: 0 3px #1f628f, 0 5px 7px rgba(25,70,98,.2); }.practica-alumno .pa-sky-game__logo span:nth-child(2), .practica-alumno .pa-sky-game__logo span:nth-child(5) { color: #7bc96f; text-shadow: 0 3px #408b48; }.practica-alumno .pa-sky-game__logo span:nth-child(3) { color: #ffd54f; text-shadow: 0 3px #c09125; }.practica-alumno .pa-sky-game__logo span:nth-child(4), .practica-alumno .pa-sky-game__logo span:nth-child(6) { color: #ee7794; text-shadow: 0 3px #aa4465; }
.practica-alumno .pa-sky-game__primary { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: .45rem; min-width: 190px; padding: .75rem 1.3rem; border: 0; border-bottom: 5px solid #397f45; border-radius: 16px; background: linear-gradient(#84d277,#65b85e); color: #fff; font-size: .95rem; font-weight: 950; box-shadow: 0 9px 18px rgba(64,139,71,.22); text-shadow: 0 1px rgba(37,91,42,.25); }.practica-alumno .pa-sky-game__primary:hover:not(:disabled) { transform: translateY(-2px); filter: saturate(1.08); }.practica-alumno .pa-sky-game__primary:active:not(:disabled) { transform: translateY(3px); border-bottom-width: 2px; }.practica-alumno .pa-sky-game__primary:disabled { opacity: .65; }
.practica-alumno .pa-sky-game__intro-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; margin-top: 1.25rem; }.practica-alumno .pa-sky-game__intro-stats > span { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 .5rem; padding: .65rem; border-radius: 16px; background: rgba(236,247,247,.86); text-align: left; }.practica-alumno .pa-sky-game__intro-stats i { grid-row: 1/3; color: #e3658a; font-size: 1.5rem; }.practica-alumno .pa-sky-game__intro-stats small { color: #60798a; font-size: .65rem; font-weight: 800; }.practica-alumno .pa-sky-game__intro-stats strong { color: var(--game-navy); }
.practica-alumno .pa-sky-game__result { top: 50%; left: 50%; transform: translate(-50%,-50%); animation: pa-sky-result .55s cubic-bezier(.2,.85,.25,1.2); }.practica-alumno .pa-sky-game__result > strong { display: block; margin-bottom: .35rem; color: var(--game-navy); font-size: 1.15rem; }.practica-alumno .pa-sky-game__reward { display: grid; width: 72px; height: 72px; margin: -3.7rem auto .8rem; place-items: center; border: 6px solid rgba(255,255,255,.9); border-radius: 50%; background: linear-gradient(135deg,#ffe47a,#f4b739); box-shadow: 0 10px 24px rgba(154,104,28,.2); color: #fff; font-size: 2rem; }.practica-alumno .pa-sky-game__result.is-defeat .pa-sky-game__reward { background: linear-gradient(135deg,#f59bb9,#d8689b); }
@keyframes pa-sky-balloon { to { transform: translateY(-8px) rotate(2deg); } } @keyframes pa-sky-drift { to { translate: 25px 5px; } } @keyframes pa-sky-twinkle { to { transform: scale(1.8); opacity: .45; } } @keyframes pa-sky-letter { 50% { transform: translateY(-7px) scale(1.18); } } @keyframes pa-sky-nudge { 50% { transform: translateX(calc(-50% + 5px)); } } @keyframes pa-sky-result { from { transform: translate(-50%,-44%) scale(.88); opacity: 0; } } @keyframes pa-sky-away { to { transform: translate(-45%,calc(var(--sky-progress) * -260px)) scale(.88); } } @keyframes pa-sky-celebrate { to { transform: translate(-50%,calc(var(--sky-progress) * -235px - 8px)) rotate(2deg); } }
@media (max-width: 820px) { .practica-alumno .pa-sky-game__world { min-height: 720px; }.practica-alumno .pa-sky-game__hud { grid-template-columns: 1fr 1fr; }.practica-alumno .pa-sky-game__word-card { grid-column: 1/-1; grid-row: 1; }.practica-alumno .pa-sky-game__metric { grid-row: 2; }.practica-alumno .pa-sky-game__traveler { bottom: 132px; transform: translate(-50%,calc(var(--sky-progress) * -230px)) scale(.88); }.practica-alumno .pa-sky-game.is-intro .pa-sky-game__traveler { left: 20%; opacity: .72; }.practica-alumno .pa-sky-game__intro { right: 4%; }.practica-alumno .pa-sky-game__keyboard { grid-template-columns: repeat(7,minmax(0,1fr)); }.practica-alumno .pa-sky-game__feedback { bottom: 192px; }.practica-alumno .pa-sky-game__clue { top: 180px; } }
@media (max-width: 576px) { .practica-alumno .pa-runtime-interaction:has(.pa-sky-game) { padding: .35rem; }.practica-alumno .pa-sky-game__world { min-height: 790px; border-radius: 24px; }.practica-alumno .pa-sky-game__hud { inset: 10px 10px auto; gap: .45rem; }.practica-alumno .pa-sky-game__metric, .practica-alumno .pa-sky-game__word-card { min-height: 62px; border-radius: 14px; }.practica-alumno .pa-sky-game__metric { padding: .45rem; }.practica-alumno .pa-sky-game__metric > i { width: 30px; height: 30px; flex-basis: 30px; }.practica-alumno .pa-sky-game__metric strong { font-size: .8rem; }.practica-alumno .pa-sky-game__word-card span { min-width: 21px; font-size: 1.12rem; }.practica-alumno .pa-sky-game__keyboard { inset: auto 8px 8px; gap: .27rem; padding: .5rem; }.practica-alumno .pa-sky-game__keyboard button { min-height: 39px; }.practica-alumno .pa-sky-game__traveler { left: 55%; bottom: 176px; transform: translate(-50%,calc(var(--sky-progress) * -260px)) scale(.72); }.practica-alumno .pa-sky-game.is-intro .pa-sky-game__traveler { display: none; }.practica-alumno .pa-sky-game__feedback { width: calc(100% - 2rem); max-width: none; bottom: 222px; }.practica-alumno .pa-sky-game__clue { width: 88px; height: 100px; top: 168px; left: 10px; }.practica-alumno .pa-sky-game__clue img { height: 72px; }.practica-alumno .pa-sky-game__audio { width: 190px; top: 162px; right: 8px; }.practica-alumno .pa-sky-game__intro { width: calc(100% - 2rem); right: 1rem; }.practica-alumno .pa-sky-game__intro-stats { grid-template-columns: 1fr; }.practica-alumno .pa-sky-game__result { width: calc(100% - 2rem); } }

/* Globos para el cielo: illustrated SVG scene */
.practica-alumno .pa-sky-game__world { min-height: 640px; background: #8fd1ef; }
.practica-alumno .pa-sky-game__world::after { z-index: 2; background: linear-gradient(115deg,rgba(255,255,255,.14),transparent 34%,rgba(255,255,255,.04)); }
.practica-alumno .pa-sky-scene { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; }
.practica-alumno .pa-sky-scene__day, .practica-alumno .pa-sky-scene__dusk, .practica-alumno .pa-sky-scene__mountains, .practica-alumno .pa-sky-scene__hill, .practica-alumno .pa-sky-scene__trees, .practica-alumno .pa-sky-scene__flowers { transition: opacity 1.1s ease, transform 1.1s cubic-bezier(.2,.7,.3,1); transform-box: fill-box; transform-origin: center bottom; }
.practica-alumno .pa-sky-scene__dusk, .practica-alumno .pa-sky-scene__stars { opacity: 0; transition: opacity 1.1s ease; }
.practica-alumno .pa-sky-scene.is-high .pa-sky-scene__mountains--near { transform: translateY(35px) scale(.95); opacity: .78; }
.practica-alumno .pa-sky-scene.is-high .pa-sky-scene__trees { transform: translateY(55px); opacity: .6; }
.practica-alumno .pa-sky-scene.is-high .pa-sky-scene__hill--front { transform: translateY(55px); }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__day, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__day { opacity: 0; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__dusk, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__dusk { opacity: 1; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__stars, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__stars { opacity: 1; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__mountains, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__mountains { transform: translateY(105px) scale(.84); opacity: .34; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__trees, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__trees, .practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__flowers, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__flowers { transform: translateY(145px); opacity: 0; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__hill, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__hill { transform: translateY(170px); opacity: 0; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__path, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__path { opacity: 0; }
.practica-alumno .pa-sky-scene__cloud--one { animation: pa-scene-cloud-one 14s ease-in-out infinite alternate; }.practica-alumno .pa-sky-scene__cloud--two { animation: pa-scene-cloud-two 18s ease-in-out infinite alternate; }.practica-alumno .pa-sky-scene__cloud--three { animation: pa-scene-cloud-one 21s ease-in-out -7s infinite alternate; }
.practica-alumno .pa-sky-scene__sun { filter: drop-shadow(0 0 20px rgba(255,220,100,.56)); transition: transform 1.1s ease; transform-box: fill-box; transform-origin: center; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__sun, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__sun { transform: translate(-55px,145px) scale(1.12); }
.practica-alumno .pa-sky-scene__hero-shadow { transition: opacity .8s ease, transform .9s ease; transform-origin: center; }
.practica-alumno .pa-sky-scene.is-high .pa-sky-scene__hero-shadow { opacity: .09; transform: scale(.72); }.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__hero-shadow, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__hero-shadow { opacity: 0; }

.practica-alumno .pa-sky-hero { position: absolute; z-index: 12; width: 245px; height: 360px; left: 50%; bottom: 74px; transform: translate(-50%,calc(var(--hero-progress) * -255px)) scale(.72); transform-origin: center bottom; transition: left .85s ease, bottom .85s ease, transform 1s cubic-bezier(.2,.72,.28,1); pointer-events: none; }.practica-alumno .pa-sky-hero svg { width: 100%; height: 100%; overflow: visible; }.practica-alumno .pa-sky-game.is-intro .pa-sky-hero { left: 27%; transform: translate(-50%,0) scale(.76); }.practica-alumno .pa-sky-hero.is-defeat { animation: pa-hero-fly-away 3.2s ease-in-out infinite alternate; }.practica-alumno .pa-sky-hero.is-victory { animation: pa-hero-celebrate .72s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-hero__balloon { transform-box: fill-box; transform-origin: center bottom; animation: pa-hero-balloon-in .52s cubic-bezier(.18,.85,.25,1.25), pa-hero-balloon-float 2.6s .52s ease-in-out infinite alternate; }.practica-alumno .pa-sky-hero__balloon.balloon-1 { animation-delay: 0s,.2s; }.practica-alumno .pa-sky-hero__balloon.balloon-2 { animation-delay: 0s,.4s; }.practica-alumno .pa-sky-hero__balloon.balloon-3 { animation-delay: 0s,.6s; }.practica-alumno .pa-sky-hero__balloon.balloon-4 { animation-delay: 0s,.8s; }.practica-alumno .pa-sky-hero__balloon.balloon-5 { animation-delay: 0s,1s; }.practica-alumno .pa-sky-hero__balloon.balloon-6 { animation-delay: 0s,1.2s; }.practica-alumno .pa-sky-hero__balloon.balloon-7 { animation-delay: 0s,1.4s; }
.practica-alumno .pa-sky-hero.is-flying .pa-sky-hero__leg { transform-box: fill-box; transform-origin: top; animation: pa-hero-legs 1.5s ease-in-out infinite alternate; }.practica-alumno .pa-sky-hero.is-flying .pa-sky-hero__smile, .practica-alumno .pa-sky-hero.is-defeat .pa-sky-hero__smile { stroke-width: 5; }
.practica-alumno .pa-sky-hero__sparkles { transform-origin: center; animation: pa-hero-sparkles 1.2s ease-in-out infinite alternate; }

.practica-alumno .pa-sky-game__hud { grid-template-columns: minmax(135px,.72fr) minmax(300px,1.55fr) minmax(155px,.82fr); padding-right: 54px; }
.practica-alumno .pa-sky-game__pause { position: absolute; top: 0; right: 0; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.84); border-radius: 14px; background: rgba(33,69,91,.58); box-shadow: 0 8px 17px rgba(29,68,89,.14); color: #fff; font-size: 1.25rem; backdrop-filter: blur(10px); transition: transform .18s ease, background .18s ease; }.practica-alumno .pa-sky-game__pause:hover { transform: translateY(-2px); background: rgba(33,69,91,.78); }
.practica-alumno .pa-sky-game__metric, .practica-alumno .pa-sky-game__word-card { border-color: rgba(255,255,255,.92); background: rgba(255,255,255,.88); box-shadow: 0 12px 26px rgba(35,84,110,.16), inset 0 1px rgba(255,255,255,.96); }
.practica-alumno .pa-sky-game__word-card span { color: transparent; }.practica-alumno .pa-sky-game__word-card span.is-revealed { color: var(--game-navy); }
.practica-alumno .pa-sky-game__feedback { z-index: 22; }
.practica-alumno .pa-sky-game__keyboard { z-index: 24; background: rgba(250,253,251,.82); }
.practica-alumno .pa-sky-game__keyboard button { min-height: 44px; font-size: .98rem; }
.practica-alumno .pa-sky-game__keyboard button.is-correct { animation: pa-key-correct .38s ease; }.practica-alumno .pa-sky-game__keyboard button.is-wrong { animation: pa-key-wrong .36s ease; }

.practica-alumno .pa-sky-game__intro { left: 58%; right: auto; transform: translate(-50%,-50%); }.practica-alumno .pa-sky-game__result, .practica-alumno .pa-sky-game__pause-card { position: absolute; z-index: 35; width: min(430px,calc(100% - 3rem)); top: 50%; left: 50%; padding: clamp(1.5rem,4vw,2.3rem); transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.94); border-radius: 28px; background: rgba(255,255,255,.92); box-shadow: 0 24px 60px rgba(43,70,108,.26), inset 0 1px #fff; text-align: center; backdrop-filter: blur(16px); }.practica-alumno .pa-sky-game__pause-card { animation: pa-sky-result .35s ease; }.practica-alumno .pa-sky-game__pause-card > div { display: grid; width: 68px; height: 68px; margin: -3.6rem auto .75rem; place-items: center; border: 6px solid rgba(255,255,255,.9); border-radius: 50%; background: linear-gradient(135deg,#8dd4f1,#6c9ee1); box-shadow: 0 10px 22px rgba(48,103,148,.2); color: #fff; font-size: 1.8rem; }.practica-alumno .pa-sky-game__pause-card p { margin: 0; color: #21837d; font-size: .7rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }.practica-alumno .pa-sky-game__pause-card h2 { margin: .25rem 0 .35rem; color: var(--game-navy); font-size: 2rem; }.practica-alumno .pa-sky-game__pause-card > span { display: block; margin-bottom: 1.2rem; color: #5b7485; }
.practica-alumno .pa-sky-game__result-stats { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; margin: .85rem 0 1rem; }.practica-alumno .pa-sky-game__result-stats > span { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 .45rem; padding: .6rem; border-radius: 14px; background: #edf7f6; text-align: left; }.practica-alumno .pa-sky-game__result-stats i { grid-row: 1/3; color: #e3658a; font-size: 1.4rem; }.practica-alumno .pa-sky-game__result-stats small { color: #667e8d; font-size: .62rem; font-weight: 850; }.practica-alumno .pa-sky-game__result-stats strong { color: var(--game-navy); }
.practica-alumno .pa-sky-game__secondary { display: flex; width: 190px; min-height: 44px; align-items: center; justify-content: center; margin: .55rem auto 0; border: 1px solid #b7cad4; border-radius: 14px; background: rgba(255,255,255,.8); color: var(--game-navy); font-weight: 900; text-decoration: none; }.practica-alumno .pa-sky-game__secondary:hover { background: #f1f7f8; }

@keyframes pa-scene-cloud-one { to { transform: translateX(38px); } } @keyframes pa-scene-cloud-two { to { transform: translate(-32px,8px); } } @keyframes pa-hero-balloon-in { from { transform: translateY(35px) scale(.2); opacity: 0; } } @keyframes pa-hero-balloon-float { to { transform: translateY(-8px) rotate(2deg); } } @keyframes pa-hero-legs { to { transform: rotate(5deg); } } @keyframes pa-hero-fly-away { to { transform: translate(-42%,calc(var(--hero-progress) * -285px)) scale(.58) rotate(3deg); } } @keyframes pa-hero-celebrate { to { transform: translate(-50%,calc(var(--hero-progress) * -255px - 9px)) scale(.74) rotate(2deg); } } @keyframes pa-hero-sparkles { to { transform: scale(1.12) rotate(4deg); opacity: .55; } } @keyframes pa-key-correct { 50% { transform: translateY(-6px) scale(1.08); } } @keyframes pa-key-wrong { 25%,75% { transform: translateX(3px); } 50% { transform: translateX(-3px); } }

@media (max-width: 820px) { .practica-alumno .pa-sky-game__world { min-height: 720px; }.practica-alumno .pa-sky-game__hud { padding-right: 46px; }.practica-alumno .pa-sky-game__pause { width: 38px; height: 38px; }.practica-alumno .pa-sky-hero { bottom: 112px; transform: translate(-50%,calc(var(--hero-progress) * -245px)) scale(.65); }.practica-alumno .pa-sky-game.is-intro .pa-sky-hero { left: 19%; transform: translate(-50%,0) scale(.64); }.practica-alumno .pa-sky-game__intro { left: 58%; }.practica-alumno .pa-sky-game__keyboard button { min-height: 42px; } }
@media (max-width: 576px) { .practica-alumno .pa-sky-game__world { min-height: 780px; }.practica-alumno .pa-sky-game__hud { padding-right: 0; }.practica-alumno .pa-sky-game__pause { top: 132px; right: 0; }.practica-alumno .pa-sky-hero { width: 210px; height: 315px; bottom: 172px; left: 55%; transform: translate(-50%,calc(var(--hero-progress) * -260px)) scale(.6); }.practica-alumno .pa-sky-game.is-intro .pa-sky-hero { display: block; left: 50%; bottom: 52px; transform: translate(-50%,0) scale(.55); opacity: .72; }.practica-alumno .pa-sky-game__intro { top: 42%; left: 50%; width: calc(100% - 2rem); transform: translate(-50%,-50%); }.practica-alumno .pa-sky-game__intro-stats { grid-template-columns: 1fr 1fr; }.practica-alumno .pa-sky-game__result, .practica-alumno .pa-sky-game__pause-card { width: calc(100% - 2rem); }.practica-alumno .pa-sky-game__result-stats { grid-template-columns: 1fr 1fr; }.practica-alumno .pa-sky-scene__trees { opacity: .65; }.practica-alumno .pa-sky-game__keyboard button { min-height: 40px; } }

/* Globos para el cielo: reference composition */
.practica-alumno .pa-runtime-interaction:has(.pa-sky-game) { padding: 0; background: transparent; }
.practica-alumno .pa-sky-game { --sky-ink: #173f58; --sky-muted: #527083; width: 100%; container-type: inline-size; font-family: "Arial Rounded MT Bold", "Trebuchet MS", sans-serif; }
.practica-alumno .pa-sky-game__world { position: relative; width: 100%; min-height: 0; aspect-ratio: 16 / 9; overflow: hidden; isolation: isolate; border: 0; border-radius: 24px; background: #58bdf0; box-shadow: 0 16px 34px rgba(25,72,87,.2); }
.practica-alumno .pa-sky-game__world::after { position: absolute; z-index: 3; inset: 0; pointer-events: none; border-radius: inherit; background: linear-gradient(120deg,rgba(255,255,255,.12),transparent 32%,rgba(255,229,151,.06)); box-shadow: inset 0 0 0 1px rgba(255,255,255,.58), inset 0 -40px 55px rgba(10,68,48,.08); content: ""; }

.practica-alumno .pa-sky-scene { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; }
.practica-alumno .pa-sky-scene__day, .practica-alumno .pa-sky-scene__dusk, .practica-alumno .pa-sky-scene__light, .practica-alumno .pa-sky-scene__mountains, .practica-alumno .pa-sky-scene__valley, .practica-alumno .pa-sky-scene__distant-trees, .practica-alumno .pa-sky-scene__side-trees, .practica-alumno .pa-sky-scene__rocks, .practica-alumno .pa-sky-scene__foreground-foliage, .practica-alumno .pa-sky-scene__flowers, .practica-alumno .pa-sky-scene__grass { transition: opacity .9s ease, transform .9s cubic-bezier(.2,.72,.28,1); transform-box: fill-box; transform-origin: center bottom; }
.practica-alumno .pa-sky-scene__day, .practica-alumno .pa-sky-scene__light { opacity: 1; }
.practica-alumno .pa-sky-scene__dusk, .practica-alumno .pa-sky-scene__stars { opacity: 0; transition: opacity .9s ease; }
.practica-alumno .pa-sky-scene.is-high .pa-sky-scene__mountains--near { transform: translateY(18px) scale(.98); opacity: .92; }
.practica-alumno .pa-sky-scene.is-high .pa-sky-scene__valley, .practica-alumno .pa-sky-scene.is-high .pa-sky-scene__side-trees { transform: translateY(24px); }
.practica-alumno .pa-sky-scene.is-high .pa-sky-scene__rocks, .practica-alumno .pa-sky-scene.is-high .pa-sky-scene__foreground-foliage { transform: translateY(32px); }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__day { opacity: .58; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__dusk { opacity: .48; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__stars { opacity: .36; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__mountains { transform: translateY(38px) scale(.95); opacity: .78; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__valley, .practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__distant-trees { transform: translateY(65px); opacity: .65; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__side-trees, .practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__rocks, .practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__foreground-foliage { transform: translateY(95px); opacity: .42; }
.practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__flowers, .practica-alumno .pa-sky-scene.is-critical .pa-sky-scene__grass { transform: translateY(50px); opacity: .45; }
.practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__day { opacity: 0; }
.practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__dusk, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__stars { opacity: 1; }
.practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__light { opacity: .35; }
.practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__mountains { transform: translateY(120px) scale(.82); opacity: .25; }
.practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__valley, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__distant-trees, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__side-trees, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__rocks, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__foreground-foliage, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__flowers, .practica-alumno .pa-sky-scene.is-defeat .pa-sky-scene__grass { transform: translateY(190px); opacity: 0; }
.practica-alumno .pa-sky-scene__cloud--one { animation: pa-reference-cloud-left 16s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-scene__cloud--two { animation: pa-reference-cloud-right 19s ease-in-out -4s infinite alternate; }
.practica-alumno .pa-sky-scene__cloud--three { animation: pa-reference-cloud-left 22s ease-in-out -9s infinite alternate; }
.practica-alumno .pa-sky-scene__cloud--four { animation: pa-reference-cloud-right 24s ease-in-out -12s infinite alternate; }
.practica-alumno .pa-sky-scene__celebration { transform-origin: center; animation: pa-reference-sparkles 1.2s ease-in-out infinite alternate; }

.practica-alumno .pa-sky-hero { position: absolute; z-index: 12; width: auto; height: 38%; left: 50%; bottom: clamp(112px,18%,132px); aspect-ratio: 360 / 500; transform: translate(-50%,var(--hero-lift,0%)); transform-origin: center bottom; pointer-events: none; transition: left .62s ease, bottom .62s ease, transform .62s cubic-bezier(.2,.72,.28,1); }
.practica-alumno .pa-sky-hero svg { display: block; width: 100%; height: 100%; overflow: visible; }
.practica-alumno .pa-sky-game.is-intro .pa-sky-hero { left: 43%; bottom: 12%; transform: translate(-50%,0); }
.practica-alumno .pa-sky-game.is-victory .pa-sky-hero, .practica-alumno .pa-sky-game.is-defeat .pa-sky-hero { left: 24%; }
.practica-alumno .pa-sky-game.is-defeat .pa-sky-hero { transform: translate(-50%,-76%); }
.practica-alumno .pa-sky-hero.is-victory, .practica-alumno .pa-sky-hero.is-defeat { animation: none; }
.practica-alumno .pa-sky-hero.is-flying .pa-sky-hero__ground-shadow, .practica-alumno .pa-sky-hero.is-defeat .pa-sky-hero__ground-shadow { opacity: 0; }
.practica-alumno .pa-sky-hero__ground-shadow { transition: opacity .35s ease; }
.practica-alumno .pa-sky-hero__balloon { transform-box: fill-box; transform-origin: center bottom; animation: pa-reference-balloon-in .52s cubic-bezier(.18,.86,.25,1.22), pa-reference-balloon-float 2.5s .52s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-hero__balloon.balloon-1 { animation-delay: 0s,.2s; }.practica-alumno .pa-sky-hero__balloon.balloon-2 { animation-delay: 0s,.4s; }.practica-alumno .pa-sky-hero__balloon.balloon-3 { animation-delay: 0s,.6s; }.practica-alumno .pa-sky-hero__balloon.balloon-4 { animation-delay: 0s,.8s; }.practica-alumno .pa-sky-hero__balloon.balloon-5 { animation-delay: 0s,1s; }.practica-alumno .pa-sky-hero__balloon.balloon-6 { animation-delay: 0s,1.2s; }.practica-alumno .pa-sky-hero__balloon.balloon-7 { animation-delay: 0s,1.4s; }
.practica-alumno .pa-sky-hero.is-flying .pa-sky-hero__leg { transform-box: fill-box; transform-origin: top; animation: pa-reference-legs 1.35s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-hero.is-defeat svg { animation: pa-reference-fly 2.4s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-hero.is-victory .pa-sky-hero__character { transform-box: fill-box; transform-origin: center bottom; animation: pa-reference-celebrate .55s ease-in-out infinite alternate; }
.practica-alumno .pa-sky-hero.is-victory .pa-sky-hero__arm { transform-box: fill-box; transform-origin: center top; }
.practica-alumno .pa-sky-hero.is-victory .pa-sky-hero__arm--left { transform: rotate(13deg); }.practica-alumno .pa-sky-hero.is-victory .pa-sky-hero__arm--right { transform: rotate(-13deg); }
.practica-alumno .pa-sky-hero__sparkles { transform-origin: center; animation: pa-reference-sparkles 1s ease-in-out infinite alternate; }

.practica-alumno .pa-sky-game__hud { position: absolute; z-index: 24; display: grid; grid-template-columns: minmax(128px,.72fr) minmax(280px,1.58fr) minmax(150px,.82fr); align-items: stretch; gap: 12px; inset: 16px 16px auto; padding: 0; }
.practica-alumno .pa-sky-game__metric, .practica-alumno .pa-sky-game__word-card { min-height: 64px; border: 1px solid rgba(255,255,255,.94); border-radius: 17px; background: rgba(255,255,255,.91); box-shadow: 0 8px 22px rgba(31,78,98,.16), inset 0 1px rgba(255,255,255,.98); backdrop-filter: blur(10px); }
.practica-alumno .pa-sky-game__metric { display: flex; min-width: 0; align-items: center; gap: 9px; padding: 8px 11px; }
.practica-alumno .pa-sky-game__metric > i { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 12px; background: #ffe6ee; color: #e65382; font-size: 1.35rem; }
.practica-alumno .pa-sky-game__metric.metric-letters > i { background: #e8e3ff; color: #7560c5; }
.practica-alumno .pa-sky-game__metric span, .practica-alumno .pa-sky-game__metric small, .practica-alumno .pa-sky-game__metric strong { display: block; min-width: 0; }
.practica-alumno .pa-sky-game__metric small, .practica-alumno .pa-sky-game__word-card small { color: var(--sky-muted); font-size: .67rem; font-weight: 800; letter-spacing: .02em; }
.practica-alumno .pa-sky-game__metric strong { max-width: 100%; overflow: hidden; color: var(--sky-ink); font-size: .94rem; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.practica-alumno .pa-sky-game__word-card { padding: 6px 12px 8px; text-align: center; }
.practica-alumno .pa-sky-game__word-card > div { display: flex; min-height: 35px; align-items: end; justify-content: center; gap: clamp(3px,.65vw,8px); }
.practica-alumno .pa-sky-game__word-card span { display: grid; min-width: clamp(18px,2.25vw,27px); min-height: 31px; place-items: center; border-bottom: 3px solid #6f9eb1; color: transparent; font-size: clamp(1rem,1.65vw,1.35rem); font-weight: 950; line-height: 1; }
.practica-alumno .pa-sky-game__word-card span.is-revealed { color: var(--sky-ink); animation: pa-reference-letter .38s cubic-bezier(.18,.8,.26,1.3); }
.practica-alumno .pa-sky-game__pause { position: absolute; top: calc(100% + 8px); right: 0; display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.88); border-radius: 50%; background: rgba(30,68,87,.58); box-shadow: 0 7px 17px rgba(29,68,89,.16); color: #fff; font-size: 1.1rem; backdrop-filter: blur(9px); transition: transform .18s ease, background .18s ease; }
.practica-alumno .pa-sky-game__pause:hover { transform: translateY(-2px); background: rgba(30,68,87,.78); }
.practica-alumno .pa-sky-game__pause:focus-visible, .practica-alumno .pa-sky-game__primary:focus-visible, .practica-alumno .pa-sky-game__secondary:focus-visible { outline: 3px solid #153f5b; outline-offset: 3px; }

.practica-alumno .pa-sky-game__keyboard { position: absolute; z-index: 26; display: grid; grid-template-columns: repeat(13,minmax(0,1fr)); grid-auto-rows: 40px; gap: 5px; inset: auto 14px 14px; padding: 8px; border: 1px solid rgba(255,255,255,.82); border-radius: 16px; background: rgba(248,252,250,.86); box-shadow: 0 10px 26px rgba(25,69,82,.18); backdrop-filter: blur(12px); }
.practica-alumno .pa-sky-game__keyboard button { min-width: 0; min-height: 0; padding: 0; border: 1px solid #a8c0ca; border-bottom-width: 3px; border-radius: 9px; background: #fff; color: var(--sky-ink); font-size: clamp(.72rem,1.15vw,.94rem); font-weight: 950; box-shadow: 0 3px 6px rgba(39,79,96,.08); transition: transform .14s ease, border-color .14s ease, background .14s ease, box-shadow .14s ease; }
.practica-alumno .pa-sky-game__keyboard button:hover:not(:disabled) { transform: translateY(-2px); border-color: #5da8d7; background: #edf8ff; }
.practica-alumno .pa-sky-game__keyboard button:focus-visible { position: relative; z-index: 2; outline: 3px solid #174d72; outline-offset: 2px; background: #edf8ff; }
.practica-alumno .pa-sky-game__keyboard button:active:not(:disabled) { transform: translateY(1px); border-bottom-width: 1px; }
.practica-alumno .pa-sky-game__keyboard button.is-correct { border-color: #58a957; background: #d9f0d5; color: #2d7438; animation: pa-reference-key-correct .35s ease; }
.practica-alumno .pa-sky-game__keyboard button.is-wrong { border-color: #d66f70; background: #f9d9da; color: #a34247; animation: pa-reference-key-wrong .34s ease; }
.practica-alumno .pa-sky-game__keyboard button:disabled { cursor: not-allowed; }
.practica-alumno .pa-sky-game__keyboard button:disabled:not(.is-correct):not(.is-wrong) { opacity: .56; }

.practica-alumno .pa-sky-game__feedback { position: absolute; z-index: 22; width: auto; min-width: 0; max-width: 270px; right: 14px; bottom: 116px; left: auto; margin: 0; padding: 8px 12px; transform: none; border: 1px solid rgba(255,255,255,.9); border-radius: 14px; background: rgba(255,255,255,.9); box-shadow: 0 7px 18px rgba(31,76,94,.14); color: #1d7169; font-size: .75rem; font-weight: 900; text-align: center; backdrop-filter: blur(9px); }
.practica-alumno .pa-sky-game__feedback.is-error { color: #a64a47; animation: pa-reference-feedback-error .34s ease-in-out 2; }
.practica-alumno .pa-sky-game__clue { position: absolute; z-index: 17; width: 98px; height: 108px; top: 96px; left: 16px; margin: 0; overflow: hidden; transform: rotate(-2deg); border: 6px solid rgba(255,255,255,.94); border-radius: 18px; background: #fff; box-shadow: 0 10px 22px rgba(35,82,100,.17); }
.practica-alumno .pa-sky-game__clue img { width: 100%; height: 80px; object-fit: cover; }.practica-alumno .pa-sky-game__clue figcaption { color: #45697d; font-size: .61rem; font-weight: 850; text-align: center; }
.practica-alumno .pa-sky-game__audio { position: absolute; z-index: 17; width: 220px; height: 38px; top: 96px; right: 16px; }

.practica-alumno .pa-sky-game__intro, .practica-alumno .pa-sky-game__result, .practica-alumno .pa-sky-game__pause-card { position: absolute; z-index: 35; width: min(390px,calc(100% - 32px)); padding: clamp(1.25rem,3.1vw,2rem); border: 1px solid rgba(255,255,255,.94); border-radius: 24px; background: rgba(255,255,255,.92); box-shadow: 0 20px 48px rgba(31,69,90,.24), inset 0 1px #fff; text-align: center; backdrop-filter: blur(14px); }
.practica-alumno .pa-sky-game__intro { top: 50%; left: 72%; right: auto; transform: translate(-50%,-50%); }
.practica-alumno .pa-sky-game__result, .practica-alumno .pa-sky-game__pause-card { top: 50%; left: 55%; transform: translate(-50%,-50%); animation: pa-reference-card-in .44s cubic-bezier(.2,.84,.24,1.12); }
.practica-alumno .pa-sky-game__intro h2, .practica-alumno .pa-sky-game__result h2, .practica-alumno .pa-sky-game__pause-card h2 { margin: .18rem 0 .4rem; color: var(--sky-ink); font-size: clamp(1.55rem,3.2vw,2.35rem); font-weight: 950; letter-spacing: -.035em; }
.practica-alumno .pa-sky-game__intro > p:not(.pa-sky-game__kicker), .practica-alumno .pa-sky-game__result > span, .practica-alumno .pa-sky-game__pause-card > span { display: block; margin: 0 auto 1rem; color: var(--sky-muted); font-size: .82rem; line-height: 1.45; }
.practica-alumno .pa-sky-game__kicker, .practica-alumno .pa-sky-game__result > p, .practica-alumno .pa-sky-game__pause-card > p { margin: 0; color: #21837d; font-size: .65rem; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.practica-alumno .pa-sky-game__logo { display: flex; justify-content: center; gap: 1px; margin-bottom: .55rem; transform: rotate(-2deg); }
.practica-alumno .pa-sky-game__logo span { color: #4f94dc; font-size: 1.75rem; font-weight: 950; text-shadow: 0 2px #1f628f,0 4px 6px rgba(25,70,98,.18); }.practica-alumno .pa-sky-game__logo span:nth-child(2), .practica-alumno .pa-sky-game__logo span:nth-child(5) { color: #7bc96f; text-shadow: 0 2px #408b48; }.practica-alumno .pa-sky-game__logo span:nth-child(3) { color: #ffd54f; text-shadow: 0 2px #c09125; }.practica-alumno .pa-sky-game__logo span:nth-child(4), .practica-alumno .pa-sky-game__logo span:nth-child(6) { color: #ee7794; text-shadow: 0 2px #aa4465; }
.practica-alumno .pa-sky-game__primary { display: inline-flex; min-width: 178px; min-height: 46px; align-items: center; justify-content: center; gap: 7px; padding: 10px 18px; border: 0; border-bottom: 4px solid #397f45; border-radius: 14px; background: linear-gradient(#86d279,#62b75d); color: #fff; font-size: .88rem; font-weight: 950; box-shadow: 0 8px 17px rgba(64,139,71,.22); text-shadow: 0 1px rgba(37,91,42,.25); }
.practica-alumno .pa-sky-game__primary:hover:not(:disabled) { transform: translateY(-2px); filter: saturate(1.08); }.practica-alumno .pa-sky-game__primary:active:not(:disabled) { transform: translateY(2px); border-bottom-width: 2px; }.practica-alumno .pa-sky-game__primary:disabled { opacity: .65; }
.practica-alumno .pa-sky-game__intro-stats, .practica-alumno .pa-sky-game__result-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 1rem; }
.practica-alumno .pa-sky-game__result-stats { margin: .75rem 0 .85rem; }
.practica-alumno .pa-sky-game__intro-stats > span, .practica-alumno .pa-sky-game__result-stats > span { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 0 7px; padding: 8px; border-radius: 13px; background: rgba(236,247,247,.9); text-align: left; }
.practica-alumno .pa-sky-game__intro-stats i, .practica-alumno .pa-sky-game__result-stats i { grid-row: 1/3; color: #e3658a; font-size: 1.3rem; }.practica-alumno .pa-sky-game__intro-stats small, .practica-alumno .pa-sky-game__result-stats small { color: #60798a; font-size: .59rem; font-weight: 800; }.practica-alumno .pa-sky-game__intro-stats strong, .practica-alumno .pa-sky-game__result-stats strong { color: var(--sky-ink); font-size: .82rem; }
.practica-alumno .pa-sky-game__result > strong { display: block; margin-bottom: .3rem; color: var(--sky-ink); font-size: 1.05rem; }.practica-alumno .pa-sky-game__reward, .practica-alumno .pa-sky-game__pause-card > div { display: grid; width: 62px; height: 62px; margin: -3.2rem auto .65rem; place-items: center; border: 5px solid rgba(255,255,255,.94); border-radius: 50%; background: linear-gradient(135deg,#ffe47a,#f4b739); box-shadow: 0 9px 21px rgba(154,104,28,.2); color: #fff; font-size: 1.75rem; }.practica-alumno .pa-sky-game__result.is-defeat .pa-sky-game__reward { background: linear-gradient(135deg,#f59bb9,#d8689b); }.practica-alumno .pa-sky-game__pause-card > div { background: linear-gradient(135deg,#8dd4f1,#6c9ee1); }
.practica-alumno .pa-sky-game__secondary { display: flex; width: 178px; min-height: 42px; align-items: center; justify-content: center; margin: 7px auto 0; border: 1px solid #abc1ca; border-radius: 13px; background: rgba(255,255,255,.84); color: var(--sky-ink); font-size: .84rem; font-weight: 900; text-decoration: none; }.practica-alumno .pa-sky-game__secondary:hover { background: #f0f7f8; }

@keyframes pa-reference-cloud-left { to { transform: translateX(34px); } }
@keyframes pa-reference-cloud-right { to { transform: translate(-30px,6px); } }
@keyframes pa-reference-balloon-in { from { transform: translateY(30px) scale(.25); opacity: 0; } }
@keyframes pa-reference-balloon-float { to { transform: translateY(-7px) rotate(2deg); } }
@keyframes pa-reference-legs { to { transform: rotate(5deg); } }
@keyframes pa-reference-fly { to { transform: translate(5px,-8px) rotate(2deg); } }
@keyframes pa-reference-celebrate { to { transform: translateY(-7px) rotate(1.5deg); } }
@keyframes pa-reference-sparkles { to { transform: scale(1.08) rotate(3deg); opacity: .58; } }
@keyframes pa-reference-letter { 50% { transform: translateY(-5px) scale(1.14); } }
@keyframes pa-reference-key-correct { 50% { transform: translateY(-4px) scale(1.06); } }
@keyframes pa-reference-key-wrong { 25%,75% { transform: translateX(2px); } 50% { transform: translateX(-2px); } }
@keyframes pa-reference-feedback-error { 25%,75% { transform: translateX(3px); } 50% { transform: translateX(-3px); } }
@keyframes pa-reference-card-in { from { transform: translate(-50%,-44%) scale(.9); opacity: 0; } }

@media (max-width: 1100px) {
    .practica-alumno .pa-sky-game__world { min-height: 650px; aspect-ratio: auto; }
    .practica-alumno .pa-sky-game__hud { grid-template-columns: minmax(120px,.72fr) minmax(240px,1.5fr) minmax(140px,.8fr); gap: 9px; inset: 13px 13px auto; }
    .practica-alumno .pa-sky-game__metric, .practica-alumno .pa-sky-game__word-card { min-height: 60px; }
    .practica-alumno .pa-sky-game__keyboard { inset: auto 11px 11px; gap: 4px; padding: 7px; }
    .practica-alumno .pa-sky-game__feedback { right: 11px; bottom: 111px; }
    .practica-alumno .pa-sky-game__intro { left: 69%; }
}

@media (max-width: 720px) {
    .practica-alumno .pa-sky-game__world { min-height: 760px; border-radius: 24px; }
    .practica-alumno .pa-sky-game__hud { grid-template-columns: 1fr 1fr; gap: 6px; inset: 10px 10px auto; }
    .practica-alumno .pa-sky-game__word-card { grid-column: 1 / -1; grid-row: 1; min-height: 62px; }
    .practica-alumno .pa-sky-game__metric { grid-row: 2; min-height: 54px; padding: 6px 8px; }
    .practica-alumno .pa-sky-game__metric.metric-balloons { grid-column: 1; }.practica-alumno .pa-sky-game__metric.metric-letters { grid-column: 2; }
    .practica-alumno .pa-sky-game__metric > i { width: 31px; height: 31px; flex-basis: 31px; border-radius: 10px; font-size: 1.15rem; }
    .practica-alumno .pa-sky-game__metric strong { font-size: .78rem; }.practica-alumno .pa-sky-game__metric small { font-size: .59rem; }
    .practica-alumno .pa-sky-game__word-card > div { gap: 2px; }
    .practica-alumno .pa-sky-game__word-card span { min-width: 0; max-width: 24px; flex: 1 1 0; font-size: clamp(.8rem,3.2vw,1.03rem); }
    .practica-alumno .pa-sky-game__pause { top: calc(100% + 6px); width: 34px; height: 34px; }
    .practica-alumno .pa-sky-hero { height: 38%; bottom: 108px; }
    .practica-alumno .pa-sky-game.is-intro .pa-sky-hero { left: 50%; bottom: 8%; opacity: .88; }
    .practica-alumno .pa-sky-game.is-victory .pa-sky-hero, .practica-alumno .pa-sky-game.is-defeat .pa-sky-hero { left: 50%; top: 156px; bottom: auto; transform: translate(-50%,0); }
    .practica-alumno .pa-sky-game__keyboard { grid-template-columns: repeat(13,minmax(0,1fr)); grid-auto-rows: 38px; gap: 2px; inset: auto 7px 7px; padding: 5px; border-radius: 13px; }
    .practica-alumno .pa-sky-game__keyboard button { border-bottom-width: 2px; border-radius: 7px; font-size: clamp(.57rem,2.8vw,.73rem); }
    .practica-alumno .pa-sky-game__feedback { width: 43%; max-width: 190px; right: auto; bottom: 96px; left: 8px; padding: 7px 8px; font-size: .66rem; }
    .practica-alumno .pa-sky-game__clue { width: 78px; height: 88px; top: 142px; left: 10px; border-width: 5px; border-radius: 15px; }.practica-alumno .pa-sky-game__clue img { height: 63px; }
    .practica-alumno .pa-sky-game__audio { width: 180px; top: 142px; right: 9px; }
    .practica-alumno .pa-sky-game__intro, .practica-alumno .pa-sky-game__result, .practica-alumno .pa-sky-game__pause-card { width: calc(100% - 24px); padding: 1.25rem; }
    .practica-alumno .pa-sky-game__intro { top: 38%; left: 50%; }
    .practica-alumno .pa-sky-game__result, .practica-alumno .pa-sky-game__pause-card { top: 57%; left: 50%; }
    .practica-alumno .pa-sky-game__intro h2, .practica-alumno .pa-sky-game__result h2 { font-size: 1.65rem; }
    .practica-alumno .pa-sky-game__intro-stats, .practica-alumno .pa-sky-game__result-stats { gap: 5px; }
}

/* Aventura de Palabras: interactive crossword */
.practica-alumno .pa-runtime-card:has(.pa-crossword) {
    border-color: #c6dde7;
    background: #f2f9fc;
    box-shadow: 0 18px 45px rgba(24, 70, 98, .14);
}

.practica-alumno.pa-runtime:has(.pa-crossword) { max-width: 1320px; margin-right: auto; margin-left: auto; padding: clamp(.7rem, 1.6vw, 1.25rem); border: 1px solid rgba(255,255,255,.88); border-radius: 28px; background: linear-gradient(180deg, rgba(198,236,248,.82), rgba(240,249,252,.7) 23%, transparent 23%); box-shadow: 0 18px 48px rgba(31,78,105,.1); }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-topbar { margin: 0; padding: .7rem .85rem .55rem; }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-topbar > a { display: inline-flex; width: max-content; min-height: 38px; align-items: center; gap: .35rem; padding: .4rem .7rem; border: 1px solid rgba(255,255,255,.9); border-radius: 999px; background: rgba(255,255,255,.68); box-shadow: 0 4px 11px rgba(29,81,105,.08); }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-score { position: relative; min-width: 126px; padding: .58rem .9rem .58rem 2rem; border-radius: 999px; background: linear-gradient(135deg,#ffdc5f,#ffc72d); box-shadow: 0 7px 15px rgba(177,130,16,.22); color: #163f59; font-weight: 900; text-align: center; }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-score::before { position: absolute; left: .75rem; color: #174d70; content: "★"; font-size: 1rem; }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-abandon { min-height: 38px; padding: .4rem .7rem; border: 0; border-radius: 999px; background: rgba(255,255,255,.55); color: #b84343; font-weight: 900; }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-progress { margin: 0; padding: .4rem .85rem 1.1rem; }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-progress > div { color: #284f65; }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-progress progress { height: 9px; border: 1px solid rgba(255,255,255,.75); background: rgba(38,91,110,.19); box-shadow: inset 0 1px 3px rgba(18,64,82,.12); accent-color: #22b66f; }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-progress progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg,#1caf67,#37c77a); }
.practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-progress progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg,#1caf67,#37c77a); }

.practica-alumno .pa-runtime-card > .pa-crossword-heading {
    position: relative;
    display: grid;
    min-height: 205px;
    grid-template-columns: minmax(0, 1fr) minmax(230px, .42fr);
    align-items: center;
    gap: 1.5rem;
    overflow: hidden;
    padding: clamp(1.7rem, 4vw, 3rem);
    border-bottom-color: #c7e4e4;
    background:
        radial-gradient(circle at 87% 14%, rgba(255, 217, 99, .36), transparent 9rem),
        linear-gradient(118deg, #fff 0 59%, #dff7f0 59% 100%);
}

.practica-alumno .pa-crossword-heading__copy { position: relative; z-index: 3; }
.practica-alumno .pa-crossword-heading__copy h1 { max-width: 680px; margin-bottom: .75rem; }
.practica-alumno .pa-crossword-heading__eyebrow { display: flex; align-items: center; gap: .65rem; margin-bottom: .55rem; }
.practica-alumno .pa-crossword-heading__eyebrow > span { display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border-radius: 50%; background: #ffd43f; box-shadow: 0 5px 12px rgba(165,122,12,.18); color: #087875; font-size: 1.25rem; }
.practica-alumno .pa-crossword-heading__eyebrow p { margin: 0; color: #078b8c; font-size: .72rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.practica-alumno .pa-crossword-heading__meta { display: flex; flex-wrap: wrap; align-items: flex-start; gap: .75rem 1rem; color: #416678; font-size: .86rem; font-weight: 800; }
.practica-alumno .pa-crossword-heading__meta > span { display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .7rem; border: 1px solid #c6e1df; border-radius: 999px; background: rgba(255,255,255,.76); }
.practica-alumno .pa-crossword-heading__meta details { max-width: 360px; margin: 0; }
.practica-alumno .pa-crossword-heading__meta details summary { display: inline-flex; min-height: 36px; align-items: center; gap: .35rem; padding: .4rem .65rem; border-radius: 999px; color: #08747b; }
.practica-alumno .pa-crossword-heading__meta details[open] { padding: 0 .6rem .55rem; border: 1px solid #c6e1df; border-radius: 14px; background: rgba(255,255,255,.86); }
.practica-alumno .pa-crossword-heading__meta details p { margin: .45rem 0 0; color: #345969; font-weight: 650; }

.practica-alumno .pa-crossword-heading__scene { position: absolute; z-index: 1; width: 36%; min-width: 285px; height: 100%; right: 0; bottom: 0; overflow: hidden; color: #176b67; }
.practica-alumno .pa-crossword-heading__scene::before, .practica-alumno .pa-crossword-heading__scene::after { position: absolute; border-radius: 50%; content: ""; }
.practica-alumno .pa-crossword-heading__scene::before { width: 150px; height: 65px; right: 32px; bottom: 19px; transform: rotate(-7deg); background: #86d393; box-shadow: -92px 20px 0 12px #67bd85, 80px 15px 0 4px #53ad78; }
.practica-alumno .pa-crossword-heading__scene::after { width: 92px; height: 27px; top: 45px; right: 70px; background: rgba(255,255,255,.8); box-shadow: 22px -12px 0 2px rgba(255,255,255,.8), -128px 43px 0 -3px rgba(255,255,255,.68); }
.practica-alumno .pa-crossword-heading__sun { position: absolute; width: 58px; height: 58px; top: 28px; right: 34px; border-radius: 50%; background: #ffd460; box-shadow: 0 0 0 12px rgba(255,212,96,.17); }
.practica-alumno .pa-crossword-heading__hill { position: absolute; width: 145px; height: 70px; right: 81px; bottom: -24px; transform: rotate(4deg); border-radius: 50%; background: #a5dd92; }
.practica-alumno .pa-crossword-heading__paw { position: absolute; z-index: 3; top: 68px; right: 43%; transform: rotate(-18deg); color: rgba(24,111,105,.18); font-size: 4.5rem; }
.practica-alumno .pa-crossword-heading__tree { position: absolute; z-index: 3; bottom: 14px; color: #23866e; filter: drop-shadow(0 5px 3px rgba(18,90,75,.13)); }
.practica-alumno .pa-crossword-heading__tree.tree-one { right: 45px; font-size: 5.2rem; }
.practica-alumno .pa-crossword-heading__tree.tree-two { right: 128px; bottom: 9px; color: #3fa27a; font-size: 3.7rem; }

.practica-alumno .pa-runtime-interaction--crossword { min-height: 0; padding: 0; background: #edf7fb; }
.practica-alumno .pa-crossword { --crossword-navy: #123f5c; --crossword-blue: #1678c4; --crossword-teal: #0d9488; --crossword-mint: #e4f7f0; color: var(--crossword-navy); }
.practica-alumno .pa-crossword__content { display: grid; grid-template-columns: minmax(0, 1.42fr) minmax(270px, .68fr); gap: clamp(.9rem, 2vw, 1.4rem); padding: clamp(.9rem, 2.2vw, 1.5rem); }
.practica-alumno .pa-crossword__stage, .practica-alumno .pa-crossword__clues { border: 1px solid rgba(174,209,219,.9); border-radius: 22px; background: rgba(255,255,255,.94); box-shadow: 0 9px 24px rgba(35,83,105,.09); }
.practica-alumno .pa-crossword__stage { min-width: 0; padding: clamp(.9rem, 2vw, 1.35rem); }
.practica-alumno .pa-crossword__stage-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .9rem; }
.practica-alumno .pa-crossword__stage-heading h2 { margin: .2rem 0 0; font-size: clamp(1.08rem, 2vw, 1.35rem); font-weight: 900; letter-spacing: -.015em; }
.practica-alumno .pa-crossword__step { display: inline-flex; align-items: center; gap: .35rem; color: #137d78; font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.practica-alumno .pa-crossword__counter { flex: 0 0 auto; padding: .42rem .65rem; border-radius: 999px; background: #e9f6fc; color: #22617f; font-size: .72rem; font-weight: 850; }

.practica-alumno .pa-crossword__scroll { max-width: 100%; overflow: auto; padding: clamp(.8rem, 2.2vw, 1.35rem); border: 1px solid #c6e3df; border-radius: 18px; background:
        radial-gradient(circle at 12% 15%, rgba(255,255,255,.76), transparent 9rem),
        linear-gradient(145deg, #dff4eb, #e8f7f8); scrollbar-color: #7bb8b7 transparent; }
.practica-alumno .pa-crossword__scroll:focus-visible { outline: 3px solid #176db1; outline-offset: 3px; }
.practica-alumno .pa-crossword__grid { --crossword-cell-size: clamp(2.55rem, calc(41vw / var(--crossword-columns)), 3.35rem); display: grid; grid-template-columns: repeat(var(--crossword-columns), var(--crossword-cell-size)); grid-template-rows: repeat(var(--crossword-rows), var(--crossword-cell-size)); gap: .28rem; width: max-content; min-width: min-content; margin: auto; padding: .25rem; }
.practica-alumno .pa-crossword__cell { position: relative; width: var(--crossword-cell-size); height: var(--crossword-cell-size); }
.practica-alumno .pa-crossword__cell input { width: 100%; height: 100%; padding: .42rem .2rem .12rem; border: 1px solid #9dbdc7; border-bottom-width: 3px; border-radius: 8px; outline: 0; background: #fff; box-shadow: 0 3px 7px rgba(25,75,95,.09); color: var(--crossword-navy); caret-color: #146fb6; font-size: clamp(1.05rem, 2.4vw, 1.42rem); font-weight: 950; line-height: 1; text-align: center; text-transform: uppercase; transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, transform .15s ease; }
.practica-alumno .pa-crossword__cell input:hover { border-color: #5ca8b3; }
.practica-alumno .pa-crossword__cell.is-in-word input { border-color: #6dbfc1; background: #dff5f4; }
.practica-alumno .pa-crossword__cell.is-correct input { border-color: #3a9b68; background: #def4e6; color: #175f40; }
.practica-alumno .pa-crossword__cell.is-incorrect input { border-color: #d86b68; background: #ffebe8; color: #8f3536; }
.practica-alumno .pa-crossword__cell.is-active input, .practica-alumno .pa-crossword__cell input:focus { position: relative; z-index: 3; border-color: #126fbd; background: #fff; box-shadow: 0 0 0 3px rgba(18,111,189,.24), 0 6px 12px rgba(25,83,126,.14); transform: translateY(-1px); }
.practica-alumno .pa-crossword__cell input:focus-visible { outline: 3px solid #0f5f9d; outline-offset: 2px; }
.practica-alumno .pa-crossword__number { position: absolute; z-index: 5; top: 3px; left: 5px; pointer-events: none; color: #285a71; font-size: clamp(.52rem, .9vw, .66rem); font-weight: 950; line-height: 1; }
.practica-alumno .pa-crossword__cell-status { position: absolute; z-index: 5; right: 3px; bottom: 2px; pointer-events: none; font-size: .72rem; font-weight: 950; }
.practica-alumno .pa-crossword__cell.is-correct .pa-crossword__cell-status { color: #1c7c50; }
.practica-alumno .pa-crossword__cell.is-incorrect .pa-crossword__cell-status { color: #ae3e42; }

.practica-alumno .pa-crossword__feedback { display: flex; min-height: 43px; align-items: center; gap: .55rem; margin: .8rem 0 0; padding: .65rem .8rem; border: 1px solid #c6dfe8; border-radius: 13px; background: #f3f9fc; color: #365f73; font-size: .78rem; font-weight: 750; }
.practica-alumno .pa-crossword__feedback > i { flex: 0 0 auto; color: #15837c; font-size: 1.25rem; }
.practica-alumno .pa-crossword__feedback.is-correct { border-color: #a9dbc0; background: #e6f7ec; color: #175e40; }
.practica-alumno .pa-crossword__feedback.is-error { border-color: #edbeb8; background: #fff0ed; color: #853d3d; }
.practica-alumno .pa-crossword__feedback.is-error > i { color: #ce5c58; }

.practica-alumno .pa-crossword__clues { align-self: start; overflow: hidden; padding: 1rem; }
.practica-alumno .pa-crossword__clues-heading { display: flex; align-items: center; gap: .7rem; margin: -.05rem -.05rem .85rem; padding: .7rem; border-radius: 15px; background: linear-gradient(135deg, #e3f6f0, #e8f4fb); }
.practica-alumno .pa-crossword__clues-heading > span { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border-radius: 13px; background: #ffd86b; color: #79560a; font-size: 1.3rem; box-shadow: 0 4px 9px rgba(129,95,18,.12); }
.practica-alumno .pa-crossword__clues-heading p, .practica-alumno .pa-crossword__clues-heading strong { display: block; margin: 0; }
.practica-alumno .pa-crossword__clues-heading p { color: #39717c; font-size: .66rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.practica-alumno .pa-crossword__clues-heading strong { color: var(--crossword-navy); font-size: .92rem; }
.practica-alumno .pa-crossword__media { display: grid; gap: .55rem; margin-bottom: .85rem; padding: .55rem; border: 1px solid #c9e1e3; border-radius: 14px; background: #f1faf8; }
.practica-alumno .pa-crossword__media img { width: 100%; max-height: 130px; border-radius: 10px; object-fit: cover; }
.practica-alumno .pa-crossword__media audio { width: 100%; height: 38px; }
.practica-alumno .pa-crossword__clue-group + .pa-crossword__clue-group { margin-top: 1rem; }
.practica-alumno .pa-crossword__clue-group h3 { display: flex; align-items: center; gap: .35rem; margin: 0 0 .48rem; color: #23596f; font-size: .68rem; font-weight: 950; letter-spacing: .1em; text-transform: uppercase; }
.practica-alumno .pa-crossword__clue-group.is-horizontal h3 { color: #1673c3; }
.practica-alumno .pa-crossword__clue-group.is-vertical h3 { color: #168a59; }
.practica-alumno .pa-crossword__clue { display: grid; width: 100%; min-height: 48px; grid-template-columns: 29px minmax(0,1fr) auto; align-items: start; gap: .55rem; margin-bottom: .35rem; padding: .55rem; border: 1px solid transparent; border-radius: 12px; background: transparent; color: #365b6b; font-size: .78rem; line-height: 1.35; text-align: left; transition: border-color .16s ease, background .16s ease, transform .16s ease; }
.practica-alumno .pa-crossword__clue:hover { border-color: #b5d9da; background: #edf8f6; transform: translateX(2px); }
.practica-alumno .pa-crossword__clue:focus-visible { outline: 3px solid #176db1; outline-offset: 2px; }
.practica-alumno .pa-crossword__clue > span:first-child { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; background: #e8f2f6; color: #195b78; font-weight: 950; }
.practica-alumno .pa-crossword__clue small { color: #5d7783; font-weight: 900; white-space: nowrap; }
.practica-alumno .pa-crossword__clue > i { margin-top: .3rem; color: #27875d; font-size: 1rem; }
.practica-alumno .pa-crossword__clue.is-active { border-color: #66b9ba; background: #ddf4f1; color: #174f61; box-shadow: 0 4px 10px rgba(33,126,124,.1); }
.practica-alumno .pa-crossword__clue.is-active > span:first-child { background: #147e82; color: #fff; }
.practica-alumno .pa-crossword__clue.is-complete:not(.is-active) { color: #2a684d; }
.practica-alumno .pa-crossword__clue-group.is-horizontal .pa-crossword__clue > span:first-child { background: #e4f1fd; color: #146cb5; }
.practica-alumno .pa-crossword__clue-group.is-horizontal .pa-crossword__clue.is-active { border-color: #82bce9; background: #e9f4fd; }
.practica-alumno .pa-crossword__clue-group.is-horizontal .pa-crossword__clue.is-active > span:first-child { background: #197ac9; color: #fff; }
.practica-alumno .pa-crossword__clue-group.is-vertical .pa-crossword__clue > span:first-child { background: #e4f5ea; color: #147749; }
.practica-alumno .pa-crossword__clue-group.is-vertical .pa-crossword__clue.is-active { border-color: #83caa3; background: #e7f7ed; }
.practica-alumno .pa-crossword__clue-group.is-vertical .pa-crossword__clue.is-active > span:first-child { background: #15915a; color: #fff; }

.practica-alumno .pa-crossword__footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem clamp(.9rem, 2.2vw, 1.5rem); border-top: 1px solid #c7dfe7; background: rgba(255,255,255,.92); }
.practica-alumno .pa-crossword__stats { display: flex; flex-wrap: wrap; gap: .55rem 1rem; color: #4d6b79; font-size: .76rem; font-weight: 800; }
.practica-alumno .pa-crossword__stats span { display: inline-flex; align-items: center; gap: .35rem; }
.practica-alumno .pa-crossword__stats i { color: #16857f; font-size: 1.05rem; }
.practica-alumno .pa-crossword__stats strong { color: #174c62; }
.practica-alumno .pa-crossword__check { display: inline-flex; min-width: 215px; min-height: 48px; align-items: center; justify-content: center; gap: .55rem; padding: .7rem 1.05rem; border: 0; border-bottom: 4px solid #075e67; border-radius: 14px; background: linear-gradient(135deg, #0d8d8c, #08717c); box-shadow: 0 8px 17px rgba(9,113,121,.22); color: #fff; font-weight: 900; transition: transform .16s ease, filter .16s ease; }
.practica-alumno .pa-crossword__check:hover:not(:disabled) { transform: translateY(-2px); filter: saturate(1.12); }
.practica-alumno .pa-crossword__check:active:not(:disabled) { transform: translateY(2px); border-bottom-width: 2px; }
.practica-alumno .pa-crossword__check:disabled { border-bottom-color: #879ca4; background: #b5c5ca; box-shadow: none; color: #f4f7f8; cursor: not-allowed; }
.practica-alumno .pa-crossword__check:focus-visible { outline: 3px solid #0d538d; outline-offset: 3px; }

@media (max-width: 1050px) {
    .practica-alumno .pa-crossword__content { grid-template-columns: minmax(0, 1.2fr) minmax(245px, .8fr); }
    .practica-alumno .pa-crossword__grid { --crossword-cell-size: clamp(2.4rem, calc(47vw / var(--crossword-columns)), 3rem); }
    .practica-alumno .pa-crossword-heading__scene { width: 40%; opacity: .88; }
}

@media (max-width: 820px) {
    .practica-alumno .pa-runtime-card > .pa-crossword-heading { min-height: 185px; grid-template-columns: minmax(0,1fr) 190px; background: linear-gradient(118deg, #fff 0 66%, #dff7f0 66%); }
    .practica-alumno .pa-crossword-heading__scene { width: 34%; min-width: 215px; }
    .practica-alumno .pa-crossword-heading__paw { display: none; }
    .practica-alumno .pa-crossword__content { grid-template-columns: minmax(0,1fr); }
    .practica-alumno .pa-crossword__grid { --crossword-cell-size: clamp(2.5rem, calc(72vw / var(--crossword-columns)), 3.15rem); }
    .practica-alumno .pa-crossword__clues { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
    .practica-alumno .pa-crossword__clues-heading, .practica-alumno .pa-crossword__media { grid-column: 1 / -1; }
    .practica-alumno .pa-crossword__clue-group + .pa-crossword__clue-group { margin-top: 0; }
}

@media (max-width: 576px) {
    .practica-alumno.pa-runtime:has(.pa-crossword) { margin-right: -6px; margin-left: -6px; padding: .45rem; border-radius: 20px; }
    .practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-topbar { grid-template-columns: 1fr auto; gap: .45rem; padding: .5rem; }
    .practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-score { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
    .practica-alumno.pa-runtime:has(.pa-crossword) .pa-runtime-progress { padding: .25rem .5rem .75rem; }
    .practica-alumno .pa-runtime-card > .pa-crossword-heading { min-height: 0; display: block; padding: 1.35rem 1.1rem 1.5rem; background: radial-gradient(circle at 92% 12%, rgba(255,213,92,.22), transparent 7rem), linear-gradient(145deg,#fff,#e7f8f3); }
    .practica-alumno .pa-crossword-heading__scene { display: none; }
    .practica-alumno .pa-crossword-heading__meta { align-items: stretch; flex-direction: column; }
    .practica-alumno .pa-crossword-heading__meta > span { width: max-content; }
    .practica-alumno .pa-crossword-heading__meta details { max-width: 100%; }
    .practica-alumno .pa-crossword__content { padding: .65rem; }
    .practica-alumno .pa-crossword__stage, .practica-alumno .pa-crossword__clues { border-radius: 17px; }
    .practica-alumno .pa-crossword__stage { padding: .7rem; }
    .practica-alumno .pa-crossword__stage-heading { align-items: center; }
    .practica-alumno .pa-crossword__counter { font-size: .65rem; }
    .practica-alumno .pa-crossword__scroll { padding: .75rem; scroll-snap-type: x proximity; }
    .practica-alumno .pa-crossword__grid { --crossword-cell-size: 2.65rem; margin: 0 auto; }
    .practica-alumno .pa-crossword__cell input { font-size: 1.18rem; }
    .practica-alumno .pa-crossword__clues { display: block; padding: .8rem; }
    .practica-alumno .pa-crossword__clue-group + .pa-crossword__clue-group { margin-top: 1rem; }
    .practica-alumno .pa-crossword__footer { align-items: stretch; flex-direction: column; padding: .8rem; }
    .practica-alumno .pa-crossword__stats { justify-content: space-between; }
    .practica-alumno .pa-crossword__check { width: 100%; min-width: 0; }
}

@media (forced-colors: active) {
    .practica-alumno .pa-crossword__cell.is-in-word input, .practica-alumno .pa-crossword__cell.is-correct input, .practica-alumno .pa-crossword__cell.is-incorrect input { border-width: 3px; }
    .practica-alumno .pa-crossword__clue.is-active { outline: 3px solid Highlight; }
}
/* Selector y recorrido academico del modulo Practicar. */
.pa-mode-picker {
    background: rgba(255,255,255,.94);
    border: 1px solid var(--pa-line);
    border-radius: 24px;
    box-shadow: var(--pa-shadow);
    margin: 1.5rem auto 2.5rem;
    max-width: 1320px;
    padding: clamp(1.25rem, 3vw, 2.3rem);
}

.pa-mode-picker__heading { margin-bottom: 1.4rem; max-width: 680px; }
.pa-mode-picker__heading h2 { color: var(--pa-ink); font-size: 1.65rem; font-weight: 800; letter-spacing: -.025em; margin: .2rem 0 .45rem; }
.pa-mode-picker__heading > p:last-child { color: var(--pa-muted); margin: 0; }
.pa-mode-picker__grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pa-mode-card {
    align-items: center;
    background: #fff;
    border: 1px solid var(--pa-line);
    border-radius: 20px;
    color: var(--pa-ink);
    display: grid;
    gap: 1rem;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    min-height: 150px;
    padding: 1.2rem;
    text-align: left;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.pa-mode-card:hover:not(:disabled), .pa-mode-card:focus-visible { border-color: var(--pa-teal); box-shadow: var(--pa-shadow); transform: translateY(-3px); }
.pa-mode-card:disabled { cursor: not-allowed; filter: grayscale(.4); opacity: .58; }
.pa-mode-card__icon { align-items: center; background: var(--pa-mint); border-radius: 16px; color: var(--pa-teal-dark); display: flex; font-size: 1.65rem; height: 56px; justify-content: center; }
.pa-mode-card--guided .pa-mode-card__icon { background: #cfeafa; color: var(--pa-blue); }
.pa-mode-card > span:nth-child(2) { display: flex; flex-direction: column; }
.pa-mode-card small { color: var(--pa-teal-dark); font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.pa-mode-card strong { font-size: 1.2rem; font-weight: 800; margin: .15rem 0 .3rem; }
.pa-mode-card em { color: var(--pa-muted); font-size: .86rem; font-style: normal; }

.pa-mode-back { align-items: center; background: transparent; border: 0; color: var(--pa-teal-dark); display: inline-flex; font-size: .82rem; font-weight: 700; gap: .3rem; margin: 0 0 .6rem; padding: 0; }
.pa-mode-back:hover { color: var(--pa-blue); }
.pa-free-mode-heading { align-items: center; display: flex; justify-content: space-between; margin: 1.2rem auto; max-width: 1320px; }
.pa-free-mode-heading .pa-mode-back { margin: 0; }
.pa-free-mode-heading > span { background: var(--pa-mint); border-radius: 99px; color: var(--pa-teal-dark); font-size: .75rem; font-weight: 800; padding: .45rem .75rem; text-transform: uppercase; }

.pa-guided-shell { margin: 1.5rem auto 3rem; max-width: 1320px; }
.pa-guided-toolbar { align-items: end; background: linear-gradient(115deg, rgba(35, 158, 224, .96), rgba(5, 143, 139, .92) 58%, rgba(142, 205, 91, .86)); border: 1px solid rgba(255,255,255,.9); border-radius: 24px; box-shadow: 0 12px 30px rgba(23, 98, 126, .20); color: #fff; display: flex; gap: 1.5rem; justify-content: space-between; overflow: hidden; padding: clamp(1.25rem, 3vw, 2rem); position: relative; }
.pa-guided-toolbar::after { background: rgba(125, 207, 183, .12); border: 1px solid rgba(255,255,255,.1); border-radius: 50%; content: ""; height: 220px; position: absolute; right: -70px; top: -120px; width: 220px; }
.pa-guided-toolbar h2 { color: #fff; font-size: clamp(1.65rem, 4vw, 2.25rem); font-weight: 800; letter-spacing: -.025em; margin: .15rem 0 .35rem; }
.pa-guided-toolbar p:last-child { color: #f5ffff; margin: 0; }
.pa-guided-toolbar .pa-student-eyebrow { color: #fff; }
.pa-guided-toolbar .pa-mode-back { color: #fff; position: relative; z-index: 1; }
.pa-guided-course-select { min-width: 230px; position: relative; z-index: 1; }
.pa-guided-course-select label { display: block; font-size: .7rem; font-weight: 800; margin-bottom: .35rem; text-transform: uppercase; }
.pa-guided-course-select select { background: #fff; border: 1px solid var(--pa-line); border-radius: 10px; color: var(--pa-ink); min-height: 44px; padding: 0 .8rem; width: 100%; }
.pa-guided-course-heading { align-items: center; display: flex; gap: .8rem; margin: 1.4rem .2rem .8rem; }
.pa-guided-course-heading > span { align-items: center; background: var(--pa-mint); border-radius: 12px; color: var(--pa-teal-dark); display: flex; font-size: 1.25rem; height: 44px; justify-content: center; width: 44px; }
.pa-guided-course-heading small, .pa-guided-level header small, .pa-guided-lesson small, .pa-guided-class small { color: var(--pa-muted); font-size: .65rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.pa-guided-course-heading h3 { color: var(--pa-ink); font-weight: 800; margin: 0; }
.pa-guided-levels { display: grid; gap: 1.1rem; }
.pa-guided-level { background: rgba(255,255,255,.94); border: 1px solid var(--pa-line); border-radius: 20px; box-shadow: var(--pa-shadow); overflow: hidden; }
.pa-guided-level > header { align-items: center; background: var(--pa-canvas); border-bottom: 1px solid var(--pa-line); display: flex; justify-content: space-between; padding: 1rem 1.2rem; }
.pa-guided-level h3 { color: var(--pa-ink); font-weight: 800; margin: 0; }
.pa-guided-level__progress { align-items: end; display: flex; flex-direction: column; gap: .3rem; min-width: 180px; }
.pa-guided-level__progress span { color: var(--pa-muted); font-size: .75rem; font-weight: 700; }
.pa-guided-level__progress progress { accent-color: var(--pa-teal); height: 8px; width: 100%; }
.pa-guided-lessons { display: grid; gap: 1rem; padding: 1.1rem; }
.pa-guided-lesson { border-left: 3px solid var(--pa-teal); padding-left: 1rem; }
.pa-guided-lesson__title { align-items: center; display: flex; gap: .7rem; margin-bottom: .8rem; }
.pa-guided-lesson__title > span { color: var(--pa-blue); font-size: 1.35rem; font-weight: 800; }
.pa-guided-lesson h4, .pa-guided-class h5 { color: var(--pa-ink); font-weight: 800; margin: 0; }
.pa-guided-classes { counter-reset: guided-class; display: grid; list-style: none; margin: 0; padding: 0; }
.pa-guided-class { border-top: 1px solid var(--pa-line); counter-increment: guided-class; display: grid; gap: .55rem .75rem; grid-template-columns: 34px minmax(0, 1fr); padding: .85rem 0; }
.pa-guided-class:last-child { padding-bottom: 0; }
.pa-guided-class::before { align-items: center; background: var(--pa-mint); border-radius: 50%; color: var(--pa-teal-dark); content: counter(guided-class, decimal-leading-zero); display: flex; font-size: .68rem; font-weight: 800; height: 30px; justify-content: center; width: 30px; }
.pa-guided-class > h5 { align-self: center; font-size: .95rem; }
.pa-guided-empty-class, .pa-guided-class > .pa-guided-activities { grid-column: 2; }
.pa-guided-empty-class { color: var(--pa-muted); font-size: .8rem; margin: 0; }
.pa-guided-class.has-single-activity { align-items: center; grid-template-columns: 34px minmax(180px, 1fr) 34px minmax(110px, auto) auto; }
.pa-guided-class.has-single-activity > .pa-guided-activities,
.pa-guided-class.has-single-activity > .pa-guided-activities > li { display: contents; }
.pa-guided-class.has-single-activity .pa-guided-activities small { margin-top: 0; }
.pa-guided-activities { display: grid; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.pa-guided-activities li { align-items: center; background: #fff; border: 1px solid var(--pa-line); border-radius: 12px; display: grid; gap: .7rem; grid-template-columns: 34px minmax(0, 1fr) auto; padding: .7rem; }
.pa-guided-activities li.is-ready { border-color: var(--pa-teal); box-shadow: 0 5px 15px rgba(28, 76, 104, .08); }
.pa-guided-activities li.is-locked { background: var(--pa-canvas); opacity: .68; }
.pa-guided-activities li.is-complete { background: var(--pa-mint); }
.pa-guided-activity__state { align-items: center; background: #e7efed; border-radius: 50%; color: #60736f; display: flex; height: 32px; justify-content: center; width: 32px; }
.is-ready .pa-guided-activity__state { background: var(--pa-mint); color: var(--pa-teal-dark); }
.is-complete .pa-guided-activity__state { background: var(--pa-teal); color: #fff; }
.pa-guided-activities strong, .pa-guided-activities small { display: block; }
.pa-guided-activities small { color: var(--pa-muted); margin-top: .15rem; }
.pa-guided-activities button { background: var(--pa-teal); border: 0; border-radius: 10px; color: #fff; font-size: .75rem; font-weight: 800; min-width: 88px; padding: .55rem .7rem; }
.pa-guided-activities button:disabled { background: #bac5c2; }
.is-complete .pa-guided-activities button { background: transparent; border: 1px solid #82ac9f; color: #326e61; }

html[data-bs-theme=dark] .pa-mode-picker,
html[data-bs-theme=dark] .pa-mode-card,
html[data-bs-theme=dark] .pa-guided-level,
html[data-bs-theme=dark] .pa-guided-activities li { background: #202d32; border-color: #3b4d52; color: #e4efed; }
html[data-bs-theme=dark] .pa-mode-picker__heading h2,
html[data-bs-theme=dark] .pa-mode-card,
html[data-bs-theme=dark] .pa-guided-course-heading h3,
html[data-bs-theme=dark] .pa-guided-level h3,
html[data-bs-theme=dark] .pa-guided-lesson h4,
html[data-bs-theme=dark] .pa-guided-class h5 { color: #e4efed; }
html[data-bs-theme=dark] .pa-guided-level > header,
html[data-bs-theme=dark] .pa-guided-activities li.is-locked { background: #28373c; border-color: #3b4d52; }
html[data-bs-theme=dark] .pa-mode-card small,
html[data-bs-theme=dark] .pa-mode-card em,
html[data-bs-theme=dark] .pa-guided-course-heading small,
html[data-bs-theme=dark] .pa-guided-level header small,
html[data-bs-theme=dark] .pa-guided-lesson small,
html[data-bs-theme=dark] .pa-guided-class small,
html[data-bs-theme=dark] .pa-guided-level__progress span,
html[data-bs-theme=dark] .pa-guided-activities small { color: #b8cbc7; }
html[data-bs-theme=dark] .is-complete .pa-guided-activities button {
    border-color: #70b8a6;
    color: #9fe0d0;
}

@media (max-width: 767.98px) {
    .pa-mode-picker__grid { grid-template-columns: 1fr; }
    .pa-mode-card { min-height: 125px; }
    .pa-guided-toolbar { align-items: stretch; flex-direction: column; }
    .pa-guided-course-select { min-width: 0; }
    .pa-guided-level > header { align-items: stretch; flex-direction: column; gap: .7rem; }
    .pa-guided-level__progress { align-items: stretch; min-width: 0; }
    .pa-guided-class.has-single-activity { align-items: initial; grid-template-columns: 34px minmax(0, 1fr); }
    .pa-guided-class.has-single-activity > .pa-guided-activities { display: grid; grid-column: 2; }
    .pa-guided-class.has-single-activity > .pa-guided-activities > li { display: grid; }
    .pa-guided-activities li { grid-template-columns: 32px minmax(0, 1fr); }
    .pa-guided-activities button { grid-column: 1 / -1; width: 100%; }
}
