/**
 * Fokusspil til ISA / Fokus.nu — v1.9.6
 * Roligt, premium, børnevenligt UI i ISA-universets stil.
 *
 * v1.6: Alle selektorer er scopet under .isa-fokus-quest-shell, og
 * keyframes har unikke navne (isa-fq-*), så pluginets CSS hverken
 * overskriver eller overskrives af ISA-pluginets styles, hvis begge
 * er indlæst på samme side.
 */

/* ------------------------------------------------------------------ */
/* Tokens                                                             */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell {
    /* ISA Fokus-paletten: mørk teal, cyan glød, stålblå kort */
    --isa-bg: #0A1417;
    --isa-bg-deep: #060D10;
    --isa-card: rgba(163, 216, 226, 0.06);
    --isa-border: rgba(163, 216, 226, 0.14);
    --isa-text: #F2F7F8;
    --isa-sub: rgba(222, 238, 241, 0.68);
    --isa-focus: #6FDCE8;
    --isa-focus-strong: #3FB6C9;
    --isa-steel: #8FB6D4;
    --isa-steel-light: #A9C9DF;
    --isa-steel-deep: #7FA6C7;
    --isa-on-steel: #14293C;
    --isa-serif: "Playfair Display", "Freight Disp Pro", Georgia, "Times New Roman", serif;
    --isa-radius: 28px;
    --isa-radius-sm: 18px;
}

/* ------------------------------------------------------------------ */
/* Shell                                                              */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell {
    /* position: relative så lydknappen (position: absolute) forankres
       i shell'en — også når fullscreen="0". */
    position: relative;
    display: flex;
    justify-content: center;
    padding: 24px 12px;
    background:
        radial-gradient(1100px 560px at 50% -12%, rgba(111, 220, 232, 0.12), transparent 60%),
        radial-gradient(900px 520px at 85% 112%, rgba(143, 182, 212, 0.10), transparent 60%),
        linear-gradient(180deg, var(--isa-bg) 0%, var(--isa-bg-deep) 100%);
    border-radius: 32px;
    color: var(--isa-text);
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
}

.isa-fokus-quest-shell *,
.isa-fokus-quest-shell *::before,
.isa-fokus-quest-shell *::after {
    box-sizing: inherit;
}

.isa-fokus-quest-shell .isa-fokus-quest-phone {
    width: 100%;
    max-width: 480px;
}


/* ------------------------------------------------------------------ */
/* Embedded i ISA: ingen dobbelt hero/shell                           */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell.is-embedded {
    display: block;
    padding: 0;
    background: transparent;
    border-radius: 0;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-phone {
    max-width: none;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-main {
    min-height: 0;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-hub {
    gap: 14px;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-grid {
    gap: 16px;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-card {
    min-height: 104px;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-hub--embedded {
    gap: 0;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-list {
    display: grid;
    /* Samme gap og afstand som ISA's Laering & viden-feed. */
    gap: 12px;
    margin-top: 24px;
}

/* v1.7.0: spillene vises som kort i samme design som ISA's
   "Laering & viden"-bokse (.isa-learning-card). */
.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row {
    width: 100%;
    border-radius: 22px;
    padding: 15px 16px;
    display: grid;
    grid-template-columns: 52px 1fr 18px;
    align-items: center;
    gap: 14px;
    background: var(--isa-card, rgba(255,255,255,.055));
    border: 1px solid color-mix(in srgb, var(--detail-accent, #67cfff) 55%, rgba(255,255,255,.1));
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 18px 38px rgba(0,0,0,.24);
    color: var(--isa-text, #F7F9FC);
    text-align: left;
    cursor: pointer;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row:active {
    transform: scale(.99);
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row.is-disabled {
    opacity: .58;
    cursor: default;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-icon {
    width: 52px;
    height: 52px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    font-size: 26px;
    line-height: 1;
    color: #fff;
    background: linear-gradient(180deg, rgba(121,239,133,.22), rgba(72,202,228,.16));
    border: 1px solid rgba(255,255,255,.10);
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-body {
    min-width: 0;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-body strong {
    display: block;
    font-size: 15px;
    line-height: 1.15;
    margin: 0 0 4px;
    color: var(--isa-text, #F7F9FC);
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-body p {
    display: block;
    margin: 0;
    color: var(--isa-sub);
    font-size: 12.5px;
    line-height: 1.4;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-arrow {
    font-style: normal;
    color: var(--isa-muted, rgba(232,236,244,.45));
    font-size: 24px;
    justify-self: end;
    line-height: 1;
}


.isa-fokus-quest-shell.is-embedded .isa-game-header {
    padding: 0 0 4px;
}

/* ------------------------------------------------------------------ */
/* Fuldskærm (standard): dækker hele viewporten inkl. temaets header  */
/* Slå fra med [fokus_quest fullscreen="0"]                            */
/* ------------------------------------------------------------------ */

html.isa-fokus-quest-lock,
body.isa-fokus-quest-lock {
    overflow: hidden !important;
    height: 100%;
}

.isa-fokus-quest-shell.is-fullscreen {
    position: fixed;
    inset: 0;
    z-index: 999999;
    width: 100vw;
    height: 100vh;
    height: 100dvh;
    margin: 0;
    border-radius: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: calc(16px + env(safe-area-inset-top, 0px)) 16px calc(24px + env(safe-area-inset-bottom, 0px));
}

.isa-fokus-quest-shell.is-fullscreen .isa-fokus-quest-phone {
    max-width: 100%;
}

.isa-fokus-quest-shell .isa-fokus-quest-main {
    position: relative;
    min-height: 560px;
}

/* ------------------------------------------------------------------ */
/* Typografi                                                          */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell h1 {
    margin: 0 0 8px;
    font-family: var(--isa-serif);
    font-size: 2.1rem;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: var(--isa-text);
}

.isa-fokus-quest-shell h3 {
    margin: 0 0 4px;
    font-size: 1.05rem;
    font-weight: 650;
    color: var(--isa-text);
}

.isa-fokus-quest-shell p {
    margin: 0 0 8px;
    color: var(--isa-sub);
    line-height: 1.5;
}

.isa-fokus-quest-shell .isa-fokus-quest-kicker,
.isa-fokus-quest-shell .isa-game-kicker {
    margin: 0 0 6px;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--isa-focus);
}

/* ------------------------------------------------------------------ */
/* Hub                                                                */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-fokus-quest-hub {
    display: flex;
    flex-direction: column;
    gap: 20px;
    animation: isa-fq-fade-in 500ms ease both;
}

.isa-fokus-quest-shell .isa-fokus-quest-hero {
    padding: 8px 4px 0;
}

.isa-fokus-quest-shell .isa-fokus-quest-grid {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.isa-fokus-quest-shell .isa-fokus-quest-card {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    min-height: 88px;
    padding: 18px;
    text-align: left;
    color: var(--isa-text);
    background: var(--isa-card);
    border: 1px solid var(--isa-border);
    border-radius: var(--isa-radius-sm);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    cursor: pointer;
    transition: transform 300ms cubic-bezier(.22, 1, .36, 1),
                border-color 300ms ease,
                background 300ms ease;
}

.isa-fokus-quest-shell .isa-fokus-quest-card:hover:not(:disabled),
.isa-fokus-quest-shell .isa-fokus-quest-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(111, 220, 232, 0.55);
    background: rgba(255, 255, 255, 0.11);
}

.isa-fokus-quest-shell .isa-fokus-quest-card.is-disabled {
    opacity: 0.45;
    cursor: default;
}

.isa-fokus-quest-shell .isa-fokus-quest-card-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    font-size: 1.4rem;
    color: var(--isa-focus);
    background: rgba(111, 220, 232, 0.10);
    border: 1px solid rgba(111, 220, 232, 0.28);
    border-radius: 16px;
    box-shadow:
        0 0 18px rgba(111, 220, 232, 0.22),
        0 0 36px rgba(111, 220, 232, 0.10) inset;
    text-shadow: 0 0 12px rgba(111, 220, 232, 0.65);
}

.isa-fokus-quest-shell .isa-fokus-quest-card-body p {
    margin: 0 0 6px;
    font-size: 0.88rem;
}

.isa-fokus-quest-shell .isa-fokus-quest-card-body span {
    font-size: 0.78rem;
    font-weight: 600;
    color: var(--isa-focus);
}

/* ------------------------------------------------------------------ */
/* Fælles spil-layout                                                 */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-memory-intro,
.isa-fokus-quest-shell .isa-memory-intro,
.isa-fokus-quest-shell .isa-memory-game,
.isa-fokus-quest-shell .isa-memory-answer,
.isa-fokus-quest-shell .isa-spot-intro,
.isa-fokus-quest-shell .isa-spot-game,
.isa-fokus-quest-shell .isa-game-feedback,
.isa-fokus-quest-shell .isa-game-reflection {
    display: flex;
    flex-direction: column;
    gap: 18px;
    animation: isa-fq-fade-in 500ms ease both;
}

.isa-fokus-quest-shell .isa-game-header {
    padding: 0 4px;
}

.isa-fokus-quest-shell .isa-back-arrow {
    align-self: flex-start;
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    font-size: 1.2rem;
    color: var(--isa-text);
    background: var(--isa-card);
    border: 1px solid var(--isa-border);
    border-radius: 14px;
    cursor: pointer;
    transition: background 250ms ease, border-color 250ms ease;
}

.isa-fokus-quest-shell .isa-back-arrow:hover,
.isa-fokus-quest-shell .isa-back-arrow:focus-visible {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(111, 220, 232, 0.5);
}

/* ------------------------------------------------------------------ */
/* Knapper                                                            */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-primary-button,
.isa-fokus-quest-shell .isa-secondary-button {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 56px;
    padding: 14px 24px;
    width: 100%;
    font-size: 1rem;
    font-weight: 650;
    border-radius: 18px;
    cursor: pointer;
    transition: transform 250ms cubic-bezier(.22, 1, .36, 1),
                filter 250ms ease,
                background 250ms ease;
}

.isa-fokus-quest-shell .isa-primary-button {
    /* Stålblå kort-stil fra "Seneste øvelser" i ISA-appen */
    color: var(--isa-on-steel);
    background: linear-gradient(160deg, var(--isa-steel-light), var(--isa-steel-deep));
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 10px 28px rgba(127, 166, 199, 0.22);
}

.isa-fokus-quest-shell .isa-primary-button:hover,
.isa-fokus-quest-shell .isa-primary-button:focus-visible {
    transform: translateY(-1px);
    filter: brightness(1.08);
}

.isa-fokus-quest-shell .isa-secondary-button {
    color: var(--isa-text);
    background: var(--isa-card);
    border: 1px solid var(--isa-border);
}

.isa-fokus-quest-shell .isa-secondary-button:hover,
.isa-fokus-quest-shell .isa-secondary-button:focus-visible {
    background: rgba(255, 255, 255, 0.12);
}

.isa-fokus-quest-shell button:focus-visible {
    outline: 3px solid rgba(111, 220, 232, 0.8);
    outline-offset: 2px;
}

/* ------------------------------------------------------------------ */
/* Intro                                                              */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-game-intro-card,
.isa-fokus-quest-shell .isa-game-feedback-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 28px 22px;
    text-align: center;
    background: var(--isa-card);
    border: 1px solid var(--isa-border);
    border-radius: var(--isa-radius);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.isa-fokus-quest-shell .isa-game-focus-phrase {
    font-style: italic;
    color: var(--isa-focus);
}


.isa-fokus-quest-shell .isa-game-mini-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.isa-fokus-quest-shell .isa-game-mini-icon {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    font-size: 34px;
    background: radial-gradient(circle at 50% 28%, rgba(111,220,232,.22), rgba(111,220,232,.08) 44%, transparent 72%), linear-gradient(180deg, rgba(40,204,226,.92), rgba(24,176,210,.82));
    box-shadow: 0 14px 28px rgba(23, 194, 221, .16), inset 0 1px 0 rgba(255,255,255,.18);
}

.isa-fokus-quest-shell .isa-game-inline-title {
    display: flex;
    align-items: center;
    gap: 14px;
}

.isa-fokus-quest-shell .isa-game-inline-icon {
    width: 54px;
    height: 54px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 18px;
    font-size: 24px;
    background: radial-gradient(circle at 50% 28%, rgba(111,220,232,.18), rgba(111,220,232,.08) 44%, transparent 72%), linear-gradient(180deg, rgba(40,204,226,.88), rgba(24,176,210,.78));
    box-shadow: 0 10px 22px rgba(23,194,221,.14), inset 0 1px 0 rgba(255,255,255,.18);
}

.isa-fokus-quest-shell.is-embedded .isa-game-intro-card,
.isa-fokus-quest-shell.is-embedded .isa-game-feedback-card {
    padding: 24px 18px;
    border-radius: 24px;
}

.isa-fokus-quest-shell.is-embedded .isa-game-header {
    padding: 0;
}

.isa-fokus-quest-shell.is-embedded .isa-game-header h1 {
    font-size: 2rem;
    margin-bottom: 4px;
}

.isa-fokus-quest-shell.is-embedded .isa-game-header p {
    margin-bottom: 0;
}

.isa-fokus-quest-shell.is-embedded .isa-game-kicker {
    letter-spacing: .16em;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-icon {
    width: 32px;
    height: 32px;
    font-size: 22px;
}

/* ------------------------------------------------------------------ */
/* Timer                                                              */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-game-timer {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 4px;
}

.isa-fokus-quest-shell .isa-game-timer-bar {
    flex: 1;
    height: 8px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 999px;
}

.isa-fokus-quest-shell .isa-game-timer-bar span {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, var(--isa-focus), var(--isa-focus-strong));
    border-radius: 999px;
    transform-origin: left center;
    transform: scaleX(1);
    transition: transform 120ms linear;
}

.isa-fokus-quest-shell .isa-game-timer-label {
    min-width: 36px;
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
    color: var(--isa-sub);
}

/* ------------------------------------------------------------------ */
/* Memorize stage + tæppe                                             */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-memory-stage {
    position: relative;
    overflow: hidden;
    border-radius: var(--isa-radius);
    padding: 20px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.isa-fokus-quest-shell .isa-memory-object-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* v2.0.11: altid 3 pr. raekke */
    gap: 10px;
}

.isa-fokus-quest-shell .isa-memory-object {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 0;            /* v2.0.11: lad boksen krympe, saa 3 faar plads */
    padding: 10px 6px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--isa-radius-sm);
}

.isa-fokus-quest-shell .isa-memory-object span {
    font-size: 0.74rem;
    line-height: 1.2;
    color: var(--isa-sub);
    text-align: center;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.isa-fokus-quest-shell .isa-memory-object-visual {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    font-size: 2rem;
    line-height: 1;
}

.isa-fokus-quest-shell .isa-memory-object-visual svg {
    width: 100%;
    height: 100%;
    display: block;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.35));
}

/* ------------------------------------------------------------------ */
/* Lyd til/fra                                                        */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-sound-toggle {
    position: absolute;
    top: calc(env(safe-area-inset-top, 0px) + 12px);
    right: 12px;
    z-index: 30;
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    color: var(--isa-focus);
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    cursor: pointer;
    transition: color 250ms ease, transform .16s ease, opacity .2s ease;
}

.isa-fokus-quest-shell .isa-sound-toggle:hover,
.isa-fokus-quest-shell .isa-sound-toggle:focus-visible {
    color: #fff;
}

.isa-fokus-quest-shell .isa-sound-toggle.is-off {
    color: var(--isa-sub);
    opacity: 0.75;
}

.isa-fokus-quest-shell .isa-memory-cover {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: grid;
    place-items: center;
    border-radius: var(--isa-radius);
    background:
        linear-gradient(135deg, rgba(111, 220, 232, 0.22), rgba(143, 182, 212, 0.08)),
        rgba(7, 14, 17, 0.9);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transform: translateY(-105%);
    transition: transform 700ms cubic-bezier(.22, 1, .36, 1);
}

.isa-fokus-quest-shell .isa-memory-cover span {
    font-size: 0.95rem;
    color: var(--isa-sub);
    opacity: 0;
    transition: opacity 400ms ease 400ms;
}

.isa-fokus-quest-shell .isa-memory-cover.is-active {
    transform: translateY(0);
}

.isa-fokus-quest-shell .isa-memory-cover.is-active span {
    opacity: 1;
}

/* ------------------------------------------------------------------ */
/* Svar-grid                                                          */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-memory-answer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); /* v2.0.11: altid 3 pr. raekke */
    gap: 10px;
}

.isa-fokus-quest-shell .isa-memory-answer-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 0;            /* v2.0.11: lad boksen krympe, saa 3 faar plads */
    min-height: 96px;
    padding: 10px 6px;
    color: var(--isa-text);
    background: var(--isa-card);
    border: 1px solid var(--isa-border);
    border-radius: var(--isa-radius-sm);
    cursor: pointer;
    transition: transform 250ms cubic-bezier(.22, 1, .36, 1),
                border-color 250ms ease,
                background 250ms ease;
}

.isa-fokus-quest-shell .isa-memory-answer-card span {
    font-size: 0.74rem;
    line-height: 1.2;
    color: var(--isa-sub);
    text-align: center;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.isa-fokus-quest-shell .isa-memory-answer-card:hover,
.isa-fokus-quest-shell .isa-memory-answer-card:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(111, 220, 232, 0.5);
}

.isa-fokus-quest-shell .isa-memory-answer-card.is-selected {
    background: rgba(111, 220, 232, 0.16);
    border-color: var(--isa-focus);
    box-shadow: 0 0 0 2px rgba(111, 220, 232, 0.35) inset;
}

.isa-fokus-quest-shell .isa-memory-answer-card.is-selected span {
    color: var(--isa-text);
}

.isa-fokus-quest-shell .isa-memory-answer-card.is-selection-blocked {
    animation: isa-fq-selection-blocked 220ms ease;
}

/* ------------------------------------------------------------------ */
/* Feedback + refleksion                                              */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-game-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    margin: 8px 0;
}

.isa-fokus-quest-shell .isa-game-score strong {
    font-size: 2.6rem;
    font-weight: 750;
    color: var(--isa-focus);
    font-variant-numeric: tabular-nums;
}

.isa-fokus-quest-shell .isa-game-score span {
    font-size: 0.8rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--isa-sub);
}

.isa-fokus-quest-shell .isa-game-reflection-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-top: 8px;
}

/* ------------------------------------------------------------------ */
/* Find 5 fejl                                                        */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-spot-counter {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 4px;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--isa-sub);
}

.isa-fokus-quest-shell .isa-spot-dots {
    display: flex;
    gap: 6px;
}

.isa-fokus-quest-shell .isa-spot-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid var(--isa-border);
    transition: background 300ms ease, border-color 300ms ease, box-shadow 300ms ease;
}

.isa-fokus-quest-shell .isa-spot-dot.is-found {
    background: var(--isa-focus);
    border-color: var(--isa-focus);
    box-shadow: 0 0 10px rgba(111, 220, 232, 0.6);
}

.isa-fokus-quest-shell .isa-spot-scenes {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.isa-fokus-quest-shell .isa-spot-scene {
    position: relative;
    margin: 0;
    overflow: hidden;
    border-radius: var(--isa-radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.14);
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

.isa-fokus-quest-shell .isa-spot-scene svg {
    display: block;
    width: 100%;
    height: auto;
    cursor: pointer;
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
    user-select: none;
}

.isa-fokus-quest-shell .isa-spot-scene figcaption {
    position: absolute;
    top: 8px;
    left: 10px;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: rgba(20, 41, 60, 0.5);
    pointer-events: none;
}

.isa-fokus-quest-shell .isa-spot-ring {
    fill: none;
    stroke: #3FB6C9;
    stroke-width: 3;
    transform-box: fill-box;
    transform-origin: center;
    animation: isa-fq-spot-ring 450ms cubic-bezier(.22, 1, .36, 1) both;
}

.isa-fokus-quest-shell .isa-spot-guess {
    fill: rgba(111, 220, 232, 0.10);
    stroke: #6FDCE8;
    stroke-width: 2.5;
    stroke-dasharray: 5 4;
}

.isa-fokus-quest-shell .isa-spot-done {
    display: block;
    width: 100%;
    margin-top: 14px;
}

.isa-fokus-quest-shell .isa-spot-miss {
    fill: rgba(226, 85, 79, 0.25);
    stroke: rgba(226, 85, 79, 0.7);
    stroke-width: 2;
    transform-box: fill-box;
    transform-origin: center;
    animation: isa-fq-spot-miss 550ms ease both;
    pointer-events: none;
}

@keyframes isa-fq-spot-ring {
    from {
        opacity: 0;
        transform: scale(1.6);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes isa-fq-spot-miss {
    from {
        opacity: 0.9;
        transform: scale(0.6);
    }
    to {
        opacity: 0;
        transform: scale(1.6);
    }
}

/* ------------------------------------------------------------------ */
/* Animation                                                          */
/* ------------------------------------------------------------------ */

@keyframes isa-fq-selection-blocked {
    0%, 100% {
        transform: translateX(0);
    }
    35% {
        transform: translateX(-4px);
    }
    70% {
        transform: translateX(4px);
    }
}

@keyframes isa-fq-fade-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ------------------------------------------------------------------ */
/* Responsivt                                                         */
/* ------------------------------------------------------------------ */

@media (min-width: 720px) {
    .isa-fokus-quest-shell .isa-fokus-quest-phone {
        max-width: 560px;
    }

    .isa-fokus-quest-shell .isa-memory-object-grid,
    .isa-fokus-quest-shell .isa-memory-answer-grid {
        grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    }

    /* Find 5 fejl: billederne ved siden af hinanden på brede skærme. */
    .isa-fokus-quest-shell .isa-spot-scenes {
        flex-direction: row;
    }

    .isa-fokus-quest-shell .isa-spot-scene {
        flex: 1;
        min-width: 0;
    }
}

@media (max-width: 360px) {
    .isa-fokus-quest-shell .isa-memory-object-grid,
    .isa-fokus-quest-shell .isa-memory-answer-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ------------------------------------------------------------------ */
/* Reduced motion                                                     */
/* ------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
    .isa-fokus-quest-shell *,
    .isa-fokus-quest-shell *::before,
    .isa-fokus-quest-shell *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}


/* ------------------------------------------------------------------ */
/* v1.6.7 ISA embedded polish                                         */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-list {
    margin-top: 12px;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row {
    min-height: 72px;
    padding: 17px 4px;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-icon {
    width: 34px;
    height: 34px;
    font-size: 23px;
    filter: drop-shadow(0 0 10px rgba(111,220,232,.20));
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-body strong {
    font-size: 17px;
    letter-spacing: -.01em;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row-meta {
    min-width: 38px;
    text-align: right;
}

.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-row.is-disabled {
    opacity: .48;
}

.isa-fokus-quest-shell.is-embedded .isa-sound-toggle {
    width: 40px;
    height: 40px;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.isa-fokus-quest-shell.is-embedded .isa-game-intro-card {
    padding: 24px 18px 22px;
    background: rgba(163, 216, 226, .055);
    border-color: rgba(163, 216, 226, .14);
    box-shadow: 0 18px 44px rgba(0,0,0,.18);
}

.isa-fokus-quest-shell.is-embedded .isa-game-mini-icon {
    width: 76px;
    height: 76px;
    border-radius: 24px;
}

.isa-fokus-quest-shell.is-embedded .isa-game-mini-hero h1 {
    font-size: 2.15rem;
    margin-bottom: 4px;
}

.isa-fokus-quest-shell.is-embedded .isa-game-focus-phrase {
    margin: 2px 0 4px;
    font-size: .95rem;
}

.isa-fokus-quest-shell.is-embedded .isa-primary-button {
    min-height: 54px;
    border-radius: 18px;
}

.isa-fokus-quest-shell.is-embedded .isa-game-inline-title {
    align-items: flex-start;
}

.isa-fokus-quest-shell.is-embedded .isa-game-inline-title h1 {
    font-size: 2rem;
    margin-bottom: 2px;
}

@media (max-width: 430px) {
    .isa-fokus-quest-shell.is-embedded .isa-sound-toggle {
        width: 40px;
        height: 40px;
    }
}

/* ------------------------------------------------------------------ */
/* Lær strategier-skærmens layout                                     */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-memory-strategies {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding-top: 8px;
    animation: isa-fq-fade-in 500ms ease both;
}

/* Ekstra luft i toppen når spillet er indlejret i ISA (ingen shell-safe-area) */
.isa-fokus-quest-shell.is-embedded .isa-memory-strategies {
    padding-top: calc(env(safe-area-inset-top, 0px) + 12px);
}

/* Hold den store titel fri af lydknappen i øverste højre hjørne */
.isa-fokus-quest-shell .isa-memory-strategies .isa-game-header {
    padding-right: 56px;
}

.isa-fokus-quest-shell .isa-memory-strategies .isa-back-arrow {
    margin-bottom: 2px;
}

/* ------------------------------------------------------------------ */
/* Huskestrategier (husketip + Lær strategier)                        */
/* ------------------------------------------------------------------ */

/* Dagens husketip på intro-skærmen */
.isa-fokus-quest-shell .isa-memory-tip {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 12px 14px;
    text-align: left;
    background: rgba(111, 220, 232, 0.10);
    border: 1px solid rgba(111, 220, 232, 0.32);
    border-radius: 16px;
}

.isa-fokus-quest-shell .isa-memory-tip-icon {
    font-size: 1.3rem;
    line-height: 1.2;
}

.isa-fokus-quest-shell .isa-memory-tip-text {
    font-size: 0.92rem;
    line-height: 1.45;
    color: var(--isa-text);
}

/* Husketip-linje i memorize-headeren */
.isa-fokus-quest-shell .isa-memory-tip-inline {
    color: var(--isa-focus);
    font-size: 0.92rem;
    font-weight: 600;
}

/* Strategibevidst note i feedbacken */
.isa-fokus-quest-shell .isa-memory-strategy-note {
    color: var(--isa-focus);
    font-weight: 600;
}

/* Lær strategier — kort */
.isa-fokus-quest-shell .isa-strategy-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.isa-fokus-quest-shell .isa-strategy-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 18px 18px;
    text-align: left;
    background: var(--isa-card);
    border: 1px solid var(--isa-border);
    border-radius: var(--isa-radius);
}

.isa-fokus-quest-shell .isa-strategy-card-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.isa-fokus-quest-shell .isa-strategy-card-icon {
    font-size: 1.5rem;
    line-height: 1;
}

.isa-fokus-quest-shell .isa-strategy-card h2 {
    margin: 0;
    font-size: 1.1rem;
    font-weight: 650;
    color: var(--isa-text);
}

.isa-fokus-quest-shell .isa-strategy-card p {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: var(--isa-sub);
}

.isa-fokus-quest-shell .isa-strategy-card-exercise {
    color: var(--isa-focus) !important;
}


/* ------------------------------------------------------------------ */
/* v1.9.0 Foto-baseret Find 5 fejl (bro til content-pack)             */
/* ------------------------------------------------------------------ */

.isa-fokus-quest-shell .isa-fokus-photo-wrap {
    display: flex;
    flex-direction: column;
    gap: 14px;
    animation: isa-fq-fade-in 500ms ease both;
}

/* Tilbage-pilen er her et <a> — nulstil link-styling, genbrug knap-looket. */
.isa-fokus-quest-shell a.isa-back-arrow {
    text-decoration: none;
}

/* Content-pack'ets spiller fylder bredden inde i fokus-quest-skallen. */
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5 {
    margin: 0;
    width: 100%;
    max-width: 100%;
}


/* ------------------------------------------------------------------ */
/* v1.9.3 Find 5 fejl (fotobaner): vis ALTID begge billeder           */
/* ------------------------------------------------------------------ */
/* Content-pack'ets egen CSS skjuler det foerste billede paa smalle    */
/* skaerme (<=760px). Til et "find fem fejl"-spil skal begge billeder  */
/* altid kunne ses, saa vi overskriver det og stakker dem lodret.      */
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__boards {
    grid-template-columns: 1fr;
    gap: 12px;
}
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__board:first-child {
    display: block !important;
}
@media (min-width: 760px) {
    .isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__boards {
        grid-template-columns: 1fr 1fr;
    }
}
/* Inline foto-skaerm: samme fade som resten af spillene. */
.isa-fokus-quest-shell .isa-spot-photo {
    display: flex;
    flex-direction: column;
    gap: 14px;
    animation: isa-fq-fade-in 500ms ease both;
}


/* ------------------------------------------------------------------ */
/* v1.9.4 Find 5 fejl (fotobaner): labels + begge billeder klikbare   */
/* ------------------------------------------------------------------ */
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__board {
    cursor: crosshair;
}
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__tag {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .01em;
    line-height: 1.2;
    background: rgba(11, 15, 20, .72);
    color: #eaf6f8;
    pointer-events: none;
}
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__tag--action {
    background: #2BD1E2;
    color: #06333a;
}
/* Synlig, kortvarig markering ved fejlklik. */
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__miss {
    position: absolute;
    transform: translate(-50%, -50%);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    border: 3px solid rgba(226, 85, 79, .9);
    box-shadow: 0 0 0 3px rgba(0, 0, 0, .25);
    pointer-events: none;
    animation: isa-fq-photo-miss 550ms ease both;
}
@keyframes isa-fq-photo-miss {
    from { opacity: .95; }
    to   { opacity: 0; }
}

.isa-memory-premium-image{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.2));}

/* v1.12.1 – tydelige og komplette billeder i Husk elementerne */
.isa-fokus-quest-shell .isa-memory-object-grid,
.isa-fokus-quest-shell .isa-memory-answer-grid {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 16px;
}
.isa-fokus-quest-shell .isa-memory-object,
.isa-fokus-quest-shell .isa-memory-answer-card {
    min-height: 168px;
    padding: 12px;
    justify-content: center;
    overflow: visible;
}
.isa-fokus-quest-shell .isa-memory-object-visual {
    width: min(112px, 26vw);
    height: min(112px, 26vw);
    flex: 0 0 auto;
    overflow: visible;
}
.isa-fokus-quest-shell .isa-memory-premium-image {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: contain !important;
    object-position: center center;
    padding: 3px;
    box-sizing: border-box;
    transform: none !important;
}
.isa-fokus-quest-shell .isa-memory-object span,
.isa-fokus-quest-shell .isa-memory-answer-card span {
    font-size: .88rem;
    line-height: 1.25;
    font-weight: 650;
    min-height: 2.2em;
    display: grid;
    place-items: center;
}
@media (max-width: 640px) {
    .isa-fokus-quest-shell .isa-memory-stage { padding: 12px; }
    .isa-fokus-quest-shell .isa-memory-object-grid,
    .isa-fokus-quest-shell .isa-memory-answer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .isa-fokus-quest-shell .isa-memory-object,
    .isa-fokus-quest-shell .isa-memory-answer-card {
        min-height: 174px;
        padding: 10px 8px;
    }
    .isa-fokus-quest-shell .isa-memory-object-visual {
        width: min(126px, 38vw);
        height: min(126px, 38vw);
    }
}
@media (max-width: 370px) {
    .isa-fokus-quest-shell .isa-memory-object-grid,
    .isa-fokus-quest-shell .isa-memory-answer-grid { gap: 8px; }
    .isa-fokus-quest-shell .isa-memory-object,
    .isa-fokus-quest-shell .isa-memory-answer-card { min-height: 154px; }
    .isa-fokus-quest-shell .isa-memory-object-visual {
        width: min(108px, 37vw);
        height: min(108px, 37vw);
    }
}

/* v1.12.2 – lys, mobilvenlig visning af komplette elementer */
.isa-fokus-quest-shell .isa-memory-object,
.isa-fokus-quest-shell .isa-memory-answer-card {
    background:#fff !important;
    border:1px solid rgba(15,23,42,.10);
    color:#0f172a !important;
    box-shadow:0 8px 24px rgba(15,23,42,.08);
}
.isa-fokus-quest-shell .isa-memory-object-visual {
    width:min(138px,32vw);
    height:min(138px,32vw);
    background:#fff;
    border-radius:14px;
}
.isa-fokus-quest-shell .isa-memory-premium-image {
    object-fit:contain !important;
    object-position:center !important;
    padding:2px !important;
    filter:none !important;
}
@media (max-width:640px){
 .isa-fokus-quest-shell .isa-memory-object,
 .isa-fokus-quest-shell .isa-memory-answer-card{min-height:190px;padding:10px 8px;}
 .isa-fokus-quest-shell .isa-memory-object-visual{width:min(142px,38vw);height:min(142px,38vw);}
}

/* v2.0.12: ALTID 3 elementer pr. raekke i Husk elementerne (ogsaa paa mobil).
   Overstyrer de tidligere auto-fit / 2-kolonne regler. Boksene skaleres, saa
   3 faktisk faar plads paa en telefon. */
.isa-fokus-quest-shell .isa-memory-object-grid,
.isa-fokus-quest-shell .isa-memory-answer-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:10px;
}
.isa-fokus-quest-shell .isa-memory-object,
.isa-fokus-quest-shell .isa-memory-answer-card{
    min-width:0;
    min-height:0;
    padding:10px 6px;
}
.isa-fokus-quest-shell .isa-memory-object-visual{
    width:100%;
    max-width:96px;
    height:auto;
    aspect-ratio:1;
}
.isa-fokus-quest-shell .isa-memory-premium-image{width:100%;height:100%;object-fit:contain !important;}
.isa-fokus-quest-shell .isa-memory-object span,
.isa-fokus-quest-shell .isa-memory-answer-card span{
    font-size:.72rem;
    min-height:0;
    overflow-wrap:anywhere;
}
@media (max-width:640px){
    .isa-fokus-quest-shell .isa-memory-object-grid,
    .isa-fokus-quest-shell .isa-memory-answer-grid{
        grid-template-columns:repeat(3,minmax(0,1fr)) !important;
        gap:8px;
    }
    .isa-fokus-quest-shell .isa-memory-object,
    .isa-fokus-quest-shell .isa-memory-answer-card{min-height:0;padding:8px 5px;}
    .isa-fokus-quest-shell .isa-memory-object-visual{max-width:84px;}
}
@media (max-width:370px){
    .isa-fokus-quest-shell .isa-memory-object,
    .isa-fokus-quest-shell .isa-memory-answer-card{padding:7px 4px;}
    .isa-fokus-quest-shell .isa-memory-object-visual{max-width:74px;}
}

/* v2.0.13: moerkegraa bundbjaelke med hvid tekst under hvert element. */
.isa-fokus-quest-shell .isa-memory-object,
.isa-fokus-quest-shell .isa-memory-answer-card{
    padding:0 !important;
    gap:0;
    overflow:hidden;
    justify-content:flex-start;
}
.isa-fokus-quest-shell .isa-memory-object .isa-memory-object-visual,
.isa-fokus-quest-shell .isa-memory-answer-card .isa-memory-object-visual{
    margin:10px auto 8px;
}
.isa-fokus-quest-shell .isa-memory-object span,
.isa-fokus-quest-shell .isa-memory-answer-card span{
    width:100%;
    margin:0;
    padding:9px 6px;
    background:#374151 !important;   /* moerkegraa */
    color:#ffffff !important;        /* hvid tekst */
    font-weight:650;
    border-radius:0;
    min-height:0;
    display:grid;
    place-items:center;
    box-sizing:border-box;
}
/* markeret svar: lidt lysere bjaelke, saa den valgte stadig ses tydeligt */
.isa-fokus-quest-shell .isa-memory-answer-card.is-selected span{
    background:#0f172a !important;
    color:#ffffff !important;
}

/* ================================================================ */
/* Konsolideret top-layout (erstatter de tidligere v2.0.14–v2.0.21   */
/* stablede overrides). Tilbage-pil + lyd-knap: rene ikoner, ingen    */
/* boks, samme sted paa alle sider.                                   */
/* ================================================================ */

/* Hub/forside ligger taet paa toppen (under app'ens titel). */
.isa-fokus-quest-shell{ padding-top: max(14px, env(safe-area-inset-top, 0px)); }

/* De per-skaerm-tilbage-pile skjules — der bruges ÉN global pil i stedet. */
.isa-fokus-quest-shell .isa-back-arrow{ display: none !important; }

/* Global tilbage-pil: forankret i shell'en (som lyd-knappen), samme sted paa
   alle sider, samme design som ISA-app'ens/forsidens pil (subtil hvid SVG). */
.isa-fokus-quest-shell .isa-global-back{
    position: absolute;
    /* v2.0.24: helt oppe ved spil-shellens top, som paa Fokusgames-forsiden. */
    top: env(safe-area-inset-top, 0px);
    left: 12px;
    z-index: 30;
    width: 40px; height: 40px;
    display: grid; place-items: center;
    padding: 0; margin: 0;
    background: transparent; border: 0; box-shadow: none;
    color: rgba(255,255,255,.82);
    cursor: pointer;
    transition: transform .16s ease, opacity .2s ease;
}
.isa-fokus-quest-shell .isa-global-back svg{ width: 23px; height: 23px; display: block; }
.isa-fokus-quest-shell .isa-global-back:active{ transform: scale(.9); opacity: .7; }

/* Topplads paa spil-skaermene, saa titlen starter under den globale pil. */
.isa-fokus-quest-shell .isa-memory-game,
.isa-fokus-quest-shell .isa-memory-answer,
.isa-fokus-quest-shell .isa-memory-strategies,
.isa-fokus-quest-shell .isa-spot-intro,
.isa-fokus-quest-shell .isa-spot-game,
.isa-fokus-quest-shell .isa-spot-photo,
.isa-fokus-quest-shell .isa-game-feedback,
.isa-fokus-quest-shell .isa-game-reflection{ padding-top: 56px; }

/* v2.0.23: bulletproof — fjern enhver boks bag lyd-knappen uanset kilde/raekkefolge. */
.isa-fokus-quest-shell .isa-sound-toggle,
.isa-fokus-quest-shell.is-embedded .isa-sound-toggle,
.isa-fokus-quest-shell.is-fullscreen .isa-sound-toggle{
    background: none !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* Fokusquest 2.0 – Game Hub */
.isa-fokus-quest-hub-v2{padding:18px;display:grid;gap:16px;background:linear-gradient(180deg,#11162a 0%,#171d35 100%);min-height:100%;color:#fff}
.isa-hub-profile{display:flex;align-items:center;justify-content:space-between;gap:16px}
.isa-hub-profile-copy span,.isa-hub-section-kicker{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#8fe4df;font-weight:800}
.isa-hub-profile-copy h1{margin:2px 0 0;color:#fff;font-size:clamp(28px,5vw,44px);line-height:1.05}
.isa-hub-level-badge{width:72px;height:72px;border-radius:22px;background:linear-gradient(145deg,#53d8cf,#635bff);display:grid;place-content:center;text-align:center;box-shadow:0 14px 30px rgba(57,211,200,.22)}
.isa-hub-level-badge small{font-size:10px;letter-spacing:.12em}.isa-hub-level-badge strong{font-size:28px;line-height:1}
.isa-hub-xp-card,.isa-hub-challenge,.isa-hub-progress-card{background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.09);border-radius:24px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.15)}
.isa-hub-xp-head,.isa-hub-section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}.isa-hub-xp-head span,.isa-hub-section-title>span{color:#b9c3db;font-size:13px}
.isa-hub-xp-track{height:14px;margin:14px 0 12px;border-radius:999px;background:rgba(255,255,255,.11);overflow:hidden}.isa-hub-xp-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#35d8cf,#8c6cff);box-shadow:0 0 20px rgba(53,216,207,.35)}
.isa-hub-stats{display:flex;flex-wrap:wrap;gap:8px}.isa-hub-stats span{padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);font-size:12px;color:#dbe2f3}
.isa-hub-challenge{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,rgba(60,215,203,.16),rgba(99,91,255,.18))}.isa-hub-challenge h2,.isa-hub-games h2,.isa-hub-progress-card h2{margin:4px 0 4px;color:#fff}.isa-hub-challenge p,.isa-hub-progress-card p{margin:0;color:#c2cbe0}.isa-hub-challenge button{border:0;border-radius:16px;padding:13px 16px;background:#fff;color:#151a2d;font-weight:900;white-space:nowrap;cursor:pointer}
.isa-hub-games{display:grid;gap:12px}.isa-hub-games .isa-fokus-quest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.isa-hub-games .isa-fokus-quest-card{min-height:156px;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);color:#fff;box-shadow:none}.isa-hub-games .isa-fokus-quest-card h3{color:#fff}.isa-hub-games .isa-fokus-quest-card p{color:#bbc5db}.isa-hub-games .isa-fokus-quest-card span{color:#86dfd9}
.isa-hub-progress-card{display:flex;align-items:center;justify-content:space-between;gap:16px}.isa-hub-badge-preview{font-size:54px;filter:drop-shadow(0 10px 18px rgba(0,0,0,.2))}
@media(max-width:640px){.isa-fokus-quest-hub-v2{padding:14px}.isa-hub-level-badge{width:62px;height:62px;border-radius:18px}.isa-hub-challenge{align-items:flex-start;flex-direction:column}.isa-hub-challenge button{width:100%}.isa-hub-games .isa-fokus-quest-grid{grid-template-columns:1fr}.isa-hub-stats{gap:6px}.isa-hub-progress-card{align-items:flex-start}.isa-hub-badge-preview{font-size:44px}}


/* Fokusquest 2.0.1 – Fokusgrader / martial progression hub */
.isa-fokus-quest-hub-v3{min-height:100%;padding:clamp(18px,4vw,42px);background:
radial-gradient(circle at 50% -10%,rgba(73,210,201,.14),transparent 32%),
linear-gradient(180deg,#0b0f1d 0%,#10162a 48%,#0b0f1d 100%);color:#fff;display:grid;gap:34px}
.isa-focus-welcome{text-align:center;padding-top:6px}
.isa-focus-welcome h1{margin:0;color:#fff;font-size:clamp(30px,5vw,52px);font-weight:850;letter-spacing:-.035em}
.isa-focus-overall-xp{width:min(760px,100%);margin:0 auto;text-align:center;padding:4px 0 8px}
.isa-focus-overall-xp>span,.isa-focus-section-head>span{display:block;color:#78ddd6;font-size:11px;font-weight:900;letter-spacing:.18em}
.isa-focus-overall-xp>strong{display:block;margin:8px 0 16px;font-size:clamp(28px,5vw,48px);line-height:1;color:#fff}
.isa-focus-xp-track{height:12px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08);border-radius:999px;overflow:hidden;box-shadow:inset 0 2px 8px rgba(0,0,0,.35)}
.isa-focus-xp-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#49d7ce,#9a7cff);box-shadow:0 0 24px rgba(73,215,206,.45)}
.isa-focus-xp-meta{display:flex;justify-content:space-between;gap:16px;margin-top:10px;font-size:13px}
.isa-focus-xp-meta b{color:#fff}.isa-focus-xp-meta em{color:#9da9c2;font-style:normal}
.isa-focus-rank-section{width:min(760px,100%);margin:0 auto}
.isa-focus-section-head{text-align:center;margin-bottom:24px}
.isa-focus-section-head h2{margin:7px 0 6px;color:#fff;font-size:clamp(27px,4vw,40px);letter-spacing:-.025em}
.isa-focus-section-head p{margin:0;color:#9da9c2}
.isa-focus-grade-path{position:relative;width:min(470px,100%);margin:0 auto;padding:8px 0}
.isa-focus-grade{display:grid;grid-template-columns:58px 1fr;min-height:92px;position:relative}
.isa-focus-grade-marker{position:relative;display:flex;justify-content:center}
.isa-focus-grade-marker i{position:absolute;top:0;bottom:0;width:2px;background:rgba(255,255,255,.1)}
.isa-focus-grade:first-child .isa-focus-grade-marker i{top:29px}
.isa-focus-grade:last-child .isa-focus-grade-marker i{bottom:63px}
.isa-focus-grade-marker b{position:relative;z-index:1;width:30px;height:30px;margin-top:14px;border-radius:50%;display:grid;place-items:center;background:#171d30;border:2px solid #3b455e;color:#68738d;font-size:11px}
.isa-focus-grade-copy{padding:10px 16px 20px}
.isa-focus-grade-copy small{display:block;color:#6f7a92;font-size:10px;text-transform:uppercase;letter-spacing:.14em;font-weight:800}
.isa-focus-grade-copy strong{display:block;margin-top:3px;color:#758099;font-size:21px}
.isa-focus-grade-copy span{display:inline-block;margin-top:8px;padding:4px 9px;border-radius:999px;background:rgba(73,215,206,.12);color:#78ddd6;font-size:9px;font-weight:900;letter-spacing:.15em}
.isa-focus-grade.is-complete .isa-focus-grade-marker i{background:rgba(73,215,206,.34)}
.isa-focus-grade.is-complete .isa-focus-grade-marker b{background:#153936;border-color:#49d7ce;color:#7de4dc}
.isa-focus-grade.is-complete .isa-focus-grade-copy strong{color:#bdc8dc}
.isa-focus-grade.is-current .isa-focus-grade-marker b{width:40px;height:40px;margin-top:9px;background:linear-gradient(145deg,#49d7ce,#7668ff);border-color:#b7fff9;color:#fff;box-shadow:0 0 0 8px rgba(73,215,206,.09),0 0 30px rgba(73,215,206,.35)}
.isa-focus-grade.is-current .isa-focus-grade-copy{transform:translateY(-1px)}
.isa-focus-grade.is-current .isa-focus-grade-copy small{color:#78ddd6}
.isa-focus-grade.is-current .isa-focus-grade-copy strong{color:#fff;font-size:27px}
.isa-focus-training{width:min(980px,100%);margin:4px auto 0}
.isa-focus-training .isa-focus-section-head{text-align:left}
.isa-focus-training .isa-fokus-quest-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.isa-focus-training .isa-fokus-quest-card{min-height:190px;border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.09);box-shadow:0 18px 50px rgba(0,0,0,.22);color:#fff}
.isa-focus-training .isa-fokus-quest-card h3{color:#fff;font-size:22px}.isa-focus-training .isa-fokus-quest-card p{color:#aeb9cf}.isa-focus-training .isa-fokus-quest-card span{color:#78ddd6}
@media(max-width:640px){
 .isa-fokus-quest-hub-v3{padding:20px 14px;gap:28px}
 .isa-focus-welcome h1{font-size:31px}
 .isa-focus-overall-xp>strong{font-size:34px}
 .isa-focus-grade{grid-template-columns:52px 1fr;min-height:84px}
 .isa-focus-grade-copy strong{font-size:19px}
 .isa-focus-grade.is-current .isa-focus-grade-copy strong{font-size:24px}
 .isa-focus-training .isa-fokus-quest-grid{grid-template-columns:1fr}
 .isa-focus-training .isa-fokus-quest-card{min-height:160px}
}

/* Fokusquest 2.0.5 – XP-bar med "din grad" / "naeste grad" + slank udviklingsvej */
.isa-focus-xp-meta{align-items:flex-start;margin-top:12px}
.isa-focus-xp-meta .isa-focus-xp-now{text-align:left}
.isa-focus-xp-meta .isa-focus-xp-next{text-align:right;margin-left:auto}
.isa-focus-xp-meta small{display:block;font-size:9px;font-weight:900;letter-spacing:.16em;color:#6f7a92;margin-bottom:3px}
.isa-focus-xp-meta .isa-focus-xp-now small{color:#78ddd6}
.isa-focus-xp-meta b{display:block;color:#fff;font-size:17px;font-weight:850;letter-spacing:-.01em;line-height:1.15}
.isa-focus-xp-meta .isa-focus-xp-next b{color:#bdc8dc}
.isa-focus-xp-meta em{display:block;margin-top:2px;color:#9da9c2;font-style:normal;font-size:11px}

/* "DIN UDVIKLINGSVEJ": kun label + lille pil ned; pilen vender, naar listen er aaben */
.isa-focus-rank-dropdown{border:0;background:transparent}
.isa-focus-rank-dropdown summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0 4px;text-align:center;-webkit-tap-highlight-color:transparent;user-select:none}
.isa-focus-rank-dropdown summary::-webkit-details-marker{display:none}
.isa-focus-rank-dropdown summary::marker{content:''}
.isa-focus-rank-dropdown summary span{color:#78ddd6;font-size:11px;font-weight:900;letter-spacing:.18em}
.isa-focus-rank-dropdown summary strong,.isa-focus-rank-dropdown summary small{display:none}
.isa-focus-rank-dropdown summary i{font-style:normal;color:#78ddd6;font-size:15px;line-height:1;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(120,221,214,.35);border-radius:50%;background:rgba(73,215,206,.08);transition:transform .25s ease}
.isa-focus-rank-dropdown summary:hover i{background:rgba(73,215,206,.16)}
.isa-focus-rank-dropdown[open] summary i{transform:rotate(180deg)}
.isa-focus-rank-content{padding-top:18px}

/* Embedded i ISA-appen: baggrunden ligger paa selve app-skaermen (fuld skaerm),
   saa hub'en selv er transparent og uden dobbelt side-padding. */
.isa-fokus-quest-shell.is-embedded .isa-fokus-quest-hub-v3{background:transparent;min-height:0;padding-left:0;padding-right:0}

/* Fokusquest 2.0.6 – finpudsning af hub'en */
/* Gradnavnene under XP-baren (fx Fokuseret / Koncentreret) lidt mindre */
.isa-focus-xp-meta b{font-size:14px}
/* SVG-pilen staar praecist i midten af cirklen */
.isa-focus-rank-dropdown summary i svg{display:block}
/* "Traen dit fokus": en linje laengere ned, centreret, hvid og lidt stoerre */
.isa-focus-training .isa-focus-section-head{text-align:center;margin:26px 0 24px}
.isa-focus-training .isa-focus-section-head h2{margin:0;color:#fff;font-size:clamp(29px,4.4vw,44px)}

/* v2.0.28: Husk elementerne — intro-boksen starter under den globale tilbagepil. */
.isa-fokus-quest-shell .isa-memory-intro > .isa-game-intro-card{ margin-top:56px; }

/* v2.0.28: Global spil-pil matcher Fokusquest-forsidens position. */
.isa-fokus-quest-shell .isa-global-back{
    top: calc(env(safe-area-inset-top, 0px) - 16px);
}

/* v2.0.28: Stabil visning af Find 5 fejl uden mikro-ryk.
   Den tidligere opsaetning animerede baade den ydre foto-skaerm og den indre
   wrapper samt beholdt content-pack'ets vandrette scroll/snap. Det kunne give
   et lille dobbelt translate-ryk, naar banen blev indsat og billederne loadede. */
.isa-fokus-quest-shell .isa-spot-photo,
.isa-fokus-quest-shell .isa-fokus-photo-wrap {
    animation: none !important;
    transform: none !important;
    overflow-anchor: none;
}

.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__boards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px;
    overflow: visible !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
    overscroll-behavior: auto !important;
    padding-bottom: 0 !important;
}

.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__board {
    display: block !important;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    flex: none !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
    contain: layout paint;
}

@media (min-width: 760px) {
    .isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__boards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* v2.0.31: Fokusquest forside — løft XP-sektionen og alt efterfølgende indhold én linje. */
.isa-fokus-quest-hub-v3 .isa-focus-overall-xp{
    transform: translateY(-28px);
    margin-bottom: -28px;
}


/* v2.0.32: Forenklet XP-meta og centreret dropdown. */
.isa-focus-xp-meta .isa-focus-xp-now b{
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
    line-height:1.2;
    text-transform:uppercase;
    color:#78ddd6;
}

.isa-focus-xp-meta .isa-focus-xp-next b{
    display:none;
}

.isa-focus-xp-meta .isa-focus-xp-next em{
    margin-top:6px;
    font-size:14px;
    line-height:1.15;
    color:#bdc8dc;
}

.isa-focus-rank-dropdown summary span{
    display:none;
}

.isa-focus-rank-section{
    position:relative;
    margin-top:-58px;
    margin-bottom:-18px;
    pointer-events:none;
}

.isa-focus-rank-dropdown{
    display:flex;
    justify-content:center;
}

.isa-focus-rank-dropdown summary{
    padding:0;
    pointer-events:auto;
}

.isa-focus-rank-dropdown summary i{
    width:38px;
    height:38px;
    font-size:17px;
    border-width:1.5px;
}

.isa-focus-rank-content{
    pointer-events:auto;
    width:min(760px,100%);
    margin:0 auto;
    padding-top:18px;
}

@media(max-width:640px){
    .isa-focus-rank-section{
        margin-top:-54px;
        margin-bottom:-14px;
    }

    .isa-focus-rank-dropdown summary i{
        width:40px;
        height:40px;
    }
}


/* v2.0.33: Dropdown-cirklen én linje længere ned. */
.isa-focus-rank-section{
    transform:translateY(24px);
}


/* v2.0.34: Træningssektionen én linje længere ned. */
.isa-focus-training{
    transform:translateY(24px);
    margin-bottom:24px;
}


/* v2.0.36: Dropdown-pilen bliver på samme position, når udviklingsvejen åbnes. */
.isa-focus-rank-dropdown{
    display:block;
    width:100%;
}

.isa-focus-rank-dropdown > summary{
    width:40px;
    margin:0 auto;
    position:relative;
    z-index:2;
}

.isa-focus-rank-dropdown[open] > summary{
    margin-left:auto;
    margin-right:auto;
}

.isa-focus-rank-dropdown > .isa-focus-rank-content{
    width:100%;
}


/* v2.0.37: Aktiv grad matcher XP-tekstens typografi og står på én linje. */
.isa-focus-xp-meta .isa-focus-xp-now b{
    display:block;
    margin-top:6px;
    font-size:14px;
    font-weight:400;
    letter-spacing:0;
    line-height:1.15;
    text-transform:none;
    white-space:nowrap;
    color:#d9b96e;
}


/* v2.0.38: "Din grad" matcher "Næste grad" og får en eksklusiv label-boks. */
.isa-focus-xp-meta .isa-focus-xp-now small{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:24px;
    padding:4px 10px;
    margin-bottom:6px;
    border:1px solid rgba(217,185,110,.42);
    border-radius:8px;
    background:linear-gradient(180deg,rgba(217,185,110,.12),rgba(217,185,110,.045));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.08),
        0 4px 14px rgba(0,0,0,.16);
    color:#6f7a92;
    font-size:9px;
    font-weight:900;
    letter-spacing:.16em;
    line-height:1;
}


/* v2.0.39: Rangnavnet indgår i den eksklusive grad-boks. */
.isa-focus-xp-meta .isa-focus-xp-now{
    display:inline-flex;
    flex-direction:column;
    align-items:flex-start;
    padding:7px 11px 8px;
    border:1px solid rgba(217,185,110,.42);
    border-radius:9px;
    background:linear-gradient(180deg,rgba(217,185,110,.12),rgba(217,185,110,.045));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 14px rgba(0,0,0,.16);
}

.isa-focus-xp-meta .isa-focus-xp-now small{
    min-height:0;
    padding:0;
    margin:0 0 5px;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
}

.isa-focus-xp-meta .isa-focus-xp-now b{
    margin-top:0;
    text-transform:uppercase;
    font-weight:700;
    letter-spacing:.06em;
}


/* v2.0.40: Dropdown-cirklen løftes og centreres vertikalt ud for grad-boksen. */
.isa-focus-rank-section{
    transform:translateY(-8px);
}


/* v2.0.41: Finjustering af rangnavn og dropdown-cirkel. */
.isa-focus-xp-meta .isa-focus-xp-now b{
    font-size:13px;
}

.isa-focus-rank-section{
    transform:translateY(-4px);
}


/* v2.0.42: Yderligere finjustering af rangnavn og dropdown-cirkel. */
.isa-focus-xp-meta .isa-focus-xp-now b{
    font-size:12px;
}

.isa-focus-rank-section{
    transform:translateY(2px);
}


/* v2.0.43: Dropdown-cirklen 2 px længere ned. */
.isa-focus-rank-section{
    transform:translateY(4px);
}


/* v2.0.44: Husk elementerne bruger samme rene baggrund som Fokusquest-forsiden. */
.isa-fokus-quest-shell:has(.isa-memory-intro),
.isa-fokus-quest-shell:has(.isa-memory-stage),
.isa-fokus-quest-shell:has(.isa-memory-result){
    background:
        radial-gradient(circle at 50% -10%,rgba(73,210,201,.14),transparent 32%),
        linear-gradient(180deg,#0b0f1d 0%,#10162a 48%,#0b0f1d 100%) !important;
}

.isa-fokus-quest-shell .isa-memory-intro,
.isa-fokus-quest-shell .isa-memory-stage,
.isa-fokus-quest-shell .isa-memory-result{
    background:transparent !important;
}


/* v2.0.45: Husk elementerne får samme rene, åbne layout som Fokusquest-forsiden. */
.isa-fokus-quest-shell .isa-memory-intro{
    width:100%;
    min-height:0;
    padding:0 18px 42px;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
}

.isa-fokus-quest-shell .isa-memory-intro > .isa-game-intro-card,
.isa-fokus-quest-shell.is-embedded .isa-memory-intro > .isa-game-intro-card{
    width:min(760px,100%);
    margin:72px auto 0;
    padding:0;
    gap:18px;
    background:transparent !important;
    border:0 !important;
    border-radius:0;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-game-mini-hero{
    gap:8px;
    margin-bottom:4px;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-game-mini-icon{
    width:76px;
    height:76px;
    border-radius:24px;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-game-kicker{
    margin-top:2px;
    color:#78ddd6;
    font-size:12px;
    font-weight:900;
    letter-spacing:.18em;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-game-mini-hero h1{
    margin:2px 0 10px;
    color:#fff;
    font-size:clamp(38px,7vw,58px);
    line-height:1.02;
    letter-spacing:-.035em;
}

.isa-fokus-quest-shell .isa-memory-intro > .isa-game-intro-card > p:not(.isa-game-focus-phrase){
    width:min(650px,100%);
    margin:0 auto;
    color:#9da9c2;
    font-size:clamp(17px,3.2vw,21px);
    line-height:1.55;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-tip{
    width:min(650px,100%);
    margin:10px auto 0;
    border:1px solid rgba(73,215,206,.35);
    background:rgba(255,255,255,.055);
    box-shadow:0 14px 36px rgba(0,0,0,.14);
}

.isa-fokus-quest-shell .isa-memory-intro .isa-game-focus-phrase{
    margin:0;
    color:#78ddd6;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-primary-button,
.isa-fokus-quest-shell .isa-memory-intro .isa-secondary-button{
    width:min(650px,100%);
    margin-left:auto;
    margin-right:auto;
}

@media(max-width:640px){
    .isa-fokus-quest-shell .isa-memory-intro{
        padding-left:14px;
        padding-right:14px;
    }

    .isa-fokus-quest-shell .isa-memory-intro > .isa-game-intro-card,
    .isa-fokus-quest-shell.is-embedded .isa-memory-intro > .isa-game-intro-card{
        margin-top:64px;
        gap:16px;
    }

    .isa-fokus-quest-shell .isa-memory-intro .isa-game-mini-hero h1{
        font-size:39px;
    }
}


/* v2.0.46: Husk elementerne genbruger Fokusquest-forsidens brand-header. */
.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-hero{
    gap:0;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-focus-logo{
    display:block;
    width:76px;
    height:76px;
    margin:0 auto 13px;
    border-radius:22px;
    object-fit:cover;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-kicker{
    margin:0 0 5px;
    color:#22cfe0;
    font-size:15px;
    font-weight:800;
    letter-spacing:.18em;
    line-height:1.2;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-hero h1{
    margin:0 0 18px;
    color:#fff;
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(36px,6.6vw,54px);
    font-weight:700;
    line-height:1.02;
    letter-spacing:-.035em;
}


/* v2.0.47: Husk Elementerne brand-header flugter med Fokusquest-forsiden. */
.isa-fokus-quest-shell .isa-memory-intro > .isa-game-intro-card,
.isa-fokus-quest-shell.is-embedded .isa-memory-intro > .isa-game-intro-card{
    margin-top:20px;
}

@media(max-width:640px){
    .isa-fokus-quest-shell .isa-memory-intro > .isa-game-intro-card,
    .isa-fokus-quest-shell.is-embedded .isa-memory-intro > .isa-game-intro-card{
        margin-top:20px;
    }
}


/* v2.0.55: Forsiden vises stabilt fra første render.
   Ingen fade/translate ved JS-render af hubben, så logo/header ikke laver et mikro-ryk. */
.isa-fokus-quest-shell .isa-fokus-quest-hub,
.isa-fokus-quest-shell .isa-fokus-quest-hub-v3{
    animation:none !important;
    transform:none !important;
}


/* v2.0.60: Bevar formatteringen fra backendens undertekstfelter. */
.isa-fokus-quest-shell .isa-game-description{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}


/* v2.0.61: Fokus-sætning over undertekst; dagens husketip under Lær strategier. */
.isa-fokus-quest-shell .isa-memory-intro .isa-game-focus-phrase{
    margin:0 0 4px;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-game-description{
    margin-bottom:8px;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-tip{
    margin-top:4px;
}


/* v2.0.65: Find 5 fejl – tillad lodret scroll på og omkring begge billeder. */
.isa-fokus-quest-shell .isa-spot-photo,
.isa-fokus-quest-shell .isa-fokus-photo-wrap,
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5,
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__game-screen{
    min-height:0;
    height:auto;
    max-height:none;
    overflow:visible;
}

.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__boards{
    overflow:visible !important;
    touch-action:pan-y pinch-zoom !important;
}

.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__board,
.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__canvas{
    touch-action:pan-y pinch-zoom !important;
}

.isa-fokus-quest-shell.is-fullscreen{
    overflow-y:auto !important;
    overscroll-behavior-y:contain;
    touch-action:pan-y;
}

.isa-fokus-quest-shell .isa-fokus-photo-wrap .fq-find5__done-btn{
    position:relative;
    z-index:2;
    margin-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
}


/* v2.0.68: Huskespil bruger samme top-branding som Fokusquest-forsiden i ISA. */
.isa-fokus-quest-shell .isa-memory-intro .isa-memory-focus-logo{
    width:58px !important;
    height:58px !important;
    margin:0 auto 12px !important;
    border-radius:18px !important;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-kicker{
    margin:0 0 4px !important;
    color:var(--detail-accent, #22cfe0);
    font-size:11.5px !important;
    font-weight:700 !important;
    letter-spacing:.14em !important;
    line-height:1.2;
    text-transform:uppercase;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-hero h1{
    margin:0 0 18px !important;
    font-family:"DM Serif Display", Georgia, serif !important;
    font-size:38px !important;
    font-weight:400 !important;
    line-height:1.02 !important;
    letter-spacing:-.01em !important;
}


/* v2.0.69: Pixel-præcis synkronisering med ISA's Fokusquest-header. */
.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-hero{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:12px !important;
    margin:0 !important;
    padding:0 !important;
    text-align:center !important;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-logo-wrap{
    width:58px !important;
    height:58px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:18px !important;
    overflow:hidden !important;
    flex:0 0 58px !important;
    line-height:0 !important;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-focus-logo{
    display:block !important;
    width:58px !important;
    height:58px !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:18px !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:none !important;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-copy{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:0 !important;
    margin:0 !important;
    padding:0 !important;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-kicker{
    margin:0 0 4px !important;
    padding:0 !important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    font-size:11.5px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:.14em !important;
    text-transform:uppercase !important;
    color:var(--detail-accent,#22cfe0) !important;
}

.isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-hero h1{
    margin:0 !important;
    padding:0 !important;
    font-family:"DM Serif Display",Georgia,serif !important;
    font-size:38px !important;
    font-weight:400 !important;
    line-height:1.02 !important;
    letter-spacing:-.01em !important;
    color:#fff !important;
}

.isa-fokus-quest-shell .isa-memory-intro > .isa-game-intro-card,
.isa-fokus-quest-shell.is-embedded .isa-memory-intro > .isa-game-intro-card{
    margin-top:0 !important;
    padding-top:0 !important;
}

@media(max-width:640px){
    .isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-hero{
        gap:12px !important;
    }
    .isa-fokus-quest-shell .isa-memory-intro .isa-memory-brand-hero h1{
        font-size:38px !important;
    }
}


/* v2.0.70: I ISA genbruges den originale Fokusquest-header.
   Den interne Huskespil-header skjules derfor kun i den indlejrede ISA-visning. */
.isa-fokus-quest-shell.is-embedded .isa-memory-intro .isa-memory-brand-hero{
    display:none !important;
}


/* v2.0.71-clean: Huskespil og Find 5 fejl bruger samme introstruktur. */
.isa-fokus-quest-shell .isa-memory-intro .isa-memory-start-button,
.isa-fokus-quest-shell .isa-find5-intro .isa-find5-start-button{
    margin-top:22px !important;
    margin-bottom:0 !important;
}

.isa-fokus-quest-shell .isa-find5-intro .isa-game-intro-card{
    width:min(760px,100%);
}

.isa-fokus-quest-shell .isa-find5-intro .isa-find5-tip{
    margin-top:10px;
}

/* Inde i ISA leveres den fælles logo/FOKUS/titel-header af ISA selv. */
.isa-fokus-quest-shell.is-embedded .isa-find5-intro .isa-memory-brand-hero{
    display:none !important;
}


/* v2.0.72-clean: Samme overordnede struktur på begge spil.
   Find 5 fejl beholder det oprindelige billedmoduls komplette layout. */
.isa-fokus-quest-shell .isa-find5-playing,
.isa-fokus-quest-shell .isa-find5-playing .isa-fokus-photo-wrap,
.isa-fokus-quest-shell .isa-find5-playing .fq-find5,
.isa-fokus-quest-shell .isa-find5-playing .fq-find5__game-screen{
    display:block !important;
    width:100% !important;
    min-height:0;
    height:auto;
    max-height:none;
    overflow:visible;
}

.isa-fokus-quest-shell .isa-find5-playing .fq-find5__boards{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    overflow:visible !important;
}

.isa-fokus-quest-shell .isa-find5-playing .fq-find5__board{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
}

@media(min-width:760px){
    .isa-fokus-quest-shell .isa-find5-playing .fq-find5__boards{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* v2.0.75: Selve Huskespil-runden viser kun Level øverst. */
.isa-fokus-quest-shell .isa-memory-game .isa-memory-level-header{
    margin:0 0 18px !important;
    padding:0 !important;
    text-align:center !important;
}

.isa-fokus-quest-shell .isa-memory-game .isa-memory-level-header h1{
    margin:0 !important;
    padding:0 !important;
    font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
    font-size:22px !important;
    font-weight:700 !important;
    line-height:1.2 !important;
    letter-spacing:-.01em !important;
    color:#fff !important;
}


/* v2.0.76: XP-belønning efter Huskespil. */
.isa-memory-xp-reward{
    width:100%;
    display:flex;
    justify-content:center;
    padding:28px 18px 40px;
}
.isa-memory-xp-card{
    width:min(620px,100%);
    text-align:center;
}
.isa-memory-xp-card h1{
    margin:8px 0 10px;
    font-size:42px;
    line-height:1;
}
.isa-memory-xp-total{
    display:block;
    margin:0 0 14px;
    font-size:24px;
}
.isa-memory-xp-track{
    margin:0 auto 12px;
}
.isa-memory-xp-track i{
    transition:none !important;
}
.isa-memory-xp-grade{
    margin-bottom:24px;
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}


/* v2.0.77: Fælles professionel XP-resultatside. */
.isa-xp-feedback-icon{
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    margin:0 auto 14px;
    border-radius:50%;
    border:1px solid rgba(91,218,232,.38);
    background:rgba(35,190,211,.10);
    color:#6ee7f2;
    font-size:22px;
    box-shadow:0 0 28px rgba(35,190,211,.16);
}
.isa-xp-feedback-title{
    max-width:560px;
    margin:0 auto 24px !important;
    font-size:clamp(25px,5.5vw,38px) !important;
    line-height:1.12 !important;
    letter-spacing:-.025em !important;
}
.isa-xp-earned{
    display:block;
    margin:7px 0 12px;
    color:#6ee7f2;
    font-size:28px;
    font-weight:800;
}
.isa-memory-xp-card{
    padding:30px 22px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:24px;
    background:linear-gradient(180deg,rgba(16,31,48,.92),rgba(9,21,35,.96));
    box-shadow:0 22px 60px rgba(0,0,0,.28);
}


/* v2.0.78: Resultatsiden matcher Games-oversigtens baggrund og bevarer linjeskift. */
.isa-fokus-quest-shell .isa-memory-xp-reward{
    min-height:100%;
    background:
        radial-gradient(circle at 50% 0%, rgba(31,120,151,.16), transparent 38%),
        linear-gradient(180deg,#07111c 0%,#081522 50%,#07111c 100%);
}
.isa-xp-feedback-title{
    white-space:pre-wrap;
    overflow-wrap:anywhere;
}
.isa-memory-xp-percent{
    margin:8px 0 6px;
    color:#6ee7f2;
    font-size:14px;
    font-weight:800;
    letter-spacing:.08em;
}


/* v2.0.79: Fokus Quest testdemo (SE -> TRÆN -> PRØV). */
.isa-fq-test{min-height:100%;padding:18px 16px 34px;color:#f7fbff;background:radial-gradient(circle at 50% 0,rgba(35,190,211,.16),transparent 34%),linear-gradient(180deg,#07111c,#081522 55%,#07111c)}
.isa-fq-header{display:flex;align-items:flex-start;gap:14px;max-width:760px;margin:0 auto 18px}.isa-fq-header p{margin:1px 0 4px;color:#6ee7f2;font-size:11px;font-weight:900;letter-spacing:.12em}.isa-fq-header h1{margin:0;font-size:clamp(27px,7vw,40px);line-height:1}.isa-fq-header span{display:block;margin-top:7px;color:#b7c6d4;font-size:14px}.isa-fq-back{width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:rgba(255,255,255,.06);color:#fff;font-size:23px;cursor:pointer}
.isa-fq-stepper{display:flex;align-items:center;justify-content:center;max-width:560px;margin:0 auto 18px}.isa-fq-stepper>i{width:42px;height:2px;background:rgba(255,255,255,.13)}.isa-fq-step{display:grid;justify-items:center;gap:5px;color:#718294}.isa-fq-step b{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.15);border-radius:50%;background:#101f2e;font-size:13px}.isa-fq-step span{font-size:10px;font-weight:900;letter-spacing:.08em}.isa-fq-step.is-active{color:#6ee7f2}.isa-fq-step.is-active b{border-color:#46d4e4;background:rgba(35,190,211,.18);box-shadow:0 0 20px rgba(35,190,211,.18)}.isa-fq-step.is-done{color:#8edb9a}.isa-fq-step.is-done b{border-color:#79cf87;background:rgba(86,190,105,.16)}
.isa-fq-panel{max-width:760px;margin:0 auto;padding:18px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:linear-gradient(180deg,rgba(16,31,48,.94),rgba(9,21,35,.97));box-shadow:0 20px 55px rgba(0,0,0,.28)}.isa-fq-coach{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;padding:13px;border-radius:16px;background:rgba(255,255,255,.045)}.isa-fq-coach>span{width:32px;height:32px;display:grid;place-items:center;flex:0 0 32px;border-radius:50%;background:#28bfd2;color:#06131d;font-weight:900}.isa-fq-coach strong{display:block;margin-bottom:3px}.isa-fq-coach p{margin:0;color:#b9c8d5;font-size:13px;line-height:1.45}
.isa-fq-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.isa-fq-object{position:relative;min-width:0;padding:9px 6px 8px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:rgba(255,255,255,.045);color:#fff;cursor:pointer;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}.isa-fq-object:disabled{opacity:1;cursor:default}.isa-fq-object-visual{height:72px;display:grid;place-items:center}.isa-fq-object-visual img{width:100%;height:100%;object-fit:contain}.isa-fq-object-visual svg{width:58px;height:58px}.isa-fq-object-label{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#cbd7e1;font-size:10px;font-weight:700}.isa-fq-object.is-demo-focus,.isa-fq-object.is-correct{border-color:#55deca;background:rgba(48,204,181,.14);box-shadow:0 0 0 3px rgba(48,204,181,.12),0 10px 28px rgba(0,0,0,.22);transform:translateY(-2px)}.isa-fq-object.has-hint:after{content:'?';position:absolute;top:7px;right:7px;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#f0ba38;color:#17202a;font-size:12px;font-weight:900;animation:isaFqPulse 1.4s infinite}.isa-fq-object.is-selected{border-color:#6ee7f2;background:rgba(35,190,211,.16)}.isa-fq-object.is-wrong{border-color:#f47f83;background:rgba(244,83,91,.13);animation:isaFqShake .32s}.isa-fq-status,.isa-fq-countdown,.isa-fq-answer-note{margin-top:15px;text-align:center;color:#c3d0dc;font-size:13px;font-weight:800}.isa-fq-countdown strong{color:#6ee7f2;font-size:18px}.isa-fq-progress{height:8px;margin-top:16px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.isa-fq-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#21b8cd,#63e3ce);transition:width .25s}.isa-fq-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:760px;margin:16px auto 0}.isa-fq-actions .isa-primary-button,.isa-fq-actions .isa-secondary-button{min-width:190px}.isa-fq-result{text-align:center;padding:24px 10px}.isa-fq-result-icon{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 14px;border-radius:50%;background:rgba(48,204,181,.14);color:#6ee7d2;font-size:30px;font-weight:900}.isa-fq-result p{margin:0 0 6px;color:#6ee7f2;font-size:11px;font-weight:900;letter-spacing:.12em}.isa-fq-result h2{margin:0 0 12px;font-size:28px}.isa-fq-result strong{display:block;margin-bottom:8px;font-size:22px}.isa-fq-result span{color:#b9c8d5;font-size:14px}.isa-fq-result.is-retry .isa-fq-result-icon{background:rgba(240,186,56,.13);color:#f0ba38}
@keyframes isaFqPulse{50%{transform:scale(1.12);box-shadow:0 0 0 7px rgba(240,186,56,.1)}}@keyframes isaFqShake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(max-width:560px){.isa-fq-test{padding:14px 10px 28px}.isa-fq-panel{padding:13px;border-radius:20px}.isa-fq-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.isa-fq-object{padding:7px 4px}.isa-fq-object-visual{height:62px}.isa-fq-object-label{font-size:9px}.isa-fq-stepper>i{width:24px}.isa-fq-actions{display:grid}.isa-fq-actions .isa-primary-button,.isa-fq-actions .isa-secondary-button{width:100%}}

/* v2.0.80: Klar tre-faset Test uden tilbagepil. */
.isa-fq-header-no-back{grid-template-columns:1fr!important;text-align:center}
.isa-fq-header-no-back>div{width:100%}
.isa-fq-demo-ready .isa-fq-object:not(.is-demonstrated){cursor:pointer}
.isa-fq-object.is-demonstrated{opacity:.66}

/* v2.0.82: Fokus Quest fase 1 – startstyret demo. */
.isa-fq-coach-no-number{margin-top:0}
.isa-fq-coach-no-number>div{width:100%}
.isa-fq-coach-no-number strong{font-size:17px}
.isa-fq-coach-no-number p+p{margin-top:8px}
.isa-fq-inline-action{display:flex;justify-content:center;margin:4px 0 18px}
.isa-fq-inline-action .isa-primary-button{min-width:190px}
.isa-fq-demo-grid{min-height:112px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}
.isa-fq-object.is-demo-enter{animation:isaFqDemoEnter .3s ease-out both}
@keyframes isaFqDemoEnter{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(-2px) scale(1)}}
@media(max-width:560px){.isa-fq-demo-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.isa-fq-demo-grid .isa-fq-object-label{display:none}.isa-fq-inline-action .isa-primary-button{width:100%}}
