/*
 * Melkisedekin Akatemia 2.1
 * Mobile first: base -> 680 px -> 1024 px -> 1440 px.
 * Each component has one base definition. Breakpoints only adjust layout.
 */

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

.mp-app :root{
    --maka-primary: #9b4dff;
    --maka-primary-dark: #7428d4;
    --maka-secondary: #d72da5;
    --maka-success: #55dfa0;
    --maka-danger: #ff667d;
    --maka-warning: #ffd36a;
    --maka-background: #080c1a;
    --maka-surface: #13172b;
    --maka-surface-raised: #1c1d37;
    --maka-text: #ffffff;
    --maka-muted: #b9b6ca;
    --maka-border: rgba(207, 180, 255, .18);
    --maka-border-strong: rgba(207, 180, 255, .38);
    --maka-radius-sm: 12px;
    --maka-radius-md: 18px;
    --maka-radius-lg: 26px;
    --maka-shadow: 0 24px 64px rgba(0, 0, 0, .34);
    --maka-shadow-soft: 0 12px 32px rgba(0, 0, 0, .22);
    --maka-focus: 0 0 0 3px rgba(193, 143, 255, .4);
}

/* Host projector -------------------------------------------------------- */

.mp-app .ukf-ma-intro-actions .ukf-maka-start{
    border-color: rgba(218, 176, 255, .4);
    background: linear-gradient(135deg, var(--maka-primary-dark), var(--maka-secondary));
    box-shadow: 0 12px 30px rgba(116, 40, 212, .28);
}

.mp-app .ukf-ma-intro-actions .ukf-maka-start:hover, .mp-app .ukf-ma-intro-actions .ukf-maka-start:focus-visible{
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(116, 40, 212, .36);
}

.mp-app #ukf-ma-projector.is-academy .ukf-ma-topbar{
    opacity: 0;
    pointer-events: none;
}

.mp-app #ukf-ma-projector.is-academy [data-ma-close]{
    position: absolute !important;
    top: 14px !important;
    z-index: 10020 !important;
    display: grid !important;
    place-items: center;
    width: 44px !important;
    height: 44px !important;
    padding: 0 !important;
    border: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 50% !important;
    color: var(--maka-text) !important;
    background: rgba(24, 27, 47, .94) !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .26) !important;
    opacity: 1 !important;
    transition: opacity .18s ease, transform .18s ease, background .18s ease !important;
}




.mp-app #ukf-ma-projector.is-academy [data-ma-close]{
    right: 14px !important;
}

.mp-app #ukf-ma-projector.is-academy.maka-controls-dim [data-ma-close]{
    opacity: .44 !important;
}

.mp-app #ukf-ma-projector.is-academy [data-ma-close]:hover, .mp-app #ukf-ma-projector.is-academy [data-ma-close]:focus-visible{
    opacity: 1 !important;
    transform: scale(1.06);
    background: rgba(45, 38, 75, .98) !important;
}

/* Game library ---------------------------------------------------------- */
.mp-app .ukf-maka-game-hall{ width: min(1120px, 100%); margin: 24px auto 0; padding: 28px; border: 1px solid var(--maka-border); border-radius: 22px; background: rgba(18, 21, 40, .78); }
.mp-app .ukf-maka-game-hall .ukf-maka-section-head{ margin-bottom: 20px; }
.mp-app .ukf-maka-game-hall .ukf-maka-section-head h3{ margin: 4px 0 5px; font-size: clamp(24px, 3vw, 34px); }
.mp-app .ukf-maka-game-hall .ukf-maka-section-head p{ margin: 0; color: var(--maka-muted); }
.mp-app .ukf-maka-game-library{ display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; }
.mp-app .ukf-maka-game-card{ display: grid; grid-template-columns: 64px minmax(0,1fr) auto; align-items: center; gap: 18px; width: 100%; min-height: 132px; padding: 22px; border: 1px solid var(--maka-border-strong); border-radius: 20px; color: var(--maka-text); background: linear-gradient(135deg, rgba(75,43,119,.62), rgba(27,29,54,.92)); text-align: left; cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.mp-app .ukf-maka-game-card:hover, .mp-app .ukf-maka-game-card:focus-visible{ transform: translateY(-2px); border-color: var(--maka-primary); box-shadow: 0 16px 34px rgba(116,40,212,.22); outline: none; }
.mp-app .ukf-maka-game-card-icon{ display:grid; place-items:center; width:64px; height:64px; border-radius:18px; background:linear-gradient(145deg,var(--maka-primary),var(--maka-secondary)); font-size:32px; }
.mp-app .ukf-maka-game-card-copy{ display:flex; flex-direction:column; gap:6px; min-width:0; }
.mp-app .ukf-maka-game-card-copy strong{ font-size:21px; }
.mp-app .ukf-maka-game-card-copy small{ color:var(--maka-muted); font-size:14px; line-height:1.45; }
.mp-app .ukf-maka-game-card-action{ white-space:nowrap; font-weight:750; color:#fff; }
@media (max-width: 679px){ .mp-app .ukf-maka-game-hall{ padding:18px; } .mp-app .ukf-maka-game-card{ grid-template-columns:52px minmax(0,1fr); gap:14px; padding:18px; } .mp-app .ukf-maka-game-card-icon{ width:52px; height:52px; border-radius:15px; font-size:27px; } .mp-app .ukf-maka-game-card-action{ grid-column:1 / -1; justify-self:stretch; padding:11px 14px; border-radius:14px; background:linear-gradient(135deg,var(--maka-primary-dark),var(--maka-secondary)); text-align:center; } }

/* Foundation ------------------------------------------------------------ */

.mp-app .ukf-maka-view{
    position: absolute;
    inset: 0;
    z-index: 3;
    overflow-x: hidden;
    overflow-y: auto;
    color: var(--maka-text);
    background:
        radial-gradient(circle at 14% 0, rgba(155, 77, 255, .12), transparent 30%),
        radial-gradient(circle at 92% 100%, rgba(215, 45, 165, .08), transparent 32%),
        var(--maka-background);
    scrollbar-color: rgba(185, 125, 255, .55) transparent;
    scrollbar-width: thin;
    -webkit-font-smoothing: antialiased;
}

.mp-app .ukf-maka-view, .mp-app .ukf-maka-view *, .mp-app .ukf-maka-launchpad, .mp-app .ukf-maka-launchpad *{
    box-sizing: border-box;
}

.mp-app .ukf-maka-view[hidden], .mp-app .ukf-maka-view [hidden], .mp-app .ukf-maka-explanation-modal[hidden], .mp-app .ukf-maka-event-modal[hidden], .mp-app .ukf-maka-report-modal[hidden]{
    display: none !important;
}

.mp-app .ukf-maka-view button, .mp-app .ukf-maka-launchpad button{
    font: inherit;
}

.mp-app .ukf-maka-view button:focus-visible, .mp-app .ukf-maka-launchpad button:focus-visible, .mp-app .ukf-maka-launchpad a:focus-visible{
    outline: none;
    box-shadow: var(--maka-focus);
}

.mp-app .ukf-maka-shell{
    position: relative;
    isolation: isolate;
    width: 100%;
    min-width: 0;
    min-height: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding: 72px 10px 24px;
}

.mp-app .ukf-maka-screen{
    width: 100%;
    min-width: 0;
    animation: makaScreenIn .24s ease both;
}

.mp-app .ukf-maka-kicker{
    display: block;
    margin: 0 0 6px;
    color: #d9bdff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .14em;
    line-height: 1.35;
    text-transform: uppercase;
}

.mp-app .ukf-maka-primary, .mp-app .ukf-maka-secondary, .mp-app .ukf-maka-reader-button, .mp-app .ukf-maka-launchpad-button{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    border-radius: 999px;
    color: var(--maka-text);
    font-size: 15px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.mp-app .ukf-maka-primary, .mp-app .ukf-maka-launchpad-button{
    border: 1px solid transparent;
    background: linear-gradient(135deg, var(--maka-primary-dark), var(--maka-secondary));
    box-shadow: 0 12px 28px rgba(116, 40, 212, .28);
}

.mp-app .ukf-maka-secondary, .mp-app .ukf-maka-reader-button{
    border: 1px solid var(--maka-border-strong);
    background: rgba(255, 255, 255, .06);
    box-shadow: none;
}

.mp-app .ukf-maka-primary:hover:not(:disabled), .mp-app .ukf-maka-secondary:hover:not(:disabled), .mp-app .ukf-maka-reader-button:hover:not(:disabled), .mp-app .ukf-maka-launchpad-button:hover{
    transform: translateY(-2px);
    border-color: rgba(224, 201, 255, .62);
    box-shadow: 0 14px 34px rgba(76, 24, 148, .3);
}

.mp-app .ukf-maka-primary:disabled, .mp-app .ukf-maka-secondary:disabled, .mp-app .ukf-maka-reader-button:disabled{
    opacity: .62;
    cursor: default;
}

/* Launchpad ------------------------------------------------------------- */

.mp-app .ukf-maka-launchpad{
    overflow: hidden;
    width: min(1180px, 100%);
    margin: 24px auto;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-lg);
    color: var(--maka-text);
    background: linear-gradient(145deg, var(--maka-campaign-bg-start, rgba(30, 31, 58, .98)), var(--maka-campaign-bg-end, rgba(11, 14, 30, .98)));
    box-shadow: var(--maka-shadow);
}

.mp-app .ukf-maka-launchpad-main{
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: center;
    padding: 22px;
    text-align: center;
    background: radial-gradient(circle at 8% 8%, rgba(155, 77, 255, .2), transparent 34%);
}

.mp-app .ukf-maka-launchpad-icon{
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    margin: 0 auto;
    border-radius: 18px;
    font-size: 30px;
    background: linear-gradient(145deg, var(--maka-primary), var(--maka-secondary));
    box-shadow: 0 14px 32px rgba(116, 40, 212, .34);
}

.mp-app .ukf-maka-launchpad-icon img, .mp-app .ukf-maka-competition-icon img{ width: 72%; height: 72%; object-fit: contain; }

.mp-app .ukf-maka-launchpad-copy h2{
    margin: 0;
    color: var(--maka-text);
    font-size: clamp(24px, 7vw, 34px);
    line-height: 1.15;
}

.mp-app .ukf-maka-launchpad-copy p{
    margin: 7px 0 0;
    color: var(--maka-muted);
    line-height: 1.55;
}

.mp-app .ukf-maka-launchpad-meta{
    display: grid;
    grid-template-columns: 1fr;
    border-top: 1px solid var(--maka-border);
}

.mp-app .ukf-maka-launchpad-meta--compact{
    grid-template-columns: 1fr;
}

.mp-app .ukf-maka-launchpad-meta span{
    padding: 14px 18px;
    color: #ddd8e9;
    text-align: center;
}

.mp-app .ukf-maka-launchpad-meta button, .mp-app .ukf-maka-launchpad-meta a{
    width: 100%; padding: 14px 18px; border: 0; color: #ddd8e9; background: transparent;
    font: inherit; font-weight: 800; cursor: pointer; text-align: center; text-decoration: none;
}

/* The ordinary quiz banner has only a campaign notice; the dedicated shortcode has a full card. */
.mp-app .ukf-maka-campaign-notice{ display: flex; flex-direction: column; align-items: center; gap: 8px 16px; padding: 12px 22px; border-top: 1px solid var(--maka-border); color: var(--maka-text); font-size: 13px; line-height: 1.4; text-align: center; overflow-wrap: anywhere; }
.mp-app .ukf-maka-campaign-notice-info{ display: flex; flex-direction: column; align-items: center; gap: 6px 16px; min-width: 0; max-width: 100%; }
.mp-app .ukf-maka-campaign-notice-info > strong{ min-width: 0; margin: 0; font-size: 13px; font-weight: 650; line-height: 1.4; }
.mp-app .ukf-maka-campaign-notice .ukf-maka-campaign-schedule{ justify-content: center; align-items: baseline; min-width: 0; }
.mp-app .ukf-maka-campaign-notice .ukf-maka-campaign-schedule > span{ justify-content: center; align-items: baseline; }
.mp-app .ukf-maka-campaign-notice .ukf-maka-launchpad-button{ flex: 0 1 auto; width: auto; min-width: 0; max-width: 100%; min-height: 40px; padding: 8px 14px; border-color: var(--maka-border-strong); background: rgba(155, 77, 255, .12); box-shadow: none; font-size: 13px; font-weight: 650; line-height: 1.3; overflow-wrap: anywhere; }
.mp-app .ukf-maka-campaign-summary, .mp-app .ukf-maka-competition{ color: var(--maka-text); font-size: 15px; line-height: 1.45; overflow-wrap: anywhere; }
.mp-app .ukf-maka-campaign-summary{ position: relative; isolation: isolate; overflow: hidden; padding: 22px 26px; background: linear-gradient(120deg, var(--maka-campaign-bg-start, #1e1f3a), var(--maka-campaign-bg-end, #0b0e1e)); }
.mp-app .ukf-maka-campaign-summary-content{ width: 100%; min-width: 0; }
.mp-app .ukf-maka-campaign-summary-heading{ display: flex; align-items: center; gap: 12px; }
.mp-app .ukf-maka-campaign-summary-heading > div{ min-width: 0; }
.mp-app .ukf-maka-campaign-summary .ukf-maka-kicker{ margin: 0 0 3px; font-size: 10px; }
.mp-app .ukf-maka-campaign-summary h3{ margin: 0; color: var(--maka-text); font-size: 26px; font-weight: 750; line-height: 1.18; }
.mp-app .ukf-maka-campaign-summary-icon{ display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 13px; background: linear-gradient(145deg, var(--maka-primary), var(--maka-secondary)); font-size: 23px; }
.mp-app .ukf-maka-campaign-summary-icon img{ width: 72%; height: 72%; object-fit: contain; }
.mp-app .ukf-maka-campaign-summary-description{ margin: 8px 0 0; color: var(--maka-muted); font-size: 15px; line-height: 1.45; }
.mp-app .ukf-maka-campaign-summary-details{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin-top: 10px; }
.mp-app .ukf-maka-campaign-schedule{ display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; color: var(--maka-muted); font-size: 12px; font-weight: 400; line-height: 1.5; }
.mp-app .ukf-maka-campaign-schedule > span{ display: flex; flex-wrap: wrap; gap: 0 5px; }
.mp-app .ukf-maka-campaign-schedule time{ color: var(--maka-text); font-size: 12px; font-weight: 500; }
.mp-app .ukf-maka-campaign-summary-actions{ display: flex; justify-content: center; align-items: center; margin-top: 18px; }
.mp-app .ukf-maka-campaign-summary .ukf-maka-launchpad-button{ flex: 0 1 auto; width: auto; max-width: 100%; min-width: 0; min-height: 44px; padding: 10px 22px; font-size: 14px; font-weight: 700; line-height: 1.25; overflow-wrap: anywhere; }
.mp-app .ukf-maka-campaign-summary .ukf-maka-campaign-prize{ margin-top: 14px; }
.mp-app .ukf-maka-campaign-prize{ display: flex; align-items: center; gap: 9px; margin: 0; color: var(--maka-text); font-size: 13px; line-height: 1.35; }
.mp-app .ukf-maka-campaign-prize small{ display: block; color: var(--maka-muted); font-size: 11px; font-weight: 400; }
.mp-app .ukf-maka-campaign-summary-cover, .mp-app .ukf-maka-competition-cover{ position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; max-width: none; margin: 0; object-fit: cover; object-position: center; }
.mp-app .ukf-maka-campaign-summary.has-cover::before, .mp-app .ukf-maka-competition-hero.has-cover::before{ content: ""; position: absolute; z-index: -1; inset: 0; }
.mp-app .ukf-maka-competition-hero.has-cover::before{ background: linear-gradient(90deg, var(--maka-campaign-bg-end, #0b0e1e) 0%, rgba(8, 12, 26, .85) 48%, rgba(8, 12, 26, .3) 100%); }
.mp-app .ukf-maka-campaign-summary.has-cover::before{ background: linear-gradient(90deg, var(--maka-campaign-bg-end, #0b0e1e), rgba(8, 12, 26, .76)); }
.mp-app .ukf-maka-competition{ overflow: hidden; width: min(1120px, 100%); min-width: 0; margin: 0 auto; padding: 0; border: 1px solid var(--maka-border); border-radius: 22px; background: linear-gradient(145deg, var(--maka-campaign-bg-start, #1e1f3a), var(--maka-campaign-bg-end, #0b0e1e)); box-shadow: var(--maka-shadow); text-align: left; }
.mp-app .ukf-maka-competition--empty{ padding: 24px; }
.mp-app .ukf-maka-competition-hero{ position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; min-height: 224px; padding: 24px 28px; background: radial-gradient(ellipse at right top, rgba(155, 77, 255, .18), transparent 70%); border-bottom: 1px solid var(--maka-border); }
.mp-app .ukf-maka-competition-heading-row{ display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.mp-app .ukf-maka-competition-label{ display: flex; align-items: center; gap: 7px; min-width: 0; }
.mp-app .ukf-maka-competition-label .ukf-maka-kicker{ margin: 0; font-size: 10px; }
.mp-app .ukf-maka-competition-icon{ display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; margin: 0; border-radius: 8px; font-size: 17px; background: linear-gradient(145deg, var(--maka-primary), var(--maka-secondary)); }
.mp-app .ukf-maka-competition h2.ukf-maka-competition-title{ margin: 0; color: var(--maka-text); font-size: 32px; font-weight: 750; line-height: 1.16; overflow-wrap: anywhere; }
.mp-app .ukf-maka-competition-summary{ max-width: 75ch; margin: 0; color: var(--maka-muted); font-size: 15px; line-height: 1.45; }
.mp-app .ukf-maka-competition-body{ padding: 20px 28px; }
.mp-app .ukf-maka-competition-body > .ukf-maka-campaign-prize{ margin: 0 0 16px; }
.mp-app .ukf-maka-competition-content{ padding: 0; color: var(--maka-muted); font-size: 15px; line-height: 1.55; text-align: left; overflow-wrap: anywhere; }
.mp-app .ukf-maka-competition-content :where(p, .mp-app ul, .mp-app ol){ margin: 0 0 10px; font-size: inherit; line-height: inherit; }
.mp-app .ukf-maka-competition-content :where(ul, .mp-app ol){ padding-left: 22px; }
.mp-app .ukf-maka-competition-content :where(h1, .mp-app h2, .mp-app h3, .mp-app h4, .mp-app h5, .mp-app h6){ margin: 16px 0 6px; color: var(--maka-text); font-size: 20px; font-weight: 700; line-height: 1.25; }
.mp-app .ukf-maka-competition-content > :first-child{ margin-top: 0; }
.mp-app .ukf-maka-competition-content > :last-child{ margin-bottom: 0; }
.mp-app .ukf-maka-competition-content img{ max-width: 100%; height: auto; }
.mp-app .ukf-maka-competition-content a{ color: #dfbfff; }
.mp-app .ukf-maka-competition-actions{ display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 18px; }
.mp-app .ukf-maka-competition .ukf-maka-competition-actions > button{ flex: 0 1 auto; width: auto; min-width: 0; max-width: 100%; min-height: 44px; padding: 10px 18px; font-size: 14px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.mp-app .ukf-maka-competition-actions > .ukf-maka-secondary{ margin-right: 0; }
@media (max-width: 679px){
    .mp-app .ukf-maka-campaign-notice{ padding: 12px 16px; gap: 8px 12px; }
    .mp-app .ukf-maka-campaign-notice .ukf-maka-launchpad-button{ min-height: 44px; }
    .mp-app .ukf-maka-campaign-summary{ padding: 16px; }
    .mp-app .ukf-maka-campaign-summary h3{ font-size: 22px; }
    .mp-app .ukf-maka-campaign-summary-description{ font-size: 14px; }
    .mp-app .ukf-maka-campaign-summary-details{ gap: 8px; }
    .mp-app .ukf-maka-competition-hero.has-cover::before{ background: linear-gradient(90deg, rgba(8, 12, 26, .88), rgba(8, 12, 26, .55)), linear-gradient(0deg, var(--maka-campaign-bg-end, #0b0e1e), transparent); }
    .mp-app .ukf-maka-competition{ border-radius: 18px; }
    .mp-app .ukf-maka-competition-hero{ min-height: 196px; gap: 8px; padding: 16px; }
    .mp-app .ukf-maka-competition h2.ukf-maka-competition-title{ font-size: 24px; }
    .mp-app .ukf-maka-competition-summary, .mp-app .ukf-maka-competition-content{ font-size: 14px; }
    .mp-app .ukf-maka-competition-content :where(h1, .mp-app h2, .mp-app h3, .mp-app h4, .mp-app h5, .mp-app h6){ font-size: 18px; }
    .mp-app .ukf-maka-competition-body{ padding: 16px; }
    .mp-app .ukf-maka-competition-body > .ukf-maka-campaign-prize{ margin-bottom: 12px; }
    .mp-app .ukf-maka-competition-actions{ gap: 8px; margin-top: 16px; }
    .mp-app .ukf-maka-competition .ukf-maka-competition-actions > button{ flex: 1 1 120px; padding: 9px 12px; }
}

.mp-app .ukf-maka-launchpad-meta b{
    margin-left: 6px;
    color: #ead8ff;
}

/* Lobby ----------------------------------------------------------------- */

.mp-app .ukf-maka-hero{
    position: relative;
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 13px;
    align-items: center;
    overflow: hidden;
    padding: 14px 16px;
    border: 1px solid var(--maka-border);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(30, 31, 58, .98), rgba(11, 14, 30, .98));
    box-shadow: var(--maka-shadow-soft);
}

.mp-app .ukf-maka-hero::after{
    content: "";
    position: absolute;
    top: -100px;
    right: -60px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(155, 77, 255, .2);
    filter: blur(8px);
    pointer-events: none;
}

.mp-app .ukf-maka-mark{
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 14px;
    font-size: 23px;
    background: linear-gradient(145deg, var(--maka-primary), var(--maka-secondary));
    box-shadow: 0 12px 28px rgba(116, 40, 212, .32);
}

.mp-app .ukf-maka-hero h2{
    position: relative;
    z-index: 1;
    margin: 0;
    color: var(--maka-text);
    font-size: 21px;
    line-height: 1.15;
}

.mp-app .ukf-maka-hero p{
    position: relative;
    z-index: 1;
    margin: 3px 0 0;
    color: var(--maka-muted);
    font-size: 12px;
}

.mp-app .ukf-maka-dashboard{
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.mp-app .ukf-maka-stat-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.mp-app .ukf-maka-stat{
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    justify-items: center;
    min-width: 0;
    min-height: 84px;
    padding: 14px;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-md);
    color: var(--maka-text);
    text-align: center;
    background: linear-gradient(145deg, rgba(29, 30, 56, .98), rgba(13, 16, 33, .98));
    box-shadow: var(--maka-shadow-soft);
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}

.mp-app .ukf-maka-stat:hover, .mp-app .ukf-maka-stat:focus-visible{
    transform: translateY(-2px);
    border-color: var(--maka-border-strong);
    background: linear-gradient(145deg, rgba(48, 38, 81, .98), rgba(16, 19, 38, .98));
}

.mp-app .ukf-maka-stat > span{
    font-size: 27px;
    line-height: 1;
}

.mp-app .ukf-maka-stat strong{
    min-width: 0;
    overflow-wrap: normal;
    font-size: 14px;
    line-height: 1.2;
}

.mp-app .ukf-maka-stat small{
    display: none;
    min-width: 0;
    color: var(--maka-muted);
    line-height: 1.35;
}

.mp-app .ukf-maka-stat--competition small{
    line-height: 1.35;
}

.mp-app .ukf-maka-games{
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-lg);
    background: linear-gradient(145deg, rgba(29, 30, 56, .98), rgba(12, 15, 32, .98));
    box-shadow: var(--maka-shadow-soft);
}

.mp-app .ukf-maka-theme-picker{
    min-width: 0;
}

.mp-app .ukf-maka-section-head{
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}

.mp-app .ukf-maka-section-head h3{
    margin: 0;
    color: var(--maka-text);
    font-size: 23px;
    line-height: 1.2;
}

.mp-app .ukf-maka-theme-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.mp-app .ukf-maka-theme-choice{
    --maka-theme-color: var(--maka-primary);
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 104px;
    padding: 14px 10px;
    border: 1px solid var(--maka-border);
    border-radius: 16px;
    color: var(--maka-text);
    text-align: center;
    background: rgba(255, 255, 255, .035);
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.mp-app .ukf-maka-theme-choice::after{
    content: "";
    position: absolute;
    top: 10px;
    right: 10px;
    width: 9px;
    height: 9px;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
    background: transparent;
}

.mp-app .ukf-maka-theme-choice:hover, .mp-app .ukf-maka-theme-choice:focus-visible{
    transform: translateY(-2px);
    border-color: var(--maka-border-strong);
    background: rgba(155, 77, 255, .1);
}

.mp-app .ukf-maka-theme-choice.is-selected{
    border-color: var(--maka-theme-color);
    background: linear-gradient(145deg, rgba(155, 77, 255, .18), rgba(215, 45, 165, .09));
    box-shadow: inset 0 0 24px rgba(155, 77, 255, .08);
}

.mp-app .ukf-maka-theme-choice.is-selected::after{
    border-color: var(--maka-theme-color);
    background: var(--maka-theme-color);
    box-shadow: 0 0 12px var(--maka-theme-color);
}

.mp-app .ukf-maka-theme-choice strong{
    min-width: 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.25;
}

.mp-app .ukf-maka-theme-icon{
    display: block;
    margin-bottom: 8px;
    font-size: 26px;
    line-height: 1;
}

.mp-app .ukf-maka-theme-actions{
    display: flex;
    justify-content: center;
    margin-top: 16px;
}

.mp-app .ukf-maka-theme-actions .ukf-maka-primary{
    width: 100%;
}

/* Information and difficulty ------------------------------------------- */

.mp-app .ukf-maka-info{
    width: min(760px, 100%);
    margin: 0 auto;
    padding: 28px 20px;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-lg);
    text-align: center;
    background: linear-gradient(145deg, rgba(40, 31, 69, .98), rgba(12, 15, 33, .98));
    box-shadow: var(--maka-shadow);
}

.mp-app .ukf-maka-info-icon{
    margin-bottom: 12px;
    font-size: 48px;
    line-height: 1;
}

.mp-app .ukf-maka-info h2{
    margin: 0;
    color: var(--maka-text);
    font-size: clamp(27px, 8vw, 40px);
}

.mp-app .ukf-maka-info p{
    margin: 12px 0 24px;
    color: var(--maka-muted);
    font-size: 16px;
    line-height: 1.65;
}

.mp-app .ukf-maka-difficulty{
    width: min(1120px, 100%);
    margin: 0 auto;
    padding: 24px 18px;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-lg);
    text-align: center;
    background: linear-gradient(145deg, rgba(37, 30, 64, .98), rgba(12, 15, 33, .98));
    box-shadow: var(--maka-shadow);
}

.mp-app .ukf-maka-difficulty > h2{
    margin: 0;
    color: var(--maka-text);
    font-size: clamp(28px, 8vw, 44px);
}

.mp-app .ukf-maka-difficulty > p{
    margin: 10px auto 22px;
    color: var(--maka-muted);
    line-height: 1.55;
}

.mp-app .ukf-maka-difficulty-grid{
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 20px;
}

.mp-app .ukf-maka-difficulty-grid > button{
    display: grid;
    gap: 12px;
    min-width: 0;
    min-height: 148px;
    padding: 22px 18px;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-md);
    color: var(--maka-text);
    text-align: left;
    background: rgba(255, 255, 255, .035);
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.mp-app .ukf-maka-difficulty-grid > button:hover, .mp-app .ukf-maka-difficulty-grid > button:focus-visible{
    transform: translateY(-3px);
    border-color: var(--maka-border-strong);
    background: rgba(155, 77, 255, .12);
    box-shadow: var(--maka-shadow-soft);
}

.mp-app .ukf-maka-difficulty-grid strong{
    font-size: 21px;
}

.mp-app .ukf-maka-difficulty-grid small{
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-content: start;
    color: var(--maka-muted);
}

.mp-app .ukf-maka-difficulty-grid small > span:not(.ukf-maka-coin-promise){
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .055);
}

.mp-app .ukf-maka-coin-promise{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    width: 100%;
    color: #ead8ff;
    font-weight: 800;
}

.mp-app .ukf-maka-coin-promise img{
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    object-fit: contain;
    filter: drop-shadow(0 2px 7px rgba(255, 196, 45, .28));
}

/* Quiz: HUD -> question -> answers -------------------------------------- */

.mp-app .ukf-maka-quiz{
    display: grid;
    grid-template-areas: "hud" "question";
    grid-template-rows: auto minmax(0, 1fr);
    gap: 10px;
    width: 100%;
    min-width: 0;
    margin: 0 auto;
}

.mp-app .ukf-maka-quiz:has(> .ukf-maka-quiz-notice:not([hidden])){
    grid-template-areas: "notice" "hud" "question";
    grid-template-rows: auto auto minmax(0, 1fr);
}

.mp-app .ukf-maka-quiz-notice{
    grid-area: notice;
    position: sticky;
    z-index: 8;
    top: 10px;
    width: min(100%, 720px);
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0 auto 14px;
    padding: 11px 15px;
    border: 1px solid rgba(255, 222, 125, .72);
    border-radius: 14px;
    background: rgba(34, 27, 62, .96);
    color: #fff6cf;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .32);
    font-weight: 750;
    line-height: 1.4;
    overflow-wrap: anywhere;
    text-align: center;
}

.mp-app .ukf-maka-quiz-notice[hidden]{
    display: none;
}

.mp-app .ukf-maka-quiz-hud{
    grid-area: hud;
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
    min-width: 0;
    margin: 0;
}

.mp-app .ukf-maka-quiz-hud:has(> .ukf-maka-mistakes[hidden]):has(> .ukf-maka-timer[hidden]){
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mp-app .ukf-maka-quiz-hud:has(> .ukf-maka-mistakes[hidden]):has(> .ukf-maka-timer:not([hidden])), .mp-app .ukf-maka-quiz-hud:has(> .ukf-maka-mistakes:not([hidden])):has(> .ukf-maka-timer[hidden]){
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mp-app .ukf-maka-quiz-hud > div:not(.ukf-maka-progress){
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 48px;
    padding: 7px 8px;
    overflow: hidden;
    border: 1px solid var(--maka-border);
    border-radius: 13px;
    text-align: center;
    background: rgba(24, 25, 47, .94);
}

.mp-app .ukf-maka-quiz-hud small{
    display: block;
    width: 100%;
    overflow: hidden;
    color: var(--maka-muted);
    font-size: 9px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.mp-app .ukf-maka-quiz-hud strong{
    display: block;
    width: 100%;
    color: var(--maka-text);
    font-size: 17px;
    line-height: 1.1;
    text-align: center;
}

.mp-app .ukf-maka-quiz-hud strong.is-score-pop{
    animation: makaScorePop .3s ease both;
}

.mp-app .ukf-maka-progress{
    grid-column: 1 / -1;
    height: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
}

.mp-app .ukf-maka-progress > span{
    display: block;
    width: 0;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--maka-primary), var(--maka-secondary));
    box-shadow: 0 0 16px rgba(155, 77, 255, .34);
    transition: width .28s ease;
}

.mp-app .ukf-maka-quiz-hud > .ukf-maka-mistakes.is-danger{
    border-color: rgba(255, 102, 125, .58);
    background: rgba(128, 27, 47, .32);
}

.mp-app .ukf-maka-timer.is-urgent strong{
    color: var(--maka-danger);
    animation: makaTimerPulse .62s ease-in-out infinite alternate;
}

.mp-app .ukf-maka-timer.is-bonus-time strong{
    color: #62e6a5;
    text-shadow: 0 0 15px rgba(98, 230, 165, .28);
}

.mp-app .ukf-maka-active-time-bonus{
    display: block;
    margin-top: 3px;
    color: #62e6a5 !important;
    font-size: 10px !important;
    font-weight: 800;
    line-height: 1.15;
    text-align: center;
    white-space: normal !important;
}

.mp-app .ukf-maka-question-card.is-bonus-question{
    border-color: rgba(255, 214, 107, .72);
    box-shadow: inset 0 0 36px rgba(255, 190, 58, .08);
}

.mp-app .ukf-maka-question-card{
    --maka-question-theme: var(--maka-primary);
    --maka-question-image: none;
    grid-area: question;
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    align-content: start;
    width: 100%;
    min-width: 0;
    min-height: 0;
    padding: 18px 13px 14px;
    overflow: hidden;
    border: 1px solid var(--maka-border-strong);
    border-radius: 20px;
    background:
        radial-gradient(circle at 90% 2%, rgba(155, 77, 255, .14), transparent 34%),
        linear-gradient(145deg, rgba(32, 29, 58, .99), rgba(11, 14, 30, .99));
    box-shadow: var(--maka-shadow);
    isolation: isolate;
}

.mp-app .ukf-maka-question-card::before{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;
    opacity: 0;
    background-image: var(--maka-question-image);
    background-position: center;
    background-size: cover;
    transition: opacity .2s ease;
}

.mp-app .ukf-maka-question-card::after{
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(8, 11, 24, .72), rgba(8, 11, 24, .96)),
        radial-gradient(circle at 94% 0, var(--maka-question-theme), transparent 38%);
    opacity: .42;
    pointer-events: none;
}

.mp-app .ukf-maka-question-card.has-card-image::before{
    opacity: .1;
}

.mp-app .ukf-maka-question-card > .ukf-maka-kicker{
    position: relative;
    z-index: 1;
    color: #dbc2fb;
}

.mp-app .ukf-maka-report-trigger{
    position: absolute;
    z-index: 10021;
    top: 14px;
    left: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    max-width: calc(100% - 150px);
    padding: 8px 15px;
    border: 1px solid rgba(218, 176, 255, .3);
    border-radius: 999px;
    color: #e7d9f7;
    font-size: 13px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
    background: rgba(24, 27, 47, .94);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .22);
    transform: translateX(-50%);
    cursor: pointer;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}

.mp-app .ukf-maka-report-trigger[hidden]{ display: none !important; }

.mp-app .ukf-maka-report-trigger:hover, .mp-app .ukf-maka-report-trigger:focus-visible{
    border-color: rgba(226, 190, 255, .65);
    color: #fff;
    background: rgba(116, 40, 212, .42);
}

.mp-app .ukf-maka-report-trigger.is-sent{
    border-color: rgba(76, 217, 154, .45);
    color: #9ff2c8;
}

.mp-app .ukf-maka-card-title{
    position: relative;
    z-index: 1;
    margin: 0;
    color: #cbb2eb;
    font-size: 15px;
    font-weight: 650;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.mp-app .ukf-maka-card-title:empty{
    display: none;
}

.mp-app .ukf-maka-question-card > h2{
    position: relative;
    z-index: 1;
    max-width: 1100px;
    margin: 14px 0 18px;
    color: var(--maka-text);
    font-size: 20px;
    line-height: 1.25;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.mp-app .ukf-maka-answers{
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    align-content: stretch;
    width: 100%;
    min-width: 0;
}

.mp-app .ukf-maka-answer{
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 58px;
    padding: 9px 11px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 15px;
    color: var(--maka-text);
    text-align: left;
    background: rgba(255, 255, 255, .05);
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.mp-app .ukf-maka-answer:hover:not(:disabled), .mp-app .ukf-maka-answer:focus-visible:not(:disabled){
    transform: translateY(-2px);
    border-color: rgba(203, 158, 255, .56);
    background: rgba(155, 77, 255, .14);
    box-shadow: 0 12px 26px rgba(0, 0, 0, .2);
}

.mp-app .ukf-maka-answer > span{
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 12px;
    color: #eadcff;
    font-size: 14px;
    font-weight: 900;
    background: rgba(155, 77, 255, .24);
}

.mp-app .ukf-maka-answer > strong{
    min-width: 0;
    color: inherit;
    font-size: var(--maka-answer-font, 15px);
    font-weight: 800;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.mp-app .ukf-maka-answer.is-compact > strong{
    --maka-answer-font: 14px;
}

.mp-app .ukf-maka-answer.is-tight > strong{
    --maka-answer-font: 13px;
}

.mp-app .ukf-maka-answer.is-answer-entering{
    animation: makaAnswerIn .28s ease both;
    animation-delay: var(--maka-answer-delay, 0ms);
}

.mp-app .ukf-maka-answer.is-correct{
    border-color: rgba(85, 223, 160, .7);
    background: rgba(31, 151, 93, .24);
    animation: makaAnswerCorrect .46s ease both;
}

.mp-app .ukf-maka-answer.is-correct > span{
    color: #fff;
    background: rgba(31, 151, 93, .72);
}

.mp-app .ukf-maka-answer.is-wrong{
    border-color: rgba(255, 102, 125, .72);
    background: rgba(166, 34, 62, .25);
    animation: makaAnswerWrong .38s ease both;
}

.mp-app .ukf-maka-answer.is-wrong > span{
    color: #fff;
    background: rgba(181, 40, 69, .75);
}

.mp-app .ukf-maka-answer:disabled{
    opacity: .62;
    cursor: default;
}

.mp-app .ukf-maka-answer:disabled.is-correct, .mp-app .ukf-maka-answer:disabled.is-wrong{
    opacity: 1;
}

.mp-app .ukf-maka-answer-actions{
    position: relative;
    z-index: 1;
    display: grid;
    gap: 12px;
    align-self: end;
    min-width: 0;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--maka-border);
}

.mp-app .ukf-maka-answer-actions.is-revealed{
    animation: makaFeedbackIn .24s ease both;
}

.mp-app .ukf-maka-answer-actions > strong{
    font-size: 18px;
    text-align: center;
}

.mp-app .ukf-maka-answer-actions > strong.is-correct{
    color: var(--maka-success);
}

.mp-app .ukf-maka-answer-actions > strong.is-wrong{
    color: var(--maka-danger);
}

.mp-app .ukf-maka-feedback-text{
    max-width: 760px;
    margin: 0 auto;
    color: var(--maka-muted);
    font-size: 16px;
    line-height: 1.55;
    text-align: center;
}

.mp-app .ukf-maka-answer-actions > div{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.mp-app .ukf-maka-question-card.is-question-entering{
    animation: makaQuestionIn .32s ease both;
}

.mp-app .ukf-maka-streak-float{
    position: fixed;
    top: 70px;
    left: 50%;
    z-index: 10030;
    width: max-content;
    max-width: calc(100vw - 28px);
    padding: 13px 22px;
    border: 1px solid rgba(255, 211, 106, .5);
    border-radius: 999px;
    color: #fff3c4;
    font-size: 18px;
    font-weight: 900;
    background: rgba(37, 24, 56, .96);
    box-shadow: var(--maka-shadow-soft);
    opacity: 0;
    transform: translate(-50%, -12px) scale(.94);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}

.mp-app .ukf-maka-streak-float.is-visible{
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
}

.mp-app .ukf-maka-streak-float.is-combo{
    color: var(--maka-warning);
    border-color: rgba(255, 211, 106, .78);
}

/* Dialogs --------------------------------------------------------------- */

.mp-app .ukf-maka-explanation-modal, .mp-app .ukf-maka-event-modal, .mp-app .ukf-maka-report-modal{
    position: fixed;
    inset: 0;
    z-index: 10040;
    display: grid;
    place-items: center;
    padding: 12px;
    overflow-y: auto;
    background: rgba(5, 7, 17, .8);
    backdrop-filter: blur(8px);
    opacity: 0;
    transition: opacity .18s ease;
}

.mp-app .ukf-maka-explanation-modal.is-open, .mp-app .ukf-maka-event-modal.is-open, .mp-app .ukf-maka-report-modal.is-open{
    opacity: 1;
}

.mp-app .ukf-maka-explanation-dialog, .mp-app .ukf-maka-event-dialog, .mp-app .ukf-maka-report-dialog{
    position: relative;
    width: min(620px, 100%);
    max-height: min(86vh, 760px);
    padding: 26px 20px 20px;
    overflow-y: auto;
    border: 1px solid var(--maka-border-strong);
    border-radius: 22px;
    color: var(--maka-text);
    text-align: center;
    background: linear-gradient(145deg, rgba(40, 31, 69, .99), rgba(11, 14, 30, .99));
    box-shadow: 0 34px 100px rgba(0, 0, 0, .55);
    transform: translateY(10px) scale(.98);
    transition: transform .18s ease;
}

.mp-app .ukf-maka-event-dialog{
    min-width: 0;
}

.mp-app .is-open > .ukf-maka-explanation-dialog, .mp-app .is-open > .ukf-maka-event-dialog, .mp-app .is-open > .ukf-maka-report-dialog{
    transform: none;
}

.mp-app .ukf-maka-explanation-close{
    position: absolute;
    top: 10px;
    right: 10px;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--maka-border);
    border-radius: 50%;
    color: var(--maka-text);
    font-size: 25px;
    line-height: 1;
    background: rgba(255, 255, 255, .06);
    cursor: pointer;
}

.mp-app .ukf-maka-explanation-dialog h2, .mp-app .ukf-maka-event-dialog h2, .mp-app .ukf-maka-report-dialog h2{
    margin: 5px 0 10px;
    color: var(--maka-text);
    font-size: clamp(26px, 8vw, 38px);
    line-height: 1.18;
}

.mp-app .ukf-maka-event-dialog h2{
    max-width: 100%;
    overflow-wrap: anywhere;
}

.mp-app .ukf-maka-explanation-dialog p, .mp-app .ukf-maka-event-dialog p, .mp-app .ukf-maka-report-dialog p{
    margin: 0 0 20px;
    color: #d3cede;
    font-size: 16px;
    line-height: 1.62;
}

.mp-app .ukf-maka-event-modal, .mp-app .ukf-maka-event-modal *, .mp-app .ukf-maka-report-modal, .mp-app .ukf-maka-report-modal *{
    box-sizing: border-box;
}

.mp-app .ukf-maka-report-dialog{
    display: grid;
    gap: 14px;
    text-align: left;
}

.mp-app .ukf-maka-report-dialog .ukf-maka-kicker, .mp-app .ukf-maka-report-dialog h2{
    padding-right: 38px;
}

.mp-app .ukf-maka-report-dialog h2{
    margin-bottom: 0;
    font-size: clamp(24px, 7vw, 34px);
}

.mp-app .ukf-maka-report-dialog .ukf-maka-report-question{
    margin: 0;
    padding: 12px 14px;
    border-left: 3px solid var(--maka-primary-soft);
    border-radius: 10px;
    color: #eee9f5;
    font-size: 14px;
    font-weight: 750;
    line-height: 1.45;
    background: rgba(155, 77, 255, .1);
}

.mp-app .ukf-maka-report-dialog label{
    display: grid;
    gap: 6px;
    color: #ece7f3;
    font-size: 13px;
    font-weight: 800;
}

.mp-app .ukf-maka-report-dialog label small{
    color: var(--maka-muted);
    font-weight: 500;
}

.mp-app .ukf-maka-report-dialog select, .mp-app .ukf-maka-report-dialog textarea{
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--maka-border-strong);
    border-radius: 11px;
    color: var(--maka-text);
    font: inherit;
    background: rgba(7, 10, 23, .82);
}

.mp-app .ukf-maka-report-dialog select option{
    color: #161225;
    background: #fff;
}

.mp-app .ukf-maka-report-dialog [data-maka-report-status]{
    min-height: 20px;
    margin: 0;
    font-size: 13px;
}

.mp-app .ukf-maka-report-dialog [data-maka-report-status].is-success{ color: var(--maka-success); }
.mp-app .ukf-maka-report-dialog [data-maka-report-status].is-error{ color: var(--maka-danger); }

.mp-app .ukf-maka-report-actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.mp-app .ukf-maka-learning-links{
    margin-bottom: 12px;
}

.mp-app .ukf-maka-event-icon{
    margin-bottom: 7px;
    font-size: 48px;
    line-height: 1;
}

.mp-app .ukf-maka-event-actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
}

.mp-app .ukf-maka-event-modal.is-spinning .ukf-maka-event-icon{
    animation: makaFateSpin .9s ease-in-out infinite;
}

/* Reader ---------------------------------------------------------------- */

.mp-app .ukf-maka-reader{
    width: min(1080px, 100%);
    min-width: 0;
    margin: 0 auto;
    color: var(--maka-text);
}

.mp-app .ukf-maka-reader-loading, .mp-app .ukf-maka-reader-error{
    padding: 34px 20px;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-lg);
    text-align: center;
    background: linear-gradient(145deg, rgba(37, 30, 64, .99), rgba(12, 15, 33, .99));
    box-shadow: var(--maka-shadow);
}

.mp-app .ukf-maka-reader-error{
    color: #ffd0d7;
    border-color: rgba(255, 102, 125, .45);
}

.mp-app .ukf-maka-reader-content{
    overflow: hidden;
    border: 1px solid var(--maka-border);
    border-radius: 22px;
    background: linear-gradient(180deg, #111a2f 0%, #0c1325 100%);
    box-shadow: var(--maka-shadow);
}

.mp-app .ukf-maka-reader-image-wrap{
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, .07);
    background: #090f1f;
}

.mp-app .ukf-maka-reader-image-wrap img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.mp-app .ukf-maka-reader-timeline{
    padding: 9px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, .06);
    color: #e2c97e;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
    background: rgba(25, 37, 61, .96);
}

.mp-app .ukf-maka-reader-header{
    padding: 24px 20px 14px;
    text-align: center;
}

.mp-app .ukf-maka-reader-theme{
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 13px;
    padding: 7px 12px;
    border: 1px solid var(--maka-theme-color, var(--maka-primary));
    border-radius: 999px;
    color: var(--maka-text);
    font-size: 11px;
    font-weight: 900;
    background: rgba(155, 77, 255, .18);
}

.mp-app .ukf-maka-reader-header h2{
    margin: 0;
    color: var(--maka-text);
    font-size: clamp(30px, 9vw, 48px);
    line-height: 1.12;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.mp-app .ukf-maka-reader-type{
    display: inline-block;
    margin-top: 13px;
    padding: 6px 14px;
    border-radius: 999px;
    color: #dce7ff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
    background: #30466f;
}

.mp-app .ukf-maka-reader-short{
    padding: 0 20px 8px;
    color: #f2eef8;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
}

.mp-app .ukf-maka-reader-body{
    padding: 12px 20px 30px;
    color: #d3d0dc;
    font-size: 15px;
    line-height: 1.72;
    overflow-wrap: anywhere;
}

.mp-app .ukf-maka-reader-body h2, .mp-app .ukf-maka-reader-body h3, .mp-app .ukf-maka-reader-body h4{
    margin: 1.5em 0 .55em;
    color: var(--maka-text);
    line-height: 1.25;
}

.mp-app .ukf-maka-reader-body p:first-child{
    margin-top: 0;
}

.mp-app .ukf-maka-reader-body p:last-child{
    margin-bottom: 0;
}

.mp-app .ukf-maka-reader-body a{
    color: #d5b4ff;
}

.mp-app .ukf-maka-reader-meta{
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
    margin: 0 20px 24px;
    padding: 18px;
    border: 1px solid var(--maka-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
}

.mp-app .ukf-maka-reader-meta dt{
    color: var(--maka-muted);
    font-weight: 800;
}

.mp-app .ukf-maka-reader-meta dd{
    margin: 0;
    color: var(--maka-text);
    font-weight: 700;
}

.mp-app .ukf-maka-reader-meta dd + dt{
    margin-top: 10px;
}

.mp-app .ukf-maka-reader-tags{
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 20px 28px;
}

.mp-app .ukf-maka-reader-tags span{
    padding: 7px 11px;
    border: 1px solid var(--maka-border);
    border-radius: 999px;
    color: #dbc1ff;
    font-size: 12px;
    font-weight: 800;
    background: rgba(155, 77, 255, .11);
}

/* Leaderboard ----------------------------------------------------------- */

.mp-app .ukf-maka-leaderboard{
    width: min(1080px, 100%);
    min-width: 0;
    margin: 0 auto;
    padding: 24px 16px;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-lg);
    background: linear-gradient(145deg, rgba(37, 30, 64, .99), rgba(12, 15, 33, .99));
    box-shadow: var(--maka-shadow);
}

.mp-app .ukf-maka-leaderboard-head{
    margin-bottom: 20px;
    text-align: center;
}

.mp-app .ukf-maka-leaderboard-head h2{
    margin: 4px 0 7px;
    color: var(--maka-text);
    font-size: clamp(29px, 8vw, 44px);
    line-height: 1.15;
}

.mp-app .ukf-maka-leaderboard-head p{
    margin: 0;
    color: var(--maka-muted);
}

.mp-app .ukf-maka-board-panel{
    min-width: 0;
}

.mp-app .ukf-maka-my-stats{
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-bottom: 16px;
}

.mp-app .ukf-maka-my-stats > div{
    padding: 14px;
    border: 1px solid var(--maka-border);
    border-radius: 15px;
    text-align: center;
    background: rgba(255, 255, 255, .035);
}

.mp-app .ukf-maka-my-stats small{
    display: block;
    margin-bottom: 3px;
    color: var(--maka-muted);
}

.mp-app .ukf-maka-my-stats strong{
    font-size: 22px;
}

.mp-app .ukf-maka-ranking{
    display: grid;
    gap: 10px;
    margin-bottom: 20px;
}

.mp-app .ukf-maka-ranking-row{
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 10px 12px;
    align-items: center;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--maka-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, .03);
}

.mp-app .ukf-maka-rank{
    align-self: center;
    font-size: 22px;
    text-align: center;
}

.mp-app .ukf-maka-ranking-player{
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.mp-app .ukf-maka-ranking-player strong{
    overflow-wrap: anywhere;
    font-size: 16px;
}

.mp-app .ukf-maka-ranking-player > span{
    color: #e4d4f8;
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.mp-app .ukf-maka-ranking-metrics{
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.mp-app .ukf-maka-ranking-metrics > span{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    padding: 8px;
    border: 1px solid var(--maka-border);
    border-radius: 13px;
    text-align: center;
    background: rgba(255, 255, 255, .035);
}

.mp-app .ukf-maka-ranking-metrics small{
    margin-bottom: 2px;
    color: var(--maka-muted);
    font-size: 10px;
}

.mp-app .ukf-maka-ranking-metrics b{
    color: var(--maka-text);
    font-size: 13px;
    line-height: 1.2;
}

.mp-app .ukf-maka-board-loading, .mp-app .ukf-maka-board-empty{
    padding: 32px 14px;
    color: var(--maka-muted);
    text-align: center;
}

.mp-app .ukf-maka-leaderboard > .ukf-maka-secondary{
    margin-top: 4px;
}

/* Result ---------------------------------------------------------------- */

.mp-app .ukf-maka-result{
    width: min(920px, 100%);
    min-width: 0;
    margin: 0 auto;
    padding: 24px 14px 20px;
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-lg);
    color: var(--maka-text);
    text-align: center;
    background:
        radial-gradient(circle at 50% 0, rgba(155, 77, 255, .18), transparent 38%),
        linear-gradient(145deg, rgba(37, 30, 64, .99), rgba(12, 15, 33, .99));
    box-shadow: var(--maka-shadow);
}

.mp-app .ukf-maka-result.is-game-over{
    border-color: rgba(255, 102, 125, .46);
    background:
        radial-gradient(circle at 50% 0, rgba(255, 102, 125, .14), transparent 38%),
        linear-gradient(145deg, rgba(48, 25, 48, .99), rgba(12, 15, 33, .99));
}

.mp-app .ukf-maka-result-icon{
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    margin: 0 auto 10px;
    border-radius: 21px;
    font-size: 37px;
    background: linear-gradient(145deg, var(--maka-primary), var(--maka-secondary));
    box-shadow: 0 16px 38px rgba(116, 40, 212, .3);
}

.mp-app .ukf-maka-result h2{
    margin: 6px 0 12px;
    color: var(--maka-text);
    font-size: clamp(27px, 8vw, 42px);
    line-height: 1.15;
}

.mp-app .ukf-maka-result-score{
    display: grid;
    gap: 7px;
    width: min(560px, 100%);
    margin: 0 auto;
    padding: 16px 12px;
    border: 1px solid var(--maka-border);
    border-radius: 19px;
    background: rgba(155, 77, 255, .09);
}

.mp-app .ukf-maka-result-score > strong{
    color: var(--maka-text);
    font-size: clamp(36px, 12vw, 58px);
    line-height: 1;
}

.mp-app .ukf-maka-result-score > span{
    color: #dbc1ff;
    font-weight: 800;
}

.mp-app .ukf-maka-result-score [data-maka-save-status]{
    display: block;
    margin-top: 6px;
    color: var(--maka-muted);
    font-size: 12px;
}

.mp-app .ukf-maka-result-score [data-maka-save-status].is-success{
    color: var(--maka-success);
}

.mp-app .ukf-maka-result-score [data-maka-save-status].is-error{
    color: var(--maka-danger);
}

.mp-app .ukf-maka-result-share{
    display: grid;
    justify-items: center;
    gap: 7px;
    width: min(560px, 100%);
    margin: 14px auto 0;
}

.mp-app .ukf-maka-result-share > button{
    width: 100%;
}

.mp-app .ukf-maka-result-share > button:focus-visible{
    box-shadow: var(--maka-focus);
}

.mp-app .ukf-maka-result-share > small{
    min-height: 18px;
    color: var(--maka-muted);
    font-size: 13px;
}

.mp-app .ukf-maka-result-share > small.is-success{
    color: var(--maka-success);
}

.mp-app .ukf-maka-result-share > small.is-error{
    color: var(--maka-danger);
}

.mp-app .ukf-maka-result-stats{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
    margin: 12px auto 0;
}

.mp-app .ukf-maka-result-stats > div{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 52px;
    padding: 7px 5px;
    border-radius: 11px;
    text-align: center;
    background: rgba(255, 255, 255, .045);
}

.mp-app .ukf-maka-result-stats small{
    margin-bottom: 2px;
    color: var(--maka-muted);
    font-size: 9px;
}

.mp-app .ukf-maka-result-stats strong{
    font-size: 16px;
}

.mp-app .ukf-maka-coins{
    display: grid;
    gap: 7px;
    margin: 10px 0 0;
    color: var(--maka-text);
    font-size: 13px;
    line-height: 1.35;
    text-align: left;
}

.mp-app .ukf-maka-coins > em{
    display: block;
    margin-bottom: 3px;
    color: #ffe4a3;
    font-style: normal;
    font-weight: 900;
    text-align: center;
}

.mp-app .ukf-maka-coins > span{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.mp-app .ukf-maka-coins > span b{
    color: #e1dce9;
    font-weight: 700;
}

.mp-app .ukf-maka-coins > span strong{
    color: #ffe4a3;
    white-space: nowrap;
}

.mp-app .ukf-maka-coins .ukf-maka-coins-total{
    margin-top: 4px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 228, 163, .22);
    font-size: 15px;
}

.mp-app .ukf-maka-raffle{
    width: min(680px, 100%);
    margin: 16px auto 0;
    padding: 18px 14px;
    border: 1px solid rgba(255, 211, 106, .34);
    border-radius: 18px;
    text-align: left;
    background:
        radial-gradient(circle at 100% 0, rgba(255, 211, 106, .12), transparent 42%),
        rgba(10, 13, 29, .72);
}

.mp-app .ukf-maka-raffle > .ukf-maka-kicker{ color: #ffe4a3; }

.mp-app .ukf-maka-raffle h3{
    margin: 5px 0 6px;
    color: var(--maka-text);
    font-size: clamp(21px, 6vw, 29px);
    line-height: 1.2;
}

.mp-app .ukf-maka-raffle > p{
    margin: 0 0 14px;
    color: var(--maka-muted);
    line-height: 1.5;
}

.mp-app .ukf-maka-raffle form, .mp-app .ukf-maka-raffle form > label{
    display: grid;
    gap: 7px;
}

.mp-app .ukf-maka-raffle form{ gap: 12px; }

.mp-app .ukf-maka-raffle form label{
    color: #ece7f3;
    font-size: 13px;
    font-weight: 800;
}

.mp-app .ukf-maka-raffle input[type="text"], .mp-app .ukf-maka-raffle input[type="email"], .mp-app .ukf-maka-raffle input[type="tel"]{
    width: 100%;
    padding: 11px 12px;
    border: 1px solid var(--maka-border-strong);
    border-radius: 10px;
    color: var(--maka-text);
    font: inherit;
    background: rgba(5, 8, 20, .78);
}

.mp-app .ukf-maka-raffle-fields{
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.mp-app .ukf-maka-raffle form > small{
    margin-top: -6px;
    color: var(--maka-muted);
}

.mp-app .ukf-maka-raffle .ukf-maka-raffle-consent{
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 9px;
    color: #d8d2e1;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.45;
}

.mp-app .ukf-maka-raffle-consent input{ margin: 3px 0 0; }

.mp-app .ukf-maka-raffle-actions{
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
}

.mp-app .ukf-maka-raffle [data-maka-raffle-status]{
    min-height: 18px;
    margin: 0;
    color: var(--maka-muted);
    font-size: 13px;
    text-align: center;
}

.mp-app .ukf-maka-raffle [data-maka-raffle-status].is-error{ color: var(--maka-danger); }

.mp-app .ukf-maka-raffle-success{
    display: grid;
    gap: 5px;
    padding: 16px;
    border: 1px solid rgba(76, 217, 154, .35);
    border-radius: 13px;
    color: #a9f3ce;
    text-align: center;
    background: rgba(35, 174, 107, .1);
}

.mp-app .ukf-maka-raffle-success strong{ font-size: 18px; }
.mp-app .ukf-maka-raffle-success span{ color: #d7f8e8; }

.mp-app .ukf-maka-result-actions{
    display: flex;
    flex-direction: column-reverse;
    gap: 8px;
    justify-content: center;
    margin-top: 14px;
}

/* Animations ------------------------------------------------------------ */

@keyframes makaScreenIn{
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes makaQuestionIn{
    from { opacity: .55; transform: translateY(8px) scale(.992); }
    to { opacity: 1; transform: none; }
}

@keyframes makaAnswerIn{
    from { opacity: 0; transform: translateY(7px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes makaFeedbackIn{
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes makaAnswerCorrect{
    50% { transform: scale(1.018); box-shadow: 0 0 28px rgba(85, 223, 160, .32); }
}

@keyframes makaAnswerWrong{
    20%, 60% { transform: translateX(-6px); }
    40%, 80% { transform: translateX(6px); }
}

@keyframes makaTimerPulse{
    to { transform: scale(1.1); }
}

@keyframes makaScorePop{
    50% { color: #ead8ff; transform: scale(1.16); }
}

@keyframes makaFateSpin{
    to { transform: rotate(360deg) scale(1.06); }
}

/* Tablet: 680 px -------------------------------------------------------- */

@media (min-width: 680px){
    .mp-app #ukf-ma-projector.is-academy [data-ma-close]{
        top: 18px !important;
    }

    .mp-app #ukf-ma-projector.is-academy [data-ma-close]{
        right: 18px !important;
    }

    .mp-app #ukf-ma-projector.is-academy .ukf-maka-report-trigger{
        top: 18px;
    }

    .mp-app .ukf-maka-shell{
        width: 94%;
        padding: 82px 0 34px;
    }

    .mp-app .ukf-maka-kicker{
        font-size: 11px;
    }

    .mp-app .ukf-maka-primary, .mp-app .ukf-maka-secondary, .mp-app .ukf-maka-reader-button, .mp-app .ukf-maka-launchpad-button{
        min-height: 48px;
        padding-inline: 22px;
        font-size: 16px;
    }

    .mp-app .ukf-maka-launchpad-main{
        grid-template-columns: auto minmax(0, 1fr);
        gap: 20px;
        padding: 26px;
        text-align: left;
    }

    .mp-app .ukf-maka-launchpad-icon{
        grid-row: 1 / 3;
        margin: 0;
    }

    .mp-app .ukf-maka-launchpad-button{
        grid-column: 1 / -1;
    }

    .mp-app .ukf-maka-hero{
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 17px;
        padding: 19px 22px;
        border-radius: 22px;
    }

    .mp-app .ukf-maka-mark{
        width: 58px;
        height: 58px;
        border-radius: 17px;
        font-size: 29px;
    }

    .mp-app .ukf-maka-hero h2{
        font-size: 29px;
    }

    .mp-app .ukf-maka-hero p{
        font-size: 14px;
    }

    .mp-app .ukf-maka-dashboard{
        gap: 16px;
        margin-top: 16px;
    }

    .mp-app .ukf-maka-stat-grid{
        gap: 14px;
    }

    .mp-app .ukf-maka-stat{
        grid-template-columns: auto minmax(0, 1fr);
        gap: 3px 10px;
        justify-items: stretch;
        min-height: 100px;
        padding: 18px;
        text-align: left;
    }

    .mp-app .ukf-maka-stat > span{
        grid-row: 1 / 3;
        font-size: 31px;
    }

    .mp-app .ukf-maka-stat strong{
        align-self: end;
        font-size: 16px;
    }

    .mp-app .ukf-maka-stat small{
        display: block;
        font-size: 12px;
    }

    .mp-app .ukf-maka-games{
        padding: 24px;
    }

    .mp-app .ukf-maka-theme-grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    .mp-app .ukf-maka-theme-choice{
        min-height: 118px;
        padding: 17px 12px;
    }

    .mp-app .ukf-maka-theme-actions .ukf-maka-primary{
        width: auto;
    }

    .mp-app .ukf-maka-info{
        padding: 44px;
    }

    .mp-app .ukf-maka-difficulty{
        padding: 34px;
    }

    .mp-app .ukf-maka-difficulty-grid{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
    }

    .mp-app .ukf-maka-quiz{
        gap: 12px;
    }

    .mp-app .ukf-maka-quiz-hud{
        gap: 9px;
    }

    .mp-app .ukf-maka-quiz-hud > div:not(.ukf-maka-progress){
        min-height: 56px;
        padding: 8px 12px;
        border-radius: 15px;
    }

    .mp-app .ukf-maka-quiz-hud small{
        font-size: 10px;
    }

    .mp-app .ukf-maka-quiz-hud strong{
        font-size: 19px;
    }

    .mp-app .ukf-maka-progress{
        height: 10px;
    }

    .mp-app .ukf-maka-question-card{
        padding: 28px;
        border-radius: 24px;
    }

    .mp-app .ukf-maka-card-title{
        font-size: 17px;
    }

    .mp-app .ukf-maka-question-card > h2{
        margin: 18px 0 24px;
        font-size: 26px;
    }

    .mp-app .ukf-maka-answers{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .mp-app .ukf-maka-answer{
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 13px;
        min-height: 82px;
        padding: 13px 16px;
        border-radius: 17px;
    }

    .mp-app .ukf-maka-answer > span{
        width: 44px;
        height: 44px;
        font-size: 16px;
    }

    .mp-app .ukf-maka-answer > strong{
        --maka-answer-font: 17px;
    }

    .mp-app .ukf-maka-answer.is-compact > strong{
        --maka-answer-font: 16px;
    }

    .mp-app .ukf-maka-answer.is-tight > strong{
        --maka-answer-font: 15px;
    }

    .mp-app .ukf-maka-answer-actions{
        grid-template-columns: 1fr;
        align-items: center;
        justify-items: center;
    }

    .mp-app .ukf-maka-answer-actions > div{
        grid-template-columns: repeat(2, auto);
        grid-column: 1;
        justify-self: center;
    }

    .mp-app .ukf-maka-event-actions{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mp-app .ukf-maka-explanation-dialog, .mp-app .ukf-maka-event-dialog, .mp-app .ukf-maka-report-dialog{
        padding: 34px 32px 28px;
        border-radius: 26px;
    }

    .mp-app .ukf-maka-reader-content{
        border-radius: 26px;
    }

    .mp-app .ukf-maka-reader-image-wrap{
        aspect-ratio: 16 / 9;
    }

    .mp-app .ukf-maka-reader-header{
        padding: 30px 40px 16px;
    }

    .mp-app .ukf-maka-reader-short, .mp-app .ukf-maka-reader-body{
        padding-right: 40px;
        padding-left: 40px;
    }

    .mp-app .ukf-maka-reader-short{
        font-size: 18px;
        text-align: center;
    }

    .mp-app .ukf-maka-reader-body{
        font-size: 16px;
    }

    .mp-app .ukf-maka-reader-meta{
        grid-template-columns: max-content 1fr;
        gap: 8px 18px;
        margin-right: 40px;
        margin-left: 40px;
    }

    .mp-app .ukf-maka-reader-meta dd + dt{
        margin-top: 0;
    }

    .mp-app .ukf-maka-reader-tags{
        padding-right: 40px;
        padding-left: 40px;
    }

    .mp-app .ukf-maka-leaderboard{
        padding: 32px;
    }

    .mp-app .ukf-maka-my-stats{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }

    .mp-app .ukf-maka-ranking-row{
        grid-template-columns: 48px minmax(0, 1fr) minmax(210px, auto);
        gap: 12px 14px;
        padding: 15px 17px;
    }

    .mp-app .ukf-maka-ranking-metrics{
        grid-column: auto;
        min-width: 210px;
    }

    .mp-app .ukf-maka-result{
        padding: 34px;
    }

    .mp-app .ukf-maka-result-icon{
        width: 82px;
        height: 82px;
        font-size: 44px;
    }

    .mp-app .ukf-maka-result-score{
        padding: 20px;
    }

    .mp-app .ukf-maka-result-stats > div{
        min-height: 58px;
    }

    .mp-app .ukf-maka-raffle{ padding: 22px; }

    .mp-app .ukf-maka-raffle-fields, .mp-app .ukf-maka-raffle-actions{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mp-app .ukf-maka-result-actions{
        flex-direction: row;
    }
}

/* Desktop: 1024 px ------------------------------------------------------ */

@media (min-width: 1024px){
    /* DESKTOP HOTFIX v2.1.2: mobiilin toimivaa headeria ei muuteta.
       PC:llä virheilmoitus pysyy kompaktina nuolen ja sulkemisnapin välissä. */
    .mp-app #ukf-ma-projector.is-academy .ukf-maka-report-trigger{
        width: min(260px, calc(100% - 180px));
        max-width: 260px;
    }

    /* Yhden toiminnon tapahtumamodaali (esim. Kohtalo) käyttää yhtä keskitettyä CTA:ta
       eikä kaksipalstaisen nappirivin puolikasta. */
    .mp-app .ukf-maka-event-actions:has(> :only-child){
        grid-template-columns: minmax(220px, 360px);
        justify-content: center;
    }

    .mp-app #ukf-ma-projector.is-academy [data-ma-close]{
        top: 20px !important;
    }

    .mp-app #ukf-ma-projector.is-academy [data-ma-close]{
        right: 22px !important;
    }

    .mp-app .ukf-maka-shell{
        width: 90%;
        max-width: 1600px;
        padding: 68px 0 36px;
    }

    .mp-app .ukf-maka-launchpad-main{
        grid-template-columns: auto minmax(0, 1fr) auto;
        padding: 30px;
    }

    .mp-app .ukf-maka-launchpad-icon{
        grid-row: auto;
        width: 68px;
        height: 68px;
        font-size: 35px;
    }

    .mp-app .ukf-maka-launchpad-button{
        grid-column: auto;
    }

    .mp-app .ukf-maka-hero{
        grid-template-columns: 64px minmax(0, 1fr);
        padding: 22px 28px;
        border-radius: 24px;
    }

    .mp-app .ukf-maka-mark{
        width: 64px;
        height: 64px;
        border-radius: 19px;
        font-size: 32px;
    }

    .mp-app .ukf-maka-hero h2{
        font-size: 34px;
    }

    .mp-app .ukf-maka-dashboard{
        grid-template-columns: minmax(250px, .32fr) minmax(0, 1fr);
        align-items: start;
        gap: 18px;
        margin-top: 18px;
    }

    .mp-app .ukf-maka-stat-grid{
        grid-template-columns: 1fr;
    }

    .mp-app .ukf-maka-stat{
        min-height: 126px;
        padding: 22px;
    }

    .mp-app .ukf-maka-games{
        min-height: 100%;
        padding: 28px;
    }

    .mp-app .ukf-maka-theme-grid{
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .mp-app .ukf-maka-theme-choice{
        min-height: 130px;
    }

    .mp-app .ukf-maka-theme-icon{
        font-size: 30px;
    }

    .mp-app .ukf-maka-difficulty-grid > button{
        min-height: 190px;
        padding: 28px;
    }

    .mp-app .ukf-maka-quiz{
        width: 100%;
        gap: 14px;
    }

    .mp-app .ukf-maka-quiz-hud{
        gap: 11px;
    }

    .mp-app .ukf-maka-quiz-hud > div:not(.ukf-maka-progress){
        min-height: 66px;
        border-radius: 18px;
    }

    .mp-app .ukf-maka-quiz-hud small{
        font-size: 12px;
    }

    .mp-app .ukf-maka-quiz-hud strong{
        margin-top: 2px;
        font-size: 23px;
    }

    .mp-app .ukf-maka-progress{
        height: 11px;
    }

    .mp-app .ukf-maka-question-card{
        grid-template-rows: auto auto auto auto auto;
        min-height: clamp(480px, calc(100dvh - 260px), 540px);
        padding: 38px 42px;
        border-radius: 28px;
    }

    .mp-app .ukf-maka-question-card > .ukf-maka-kicker{
        font-size: 11px;
    }

    .mp-app .ukf-maka-card-title{
        margin-top: 3px;
        font-size: 18px;
    }

    .mp-app .ukf-maka-question-card > h2{
        width: min(1100px, 100%);
        margin: 22px 0 30px;
        margin-right: auto;
        margin-left: auto;
        font-size: clamp(22px, 1.65vw, 27px);
        line-height: 1.2;
        text-align: center;
    }

    .mp-app .ukf-maka-answers{
        grid-auto-rows: minmax(86px, auto);
        gap: 14px;
        align-content: start;
    }

    .mp-app .ukf-maka-answer{
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 15px;
        min-height: 86px;
        padding: 14px 18px;
        border-radius: 19px;
    }

    .mp-app .ukf-maka-answer > span{
        width: 48px;
        height: 48px;
        border-radius: 15px;
        font-size: 18px;
    }

    .mp-app .ukf-maka-answer > strong{
        --maka-answer-font: 18px;
        line-height: 1.32;
    }

    .mp-app .ukf-maka-answer.is-compact > strong{
        --maka-answer-font: 17px;
    }

    .mp-app .ukf-maka-answer.is-tight > strong{
        --maka-answer-font: 15px;
    }

    .mp-app .ukf-maka-answer-actions{
        margin-top: 22px;
        padding-top: 18px;
    }

    .mp-app .ukf-maka-answer-actions > strong{
        font-size: 20px;
    }

    .mp-app .ukf-maka-reader{
        width: min(1140px, 100%);
    }

    .mp-app .ukf-maka-reader-image-wrap{
        max-height: 520px;
        aspect-ratio: 16 / 7;
    }

    .mp-app .ukf-maka-reader-header{
        padding: 42px 64px 20px;
    }

    .mp-app .ukf-maka-reader-header h2{
        font-size: clamp(42px, 4vw, 60px);
    }

    .mp-app .ukf-maka-reader-short, .mp-app .ukf-maka-reader-body{
        padding-right: 10%;
        padding-left: 10%;
    }

    .mp-app .ukf-maka-reader-short{
        font-size: 21px;
    }

    .mp-app .ukf-maka-reader-body{
        padding-bottom: 48px;
        font-size: 18px;
        line-height: 1.8;
    }

    .mp-app .ukf-maka-reader-meta{
        margin-right: 10%;
        margin-left: 10%;
        padding: 22px;
    }

    .mp-app .ukf-maka-reader-tags{
        padding-right: 10%;
        padding-bottom: 42px;
        padding-left: 10%;
    }

    .mp-app .ukf-maka-leaderboard{
        width: min(1180px, 100%);
        padding: 42px;
    }

    .mp-app .ukf-maka-ranking-row{
        grid-template-columns: 56px minmax(0, 1fr) minmax(260px, auto);
        padding: 18px 20px;
    }

    .mp-app .ukf-maka-ranking-player strong{
        font-size: 18px;
    }

    .mp-app .ukf-maka-ranking-metrics{
        min-width: 260px;
        gap: 10px;
    }

    .mp-app .ukf-maka-ranking-metrics > span{
        min-height: 62px;
    }

    .mp-app .ukf-maka-result{
        padding: 46px;
    }
}

/* Wide desktop: 1440 px ------------------------------------------------- */

@media (min-width: 1440px){
    .mp-app .ukf-maka-shell{
        width: 90%;
        max-width: 1600px;
        padding-top: 64px;
    }

    .mp-app .ukf-maka-hero{
        padding: 24px 34px;
    }

    .mp-app .ukf-maka-dashboard{
        grid-template-columns: 340px minmax(0, 1fr);
        gap: 22px;
    }

    .mp-app .ukf-maka-theme-grid{
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 14px;
    }

    .mp-app .ukf-maka-theme-choice{
        min-height: 142px;
    }

    .mp-app .ukf-maka-question-card{
        min-height: clamp(500px, calc(100dvh - 260px), 560px);
        padding: 46px 52px;
    }

    .mp-app .ukf-maka-card-title{
        font-size: 20px;
    }

    .mp-app .ukf-maka-question-card > h2{
        margin-top: 28px;
        margin-bottom: 36px;
        font-size: clamp(24px, 1.55vw, 29px);
    }

    .mp-app .ukf-maka-answers{
        grid-auto-rows: minmax(92px, auto);
        gap: 16px;
    }

    .mp-app .ukf-maka-answer{
        min-height: 92px;
        padding: 16px 20px;
    }

    .mp-app .ukf-maka-answer > strong{
        --maka-answer-font: 19px;
    }

    .mp-app .ukf-maka-answer.is-compact > strong{
        --maka-answer-font: 18px;
    }

    .mp-app .ukf-maka-answer.is-tight > strong{
        --maka-answer-font: 16px;
    }

    .mp-app .ukf-maka-reader{
        width: min(1240px, 100%);
    }

    .mp-app .ukf-maka-leaderboard{
        width: min(1240px, 100%);
    }
}

/* Accessibility --------------------------------------------------------- */

@media (prefers-reduced-motion: reduce){
    .mp-app .ukf-maka-screen, .mp-app .ukf-maka-question-card, .mp-app .ukf-maka-answer, .mp-app .ukf-maka-answer-actions, .mp-app .ukf-maka-timer.is-urgent strong, .mp-app .ukf-maka-quiz-hud strong.is-score-pop, .mp-app .ukf-maka-event-modal.is-spinning .ukf-maka-event-icon{
        animation: none !important;
    }

    .mp-app .ukf-maka-view *, .mp-app .ukf-maka-launchpad *{
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
    }
}

/* ================================================================
   v2.1.3 – LEADERBOARDIN TASOVÄLILEHDET
   Näyttää adminissa aktivoidut Aloittelija / Opiskelija / Mestari -listat
   erillisinä, jotta eri pituisia pelimuotoja ei verrata keskenään.
   ================================================================ */
.mp-app .ukf-maka-board-tabs{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 16px;
}
.mp-app .ukf-maka-board-tabs[hidden]{ display: none !important; }
.mp-app .ukf-maka-board-tab{
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid var(--maka-border);
    border-radius: 13px;
    color: var(--maka-muted);
    background: rgba(255,255,255,.035);
    font: inherit;
    font-weight: 800;
    cursor: pointer;
}
.mp-app .ukf-maka-board-tab:hover, .mp-app .ukf-maka-board-tab:focus-visible{
    color: var(--maka-text);
    border-color: rgba(190,120,255,.55);
}
.mp-app .ukf-maka-board-tab.is-active{
    color: #fff;
    border-color: rgba(198,126,255,.72);
    background: linear-gradient(135deg, rgba(126,52,220,.34), rgba(211,42,166,.20));
}
@media (max-width: 640px){
    .mp-app .ukf-maka-board-tabs{ grid-template-columns: 1fr; }

    .mp-app .ukf-maka-event-dialog h2{
        font-size: clamp(20px, 6.2vw, 26px);
        line-height: 1.12;
    }
}


/* v2.1.4 – leaderboardin suorituksessa käytetty teemavalinta */
.mp-app .ukf-maka-ranking-theme{
    display: block;
    margin-top: 3px;
    font-size: 12px;
    line-height: 1.25;
    opacity: .72;
}

/* v2.1.10 – BuddyPressiin tallennettu, luokaton Akatemian tuloskortti. */
.mp-app ukf-maka-result-card{
    position: relative;
    display: block;
    overflow: hidden;
    margin: 8px 0 4px;
    padding: 24px;
    border: 1px solid rgba(190, 120, 255, .48);
    border-radius: 22px;
    color: #f8f5ff;
    background:
        radial-gradient(circle at 86% 12%, rgba(232, 63, 193, .36), transparent 26%),
        radial-gradient(circle at 10% 100%, rgba(80, 94, 255, .25), transparent 34%),
        linear-gradient(145deg, #2d2053 0%, #171a38 54%, #0c1026 100%);
    box-shadow: 0 18px 42px rgba(5, 7, 22, .34);
    isolation: isolate;
}

.mp-app ukf-maka-result-card::before{
    content: "🏅";
    position: absolute;
    top: 20px;
    right: 22px;
    z-index: -1;
    font-size: clamp(54px, 13vw, 86px);
    line-height: 1;
    opacity: .2;
    transform: rotate(8deg);
}

.mp-app ukf-maka-result-card > span:first-child{
    display: block;
    margin: 0 0 7px;
    color: #d9b9ff;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .14em;
}

.mp-app ukf-maka-result-card > h3{
    max-width: 78%;
    margin: 0 0 15px;
    color: #fff;
    font-size: clamp(21px, 4.2vw, 30px);
    line-height: 1.16;
}

.mp-app ukf-maka-result-card > p{
    margin: 0 0 17px;
    color: #d9d3e7;
    line-height: 1.48;
}

.mp-app ukf-maka-result-card > p > strong{
    color: #fff;
}

.mp-app ukf-maka-result-card > p > span{
    color: #cfc5e3;
}

.mp-app ukf-maka-result-card > ul{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 0 0 18px;
    padding: 0;
    list-style: none;
}

.mp-app ukf-maka-result-card > ul > li{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 62px;
    padding: 8px 6px;
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 13px;
    text-align: center;
    background: rgba(255, 255, 255, .065);
}

.mp-app ukf-maka-result-card > ul strong{
    color: #fff;
    font-size: 18px;
    line-height: 1.1;
}

.mp-app ukf-maka-result-card > ul span{
    margin-top: 3px;
    color: #bbb3ce;
    font-size: 10px;
    line-height: 1.1;
}

.mp-app ukf-maka-result-card > a{
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 10px 18px;
    border: 1px solid rgba(218, 176, 255, .42);
    border-radius: 999px;
    color: #fff !important;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
    text-decoration: none !important;
    background: linear-gradient(135deg, #8137e6, #d62a9f);
    box-shadow: 0 10px 25px rgba(134, 48, 210, .26);
}

.mp-app ukf-maka-result-card > a:hover, .mp-app ukf-maka-result-card > a:focus-visible{
    border-color: rgba(255, 255, 255, .7);
    box-shadow: 0 13px 30px rgba(170, 49, 209, .4);
    transform: translateY(-1px);
}

/* Onnistuminen näkyy painikkeessa; live region jää ruudunlukijalle. */
.mp-app .ukf-maka-result-share > small.is-success{
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Mobiilin tuloskortti käyttää tilan olennaiseen sisältöön. */
@media (max-width: 520px){
    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-shell{
        padding: 56px 7px 14px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result{
        padding: 17px 10px 14px;
        border-radius: 21px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-icon{
        width: 56px;
        height: 56px;
        margin-bottom: 7px;
        border-radius: 17px;
        font-size: 31px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result h2{
        margin: 3px 0 9px;
        font-size: clamp(27px, 8vw, 32px);
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-score{
        gap: 5px;
        padding: 12px 8px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-score > strong{
        font-size: 44px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-stats{
        gap: 4px;
        margin-top: 8px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-stats > div{
        min-height: 45px;
        padding: 5px 3px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-share, .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-actions{
        margin-top: 10px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-share > button, .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-actions > button{
        min-height: 44px;
    }

    .mp-app ukf-maka-result-card{
        padding: 19px 16px;
        border-radius: 18px;
    }

    .mp-app ukf-maka-result-card > h3{
        max-width: 82%;
        font-size: 22px;
    }

    .mp-app ukf-maka-result-card > ul{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Leveä mutta matala läppärinäyttö ei saa työpöydän ylikorkeita välejä. */
@media (min-width: 768px) and (max-height: 900px){
    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-shell{
        padding-top: 52px;
        padding-bottom: 14px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result{
        padding: 18px 26px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-icon{
        width: 56px;
        height: 56px;
        margin-bottom: 6px;
        border-radius: 18px;
        font-size: 31px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result h2{
        margin: 3px 0 8px;
        font-size: 32px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-score{
        gap: 4px;
        padding: 11px 16px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-score > strong{
        font-size: 45px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-stats{
        margin-top: 7px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-stats > div{
        min-height: 43px;
        padding: 5px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-share, .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-actions{
        margin-top: 9px;
    }

    .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-share > button, .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-result-actions > button{
        min-height: 42px;
        padding-block: 8px;
    }
}

/* Master 2.0 ----------------------------------------------------------- */

.mp-app .ukf-maka-master-checkpoint{
    display: grid;
    gap: 18px;
    width: min(760px, 100%);
    margin: 0 auto;
    padding: clamp(24px, 5vw, 48px);
    border: 1px solid var(--maka-border);
    border-radius: var(--maka-radius-lg);
    text-align: center;
    background:
        radial-gradient(circle at 50% 0, rgba(155, 77, 255, .2), transparent 44%),
        linear-gradient(145deg, rgba(37, 30, 64, .99), rgba(12, 15, 33, .99));
    box-shadow: var(--maka-shadow);
}

.mp-app .ukf-maka-master-checkpoint h2{
    margin: 0;
    color: var(--maka-text);
    font-size: clamp(30px, 7vw, 48px);
    line-height: 1.1;
}

.mp-app .ukf-maka-master-checkpoint p{
    margin: 0;
    color: #dbc1ff;
    font-size: clamp(16px, 3vw, 20px);
    font-weight: 800;
}

.mp-app .ukf-maka-checkpoint-actions{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 4px;
}

.mp-app .ukf-maka-checkpoint-actions > button{
    width: 100%;
    min-height: 52px;
}

.mp-app .ukf-maka-master-chapters{
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
}

.mp-app .ukf-maka-master-chapter{
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 8px 5px;
    border-radius: 10px;
    color: var(--maka-text);
    background: rgba(255, 255, 255, .045);
}

.mp-app .ukf-maka-master-chapter span{
    color: var(--maka-muted);
    font-size: 10px;
    line-height: 1.25;
}

.mp-app .ukf-maka-reward-status{
    min-height: 20px;
    color: #ffe4a3;
    font-size: 13px;
    font-weight: 900;
    text-align: center;
}

@media (max-width: 600px){
    .mp-app .ukf-maka-question-card > h2{
        margin: 10px 0 14px;
        font-size: clamp(15px, 4.1vw, 17px);
        line-height: 1.18;
    }

    .mp-app .ukf-maka-answer-actions{
        gap: 8px;
        margin-top: 11px;
        padding-top: 10px;
    }

    .mp-app .ukf-maka-answer-actions > strong{
        font-size: 16px;
        line-height: 1.2;
    }

    .mp-app .ukf-maka-feedback-text{
        font-size: 14px;
        line-height: 1.42;
    }

    .mp-app .ukf-maka-quiz-notice{
        top: 6px;
        width: 100%;
        max-width: 100%;
        margin: 0 0 10px;
        padding: 10px 12px;
        font-size: 14px;
    }

    .mp-app .ukf-maka-view[data-screen="master-checkpoint"] .ukf-maka-shell{
        display: grid;
        align-items: center;
        padding: 56px 8px 14px;
    }

    .mp-app .ukf-maka-master-checkpoint{
        gap: 14px;
        padding: 24px 14px;
        border-radius: 22px;
    }

    .mp-app .ukf-maka-checkpoint-actions, .mp-app .ukf-maka-master-chapters{
        grid-template-columns: 1fr;
    }

    .mp-app .ukf-maka-master-chapter{
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        text-align: left;
    }
}

@media (min-width: 768px) and (max-height: 820px){
    .mp-app .ukf-maka-view[data-screen="master-checkpoint"] .ukf-maka-shell, .mp-app .ukf-maka-view[data-screen="result"] .ukf-maka-shell{
        padding-top: 52px;
        padding-bottom: 12px;
    }

    .mp-app .ukf-maka-master-checkpoint{
        gap: 12px;
        padding: 22px 30px;
    }

    .mp-app .ukf-maka-master-chapter{
        padding-block: 5px;
    }
}

/* Desktop quiz layout v2.5.1 -------------------------------------------
 * Keep question context and question text on one top line on desktop.
 * Answers remain full-width below the header. Mobile/tablet stay intact.
 */
@media (min-width: 1024px){
    .mp-app .ukf-maka-question-card{
        grid-template-columns: minmax(180px, 230px) minmax(0, 1fr);
        grid-template-rows: auto auto auto auto;
        column-gap: clamp(28px, 3vw, 52px);
        align-items: start;
    }

    .mp-app .ukf-maka-question-card > .ukf-maka-kicker{
        grid-column: 1;
        grid-row: 1;
        align-self: start;
    }

    .mp-app .ukf-maka-card-title{
        grid-column: 1;
        grid-row: 2;
        align-self: start;
    }

    .mp-app .ukf-maka-question-card > h2{
        grid-column: 1 / -1;
        grid-row: 1 / 3;
        align-self: start;
        width: 100%;
        max-width: none;
        margin: 0;
        padding-inline: min(250px, 20%);
        text-align: center;
    }

    .mp-app .ukf-maka-answers, .mp-app .ukf-maka-answer-actions{
        grid-column: 1 / -1;
    }

    .mp-app .ukf-maka-answers{
        grid-row: 3;
        margin-top: 30px;
    }

    .mp-app .ukf-maka-answer-actions{
        grid-row: 4;
    }
}

/* Wide but vertically limited laptops: compact the quiz itself instead
 * of forcing an internal scrollbar. Overflow remains available as a
 * safety net for genuinely long content. */
@media (min-width: 768px) and (max-height: 900px){
    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-shell{
        padding-top: 54px;
        padding-bottom: 14px;
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-quiz{
        gap: 9px;
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-quiz-hud > div:not(.ukf-maka-progress){
        min-height: 54px;
        padding-block: 7px;
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-quiz-hud strong{
        font-size: 19px;
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-progress{
        height: 9px;
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-question-card{
        min-height: 0;
        padding: 26px 30px;
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-question-card > h2{
        font-size: clamp(21px, 1.5vw, 25px);
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-answers{
        grid-auto-rows: minmax(72px, auto);
        gap: 10px;
        margin-top: 22px;
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-answer{
        min-height: 72px;
        padding: 11px 15px;
    }

    .mp-app .ukf-maka-view[data-screen="quiz"] .ukf-maka-answer > strong{
        --maka-answer-font: 17px;
    }
}

/* 3.0.3 — Archive reader typography parity on tablet/desktop.
   Keep the Academy shell, but make archive-card content follow the
   Melkisedekin Arkistot detail-view rhythm instead of quiz typography. */
@media (min-width: 761px){
    .mp-app .ukf-maka-reader-header{
        padding: 24px 40px 14px;
    }

    .mp-app .ukf-maka-reader-header h2{
        font-size: 30px;
        line-height: 1.08;
        letter-spacing: -.025em;
        font-weight: 900;
    }

    .mp-app .ukf-maka-reader-short{
        max-width: 820px;
        margin: 0 auto;
        padding: 0 40px 8px;
        font-size: 14px;
        line-height: 1.68;
        font-weight: 700;
        text-align: center;
    }

    .mp-app .ukf-maka-reader-body{
        max-width: 820px;
        margin: 0 auto;
        padding: 12px 40px 30px;
        font-size: 14px;
        line-height: 1.68;
        text-align: center;
    }

    .mp-app .ukf-maka-reader-body p, .mp-app .ukf-maka-reader-body li{
        font-size: 14px;
        line-height: 1.68;
    }

    .mp-app .ukf-maka-reader-body p{
        margin: 0 auto 16px;
        line-height: 1.72;
    }

    .mp-app .ukf-maka-reader-body h1, .mp-app .ukf-maka-reader-body h2, .mp-app .ukf-maka-reader-body h3, .mp-app .ukf-maka-reader-body h4{
        letter-spacing: -.02em;
    }

    .mp-app .ukf-maka-reader-body h2{
        font-size: 23px;
        line-height: 1.16;
        margin: 26px 0 10px;
    }

    .mp-app .ukf-maka-reader-body h3{
        font-size: 19px;
        line-height: 1.2;
        margin: 22px 0 9px;
    }
}


/* 3.0.4 — Mobile archive-reader paragraph rhythm. WordPress/theme resets can
   collapse p margins on narrow screens, so keep explicit card paragraph spacing. */
@media (max-width: 760px){
    .mp-app .ukf-maka-reader-body p{
        margin: 0 0 16px;
    }

    .mp-app .ukf-maka-reader-body p:last-child{
        margin-bottom: 0;
    }
}

/* Puuttuva pala specific only */
.mp-app [hidden]{display:none!important}.mp-app .mp-explanation{margin-top:10px;padding:12px 14px;border:1px solid var(--maka-border);border-radius:14px;background:rgba(8,11,24,.38)}.mp-app .mp-explanation p{margin:0 0 8px}.mp-app .mp-explanation small{color:var(--maka-muted)}

/* 4.1.1 gameplay polish */

/* Center the sentence/question for faster scanning. */
.mp-app .ukf-maka-question-card>h2[data-sentence]{
  text-align:center!important;
  max-width:900px;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Turn the blank into an obvious animated "drop zone" without changing stored task text. */
.mp-app .ukf-maka-question-card>h2[data-sentence]{
  --mp-blank-glow:rgba(199,70,255,.55);
}
.mp-app .ukf-maka-question-card>h2[data-sentence]::after{content:"";}
@keyframes mpBlankPulse{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 7px var(--mp-blank-glow))}}
/* JS/text still contains ____; style the whole sentence subtly while waiting. */
.mp-app .ukf-maka-question-card:not(:has(.ukf-maka-answer:disabled))>h2[data-sentence]{
  animation:mpBlankPulse 1.8s ease-in-out infinite;
}

/* After answering, keep only selected answer + correct answer. */
.mp-app .ukf-maka-answer.mp-answer-hidden{
  display:none!important;
}
.mp-app .ukf-maka-answers:has(.ukf-maka-answer:disabled){
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  max-width:820px;
  margin-inline:auto;
}

/* Explanation is a modal, never extra vertical game content. */
.mp-app .mp-explanation-modal[hidden]{display:none!important}
.mp-app .mp-explanation-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:18px}
.mp-app .mp-explanation-backdrop{position:absolute;inset:0;background:rgba(3,5,17,.78);backdrop-filter:blur(5px)}
.mp-app .mp-explanation-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:min(620px,82vh);overflow:auto;padding:28px;border:1px solid var(--maka-border);border-radius:22px;background:linear-gradient(145deg,#17162d,#111225);box-shadow:0 24px 80px rgba(0,0,0,.45);color:var(--maka-text)}
.mp-app .mp-explanation-dialog h3{margin:8px 42px 16px 0;font-size:24px}
.mp-app .mp-explanation-dialog [data-explanation]{line-height:1.55;margin-bottom:20px}
.mp-app .mp-explanation-dialog [data-explanation] p{margin:0 0 12px}
.mp-app .mp-explanation-dialog [data-explanation] small{color:var(--maka-muted)}
.mp-app .mp-explanation-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:1px solid var(--maka-border);border-radius:50%;background:#202038;color:#fff;font-size:25px;cursor:pointer}

/* Result screen: this is a game, and score must not dominate the whole card. */
.mp-app .ukf-maka-result-score strong{font-size:clamp(32px,6vw,52px)!important;line-height:1!important}
.mp-app .ukf-maka-result-score{padding:20px!important}

/* Selected-all theme state: individual theme cards also visibly selected. */
.mp-app .mp-themes [aria-pressed="true"]{box-shadow:0 0 0 2px rgba(190,63,255,.45) inset}

/* Mobile: answer feedback should free space, not create a second page. */
@media (max-width:760px){
  .mp-app .ukf-maka-question-card>h2[data-sentence]{text-align:center!important}
  .mp-app .ukf-maka-answers:has(.ukf-maka-answer:disabled){grid-template-columns:1fr!important}
  .mp-app .ukf-maka-answer.mp-answer-hidden{display:none!important}
  .mp-app .ukf-maka-answer-actions.is-revealed{margin-top:10px!important;padding-top:10px!important}
  .mp-app .mp-explanation-dialog{padding:22px 18px;border-radius:18px}
  .mp-app .mp-explanation-dialog h3{font-size:20px}
  .mp-app .ukf-maka-result-score strong{font-size:36px!important}
}

/* 4.1.2 — the blank itself is the interaction cue; never animate the whole sentence. */
.mp-app .ukf-maka-question-card>h2[data-sentence]{animation:none!important}

.mp-app .mp-gap{
  display:inline-flex;
  vertical-align:middle;
  align-items:center;
  justify-content:center;
  min-width:88px;
  height:1.25em;
  margin:0 .16em;
  padding:0 .35em;
  border:2px dashed #c54cff;
  border-radius:9px;
  background:rgba(177,55,255,.10);
  box-shadow:0 0 0 0 rgba(197,76,255,.34);
  color:#e4b8ff;
  line-height:1;
  transform:translateY(-.02em);
  animation:mpGapPulse 1.45s ease-in-out infinite;
}
.mp-app .mp-gap-label{
  font-size:.72em;
  font-weight:900;
  opacity:.92;
}
@keyframes mpGapPulse{
  0%,100%{box-shadow:0 0 0 0 rgba(197,76,255,.20);border-color:#a943e0}
  50%{box-shadow:0 0 0 7px rgba(197,76,255,0);border-color:#ef76ff}
}
.mp-app .mp-gap-filled{
  min-width:0;
  height:auto;
  padding:.12em .38em;
  border-style:solid;
  animation:none;
  font-weight:900;
  white-space:normal;
}
.mp-app .mp-gap-filled.is-correct{
  color:#73f2ad;
  border-color:#2fc978;
  background:rgba(28,151,91,.18);
  box-shadow:0 0 16px rgba(47,201,120,.12);
}
.mp-app .mp-gap-filled.is-wrong{
  color:#ff7c88;
  border-color:#e84f61;
  background:rgba(202,55,72,.18);
  box-shadow:0 0 16px rgba(232,79,97,.10);
}

/* Once answered, the remaining answer cards use the released space neatly. */
.mp-app .ukf-maka-answers:has(.ukf-maka-answer:disabled){
  margin-top:14px;
}
@media (max-width:760px){
  .mp-app .mp-gap{min-width:68px;height:1.18em;border-radius:7px}
  .mp-app .mp-gap-filled{min-width:0;height:auto}
}

/* 4.1.3 — sentence-first answer feedback */
.mp-app .ukf-maka-answers.mp-answers-resolved{display:none!important}

/* The gap is an insertion caret/slot, not a floating mystery box. */
.mp-app .mp-gap{
  position:relative;
  min-width:72px!important;
  height:1.05em!important;
  margin:0 .12em!important;
  padding:0!important;
  border:0!important;
  border-bottom:3px solid #d45cff!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  animation:none!important;
}
.mp-app .mp-gap::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:-7px;
  width:0;height:0;
  border-left:5px solid transparent;
  border-right:5px solid transparent;
  border-top:6px solid #d45cff;
  transform:translateX(-50%);
  animation:mpGapPointer 1.15s ease-in-out infinite;
}
.mp-app .mp-gap-label{font-size:0!important}
.mp-app .mp-gap-label::after{content:"täydennä";font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:#d99aff;font-weight:800}
@keyframes mpGapPointer{0%,100%{transform:translate(-50%,0);opacity:.55}50%{transform:translate(-50%,3px);opacity:1}}
.mp-app .mp-gap-filled{
  display:inline!important;
  min-width:0!important;
  height:auto!important;
  margin:0 .08em!important;
  padding:0!important;
  border:0!important;
  border-bottom:2px solid currentColor!important;
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  font-weight:900!important;
}
.mp-app .mp-gap-filled::before{display:none!important}
.mp-app .mp-gap-filled.is-correct{color:#64e7a0!important}
.mp-app .mp-gap-filled.is-wrong{color:#ff7180!important}

/* Feedback is now just status + explanation controls; no duplicate correct-answer ABCD card. */
.mp-app .ukf-maka-answer-actions.is-revealed{margin-top:14px!important}

/* Explanation modal actions */
.mp-app .mp-explanation-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}

/* Full Arkistokortti reader opened from the explanation. */
.mp-app .mp-archive-modal[hidden]{display:none!important}
.mp-app .mp-archive-modal{position:fixed;inset:0;z-index:100010;display:grid;place-items:center;padding:14px}
.mp-app .mp-archive-backdrop{position:absolute;inset:0;background:rgba(3,5,17,.86);backdrop-filter:blur(6px)}
.mp-app .mp-archive-dialog{position:relative;z-index:1;width:min(720px,100%);max-height:90vh;overflow:auto;border:1px solid var(--maka-border);border-radius:24px;background:#101328;color:var(--maka-text);box-shadow:0 28px 90px rgba(0,0,0,.55)}
.mp-app [data-archive-loading], .mp-app [data-archive-error]{padding:40px;text-align:center}
.mp-app [data-archive-content]{display:block}
.mp-app [data-archive-image-wrap]{margin:0;max-height:340px;overflow:hidden}
.mp-app [data-archive-image]{display:block;width:100%;height:100%;max-height:340px;object-fit:cover}
.mp-app .mp-archive-copy{padding:28px}
.mp-app .mp-archive-copy h2{margin:10px 0 14px;font-size:34px}
.mp-app .mp-archive-type{display:inline-block;margin-bottom:14px;padding:5px 10px;border-radius:999px;background:#334d7d;font-size:11px;font-weight:800;text-transform:uppercase}
.mp-app .mp-archive-short{font-weight:700;line-height:1.55;margin-bottom:18px}
.mp-app .mp-archive-body{line-height:1.62}
@media (max-width:760px){
  .mp-app .mp-gap{min-width:62px!important}
  .mp-app .mp-explanation-modal-actions{grid-template-columns:1fr}
  .mp-app .mp-archive-modal{padding:8px}
  .mp-app .mp-archive-dialog{max-height:94vh;border-radius:20px}
  .mp-app .mp-archive-copy{padding:20px}
  .mp-app .mp-archive-copy h2{font-size:30px}
}

/* 4.1.4 */
.mp-app .mp-gap{min-width:76px!important;height:1.08em!important;border-bottom:3px solid #d45cff!important;background:linear-gradient(to top,rgba(205,73,255,.12),transparent 55%)!important}
.mp-app .mp-gap::before, .mp-app .mp-gap::after{display:none!important;content:none!important;animation:none!important}
.mp-app .mp-gap-label::after{content:"sana tähän"!important;font-size:8px!important;letter-spacing:.06em!important}
.mp-app .mp-gap-filled::before, .mp-app .mp-gap-filled::after{display:none!important}
.mp-app .mp-gap-filled.is-timeout{color:#ffb55f!important;border-color:#ffb55f!important}
.mp-app .mp-archive-back{position:sticky;top:10px;z-index:4;margin:12px 58px 0 14px;padding:9px 14px;border:1px solid var(--maka-border);border-radius:999px;background:#1a1930;color:#fff;font-weight:800;cursor:pointer}
.mp-app html.mp-archive-open, .mp-app body.mp-archive-open{overflow:hidden!important}.mp-app .mp-archive-dialog{overscroll-behavior:contain}

/* 4.1.5 */
.mp-app .mp-gap-context{white-space:nowrap}.mp-app .mp-gap{display:inline-flex!important;align-items:flex-end!important;justify-content:center!important;min-width:54px!important;height:1em!important;margin:0 0 0 .12em!important;padding:0!important;border:0!important;border-bottom:2px solid #d45cff!important;background:transparent!important;vertical-align:baseline!important}.mp-app .mp-gap-label{font-size:9px!important;line-height:1!important;transform:translateY(-2px)}.mp-app .mp-gap-label::after, .mp-app .mp-gap::before, .mp-app .mp-gap::after{content:none!important;display:none!important}.mp-app .mp-gap-filled{white-space:normal!important}
.mp-app .mp-archive-modal[hidden]{display:none!important}.mp-app .mp-archive-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:12px}.mp-app .mp-archive-backdrop{position:absolute;inset:0;background:rgba(3,5,17,.9);backdrop-filter:blur(6px)}.mp-app .mp-archive-shell{position:relative;z-index:1;width:min(760px,100%);max-height:94vh;overflow:auto;border-radius:24px;overscroll-behavior:contain}.mp-app .mp-archive-shell .ukf-maka-reader{margin:58px 0 0!important}.mp-app .mp-archive-game-back{position:absolute;left:12px;top:10px;z-index:5;padding:9px 14px;border:1px solid var(--maka-border);border-radius:999px;background:#1a1930;color:#fff;font-weight:800;cursor:pointer}.mp-app .mp-archive-close{position:absolute!important;right:12px!important;top:10px!important;z-index:5!important}.mp-app html.mp-archive-open #ukf-ma-global-back, .mp-app html.mp-archive-open [data-ma-close]{visibility:hidden!important;pointer-events:none!important}@media (max-width:760px){.mp-app .mp-archive-modal{padding:6px}.mp-app .mp-archive-shell{max-height:97vh;border-radius:18px}.mp-app .mp-archive-shell .ukf-maka-reader{margin-top:54px!important}}

/* 4.1.6 — plain missing-word slot. No icon, arrow, label or animation. */
.mp-app .mp-gap-context{white-space:nowrap!important}
.mp-app .mp-gap{
 display:inline-block!important;
 width:62px!important;
 min-width:62px!important;
 height:.8em!important;
 margin:0 .12em!important;
 padding:0!important;
 border:0!important;
 border-bottom:3px solid #d45cff!important;
 border-radius:0!important;
 background:transparent!important;
 box-shadow:none!important;
 animation:none!important;
 vertical-align:baseline!important;
}
.mp-app .mp-gap::before, .mp-app .mp-gap::after, .mp-app .mp-gap-label, .mp-app .mp-gap-label::after{display:none!important;content:none!important;animation:none!important}
.mp-app .mp-gap-filled{display:inline!important;width:auto!important;min-width:0!important;height:auto!important;margin:0 .08em!important;padding:0!important;border:0!important;border-bottom:2px solid currentColor!important;background:transparent!important;box-shadow:none!important}

/* 4.1.6 — archive is a self-contained nested modal with controls that cannot scroll away. */
.mp-app .mp-archive-modal[hidden]{display:none!important}
.mp-app .mp-archive-modal{position:fixed!important;inset:0!important;z-index:2147483640!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:8px!important;box-sizing:border-box!important}
.mp-app .mp-archive-backdrop{position:absolute!important;inset:0!important;background:rgba(3,5,17,.92)!important;backdrop-filter:blur(6px)!important}
.mp-app .mp-archive-shell{position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;width:min(760px,100%)!important;height:min(94vh,900px)!important;max-height:94vh!important;overflow:hidden!important;border:1px solid var(--maka-border)!important;border-radius:22px!important;background:#0d1022!important;box-shadow:0 28px 90px rgba(0,0,0,.65)!important}
.mp-app .mp-archive-toolbar{flex:0 0 58px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:8px 10px!important;box-sizing:border-box!important;background:#101328!important;border-bottom:1px solid var(--maka-border)!important;position:relative!important;z-index:10!important}
.mp-app .mp-archive-game-back, .mp-app .mp-archive-close{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;margin:0!important;border:1px solid var(--maka-border)!important;background:#1a1930!important;color:#fff!important;cursor:pointer!important}
.mp-app .mp-archive-game-back{min-height:40px!important;padding:8px 14px!important;border-radius:999px!important;font-weight:800!important}
.mp-app .mp-archive-close{width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;font-size:28px!important;line-height:1!important}
.mp-app .mp-archive-scroll{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}
.mp-app .mp-archive-scroll .ukf-maka-reader{margin:0!important;min-height:100%!important;border:0!important;border-radius:0!important}
.mp-app html.mp-archive-open, .mp-app body.mp-archive-open{overflow:hidden!important}
.mp-app html.mp-archive-open #ukf-ma-global-back, .mp-app html.mp-archive-open [data-ma-close]{visibility:hidden!important;pointer-events:none!important}
@media (max-width:760px){
 .mp-app .mp-gap{width:52px!important;min-width:52px!important}
 .mp-app .mp-archive-modal{padding:0!important}
 .mp-app .mp-archive-shell{width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;border-left:0!important;border-right:0!important}
 .mp-app .mp-archive-toolbar{flex-basis:60px!important;padding:8px 12px!important}
}

/* 4.1.7 — filled answer is plain colored text, never a second underline. */
.mp-app .mp-gap-filled, .mp-app .mp-gap-filled.is-correct, .mp-app .mp-gap-filled.is-wrong, .mp-app .mp-gap-filled.is-timeout{
  display:inline!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  margin:0 .08em!important;
  padding:0!important;
  border:0!important;
  border-bottom:0!important;
  background:transparent!important;
  box-shadow:none!important;
  text-decoration:none!important;
  vertical-align:baseline!important;
}
.mp-app .mp-gap-filled.is-correct{color:#64e7a0!important}
.mp-app .mp-gap-filled.is-wrong{color:#ff7180!important}

/* 4.1.7 — Arkisto is NOT a modal anymore.
   It is the same reader screen structure used by current Melkisedekin Visailu. */
.mp-app [data-screen="reader"]{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.mp-app [data-screen="reader"] .ukf-maka-reader{
  width:min(1080px,100%)!important;
  margin:0 auto!important;
}
@media (max-width:760px){
  .mp-app [data-screen="reader"]{padding:0 6px!important}
  .mp-app [data-screen="reader"] .ukf-maka-reader{width:100%!important}
}

/* 4.1.8 — Visailu-style "Ilmoita virhe" at the top center of the active round. */
.mp-app .mp-visailu-report{
 position:fixed!important;
 top:18px!important;
 left:50%!important;
 transform:translateX(-50%)!important;
 z-index:2147482000!important;
 display:inline-flex!important;
 align-items:center!important;
 justify-content:center!important;
 width:260px!important;
 min-height:44px!important;
 padding:8px 20px!important;
 border:1px solid var(--maka-border)!important;
 border-radius:999px!important;
 background:#17162d!important;
 color:#fff!important;
 font-weight:800!important;
 cursor:pointer!important;
 box-sizing:border-box!important;
}
.mp-app .mp-visailu-report[hidden]{display:none!important}
@media (max-width:760px){
 .mp-app .mp-visailu-report{
   top:10px!important;
   width:228px!important;
   min-height:42px!important;
   padding:7px 14px!important;
   font-size:13px!important;
 }
}

/* 4.3.0 leaderboard — current Visailu structure */
.mp-app .ukf-maka-board-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 16px}.mp-app .ukf-maka-board-tabs[hidden]{display:none!important}
.mp-app .ukf-maka-board-tab{min-width:0;padding:11px 12px;border:1px solid var(--maka-border);border-radius:13px;color:var(--maka-muted);background:rgba(255,255,255,.035);font:inherit;font-weight:800;cursor:pointer}.mp-app .ukf-maka-board-tab.is-active{color:#fff;border-color:rgba(198,126,255,.72);background:linear-gradient(135deg,rgba(126,52,220,.34),rgba(211,42,166,.20))}
.mp-app .ukf-maka-my-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:16px}.mp-app .ukf-maka-my-stats>div{padding:14px;border:1px solid var(--maka-border);border-radius:15px;text-align:center;background:rgba(255,255,255,.035)}.mp-app .ukf-maka-my-stats small{display:block;margin-bottom:3px;color:var(--maka-muted)}.mp-app .ukf-maka-my-stats strong{font-size:22px}
.mp-app .ukf-maka-ranking{display:grid;gap:10px;margin-bottom:20px}.mp-app .ukf-maka-ranking-row{display:grid;grid-template-columns:42px minmax(0,1fr) minmax(210px,.65fr);gap:10px 12px;align-items:center;padding:14px;border:1px solid var(--maka-border);border-radius:16px;background:rgba(255,255,255,.03)}.mp-app .ukf-maka-rank{font-size:22px;text-align:center}.mp-app .ukf-maka-ranking-player{display:flex;flex-direction:column;gap:3px;min-width:0}.mp-app .ukf-maka-ranking-player strong{overflow-wrap:anywhere;font-size:16px}.mp-app .ukf-maka-ranking-player>span{color:#e4d4f8;font-size:13px;font-weight:800}.mp-app .ukf-maka-ranking-theme{display:block;margin-top:3px;font-size:12px!important;opacity:.72}
.mp-app .ukf-maka-ranking-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.mp-app .ukf-maka-ranking-metrics>span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;padding:8px;border:1px solid var(--maka-border);border-radius:13px;background:rgba(255,255,255,.035)}.mp-app .ukf-maka-ranking-metrics small{color:var(--maka-muted);font-size:10px}.mp-app .ukf-maka-ranking-metrics b{font-size:13px}.mp-app .ukf-maka-board-loading, .mp-app .ukf-maka-board-empty{padding:32px 14px;color:var(--maka-muted);text-align:center}
@media (max-width:760px){.mp-app .ukf-maka-board-tabs, .mp-app .ukf-maka-my-stats{grid-template-columns:1fr}.mp-app .ukf-maka-ranking-row{grid-template-columns:42px minmax(0,1fr)}.mp-app .ukf-maka-ranking-metrics{grid-column:1/-1}}

/* 4.4.0 */
.mp-app .mp-report-row{display:flex!important;justify-content:center!important;width:100%!important;margin:0 0 12px!important}
.mp-app .mp-report-row .mp-visailu-report{position:static!important;top:auto!important;left:auto!important;transform:none!important;z-index:auto!important;width:min(260px,100%)!important;margin:0!important}
@media (min-width:761px){
 .mp-app .ukf-maka-question-card{grid-template-columns:260px minmax(0,1fr)!important;column-gap:34px!important}
 .mp-app .ukf-maka-question-card>h2{max-width:900px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important;text-wrap:balance!important}
 .mp-app .ukf-maka-question-card .ukf-maka-answers{width:100%!important;max-width:none!important}
 .mp-app [data-screen="reader"] .ukf-maka-reader-image-wrap{aspect-ratio:auto!important;height:auto!important;min-height:0!important;max-height:none!important;line-height:0!important}
 .mp-app [data-screen="reader"] .ukf-maka-reader-image-wrap img{display:block!important;width:100%!important;height:auto!important;max-height:470px!important;object-fit:cover!important}
 .mp-app [data-screen="reader"] .ukf-maka-reader-header{padding-top:24px!important}
}

/* 4.4.1 — actual quiz grid correction.
   4.4.0 inserted the report row into a grid that only defined hud/question,
   so CSS auto-placement put it AFTER the question card. */
.mp-app [data-screen="game"] .ukf-maka-quiz{
  grid-template-areas:"report" "hud" "question"!important;
  grid-template-rows:auto auto minmax(0,1fr)!important;
}
.mp-app [data-screen="game"] .mp-report-row{
  grid-area:report!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin:0 0 10px!important;
}
.mp-app [data-screen="game"] .mp-report-row .mp-visailu-report{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  z-index:auto!important;
  display:inline-flex!important;
  width:min(260px,100%)!important;
  margin:0!important;
}

/* The existing desktop rule reserved the metadata column by applying
   padding-inline:min(250px,20%) to the question itself. That is what
   squeezed long questions into the narrow central block. */
@media (min-width:761px){
 .mp-app [data-screen="game"] .ukf-maka-question-card{
   grid-template-columns:230px minmax(0,1fr)!important;
   grid-template-rows:auto auto auto auto!important;
   column-gap:32px!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>.ukf-maka-kicker{
   grid-column:1!important;grid-row:1!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-card-title{
   grid-column:1!important;grid-row:2!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>h2{
   grid-column:2!important;
   grid-row:1 / 3!important;
   align-self:center!important;
   width:100%!important;
   max-width:none!important;
   margin:0!important;
   padding:0!important;
   text-align:center!important;
   text-wrap:balance!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-answers{
   grid-column:1 / -1!important;
   grid-row:3!important;
   width:100%!important;
   max-width:none!important;
   margin-top:30px!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-answer-actions{
   grid-column:1 / -1!important;
   grid-row:4!important;
 }
}

/* 4.4.2 — functional Puuttuva pala error report modal */
.mp-app .mp-report-modal[hidden]{display:none!important}
.mp-app .mp-report-modal{position:absolute;inset:0;z-index:2147482500;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(5,5,20,.78);backdrop-filter:blur(5px);opacity:0;transition:opacity .16s ease}
.mp-app .mp-report-modal.is-open{opacity:1}
.mp-app .mp-report-dialog{position:relative;width:min(520px,100%);padding:26px;border:1px solid var(--maka-border);border-radius:22px;background:#17162d;color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.mp-app .mp-report-dialog h2{margin:8px 0 10px;font-size:26px}.mp-app .mp-report-preview{padding:12px 14px;border-radius:13px;background:rgba(255,255,255,.04);color:#e8ddf7;font-weight:700}
.mp-app .mp-report-dialog label{display:grid;gap:7px;margin-top:15px;font-weight:800}.mp-app .mp-report-dialog select, .mp-app .mp-report-dialog textarea{width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid var(--maka-border);border-radius:12px;background:#0e0e20;color:#fff;font:inherit}
.mp-app .mp-report-close{position:absolute;right:14px;top:14px;width:38px;height:38px;border:1px solid var(--maka-border);border-radius:50%;background:#23213b;color:#fff;font-size:24px;cursor:pointer}
.mp-app .mp-report-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.mp-app .mp-report-actions button{min-width:130px}
.mp-app [data-mp-report-status].is-success{color:#55e6a5}.mp-app [data-mp-report-status].is-error{color:#ff7180}
.mp-app .mp-visailu-report.is-sent{border-color:#55e6a5!important;color:#55e6a5!important}
@media (max-width:760px){.mp-app .mp-report-modal{position:fixed;padding:14px}.mp-app .mp-report-dialog{padding:22px 18px}.mp-app .mp-report-actions{display:grid;grid-template-columns:1fr}.mp-app .mp-report-actions button{width:100%}}

/* 4.4.3 — restore Visailu header geometry and question hierarchy */

/* Report belongs between projector back and close controls, not inside quiz flow. */
.mp-app>.mp-visailu-report{
 position:fixed!important;
 top:18px!important;
 left:50%!important;
 right:auto!important;
 bottom:auto!important;
 transform:translateX(-50%)!important;
 z-index:10019!important;
 display:inline-flex!important;
 width:260px!important;
 min-height:44px!important;
 margin:0!important;
}
.mp-app>.mp-visailu-report[hidden]{display:none!important}

/* Quiz itself returns to HUD -> question. */
.mp-app [data-screen="game"] .ukf-maka-quiz{
 grid-template-areas:"hud" "question"!important;
 grid-template-rows:auto minmax(0,1fr)!important;
}

/* Desktop: metadata first, then a genuinely full-width centered sentence.
   No side column is allowed to push the sentence to the right. */
@media (min-width:761px){
 .mp-app [data-screen="game"] .ukf-maka-question-card{
   grid-template-columns:1fr!important;
   grid-template-rows:auto auto auto auto auto!important;
   column-gap:0!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>.ukf-maka-kicker{
   grid-column:1!important;grid-row:1!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-card-title{
   grid-column:1!important;grid-row:2!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>h2{
   grid-column:1!important;grid-row:3!important;
   justify-self:center!important;
   width:min(980px,100%)!important;
   max-width:980px!important;
   margin:22px auto 30px!important;
   padding:0!important;
   font-size:clamp(24px,1.8vw,30px)!important;
   line-height:1.2!important;
   text-align:center!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-answers{
   grid-column:1!important;grid-row:4!important;
   width:100%!important;max-width:none!important;margin-top:0!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-answer-actions{
   grid-column:1!important;grid-row:5!important;
 }
}

/* Mobile typography: explicitly preserve the pre-4.4 question size.
   The desktop correction must never downsize the phone question. */
@media (max-width:760px){
 .mp-app>.mp-visailu-report{
   top:10px!important;
   width:228px!important;
   min-height:42px!important;
   font-size:13px!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>h2[data-sentence]{
   font-size:20px!important;
   line-height:1.25!important;
   text-align:center!important;
 }
}

/* 4.4.5 — authoritative Puuttuva pala gameplay geometry */
.mp-app{position:static!important}

/* Same header placement principle as Visailu: between projector back and close. */
.mp-app>.mp-visailu-report{
 position:absolute!important;
 top:18px!important;
 left:50%!important;
 right:auto!important;
 bottom:auto!important;
 transform:translateX(-50%)!important;
 z-index:10021!important;
 width:min(260px,calc(100% - 180px))!important;
 max-width:260px!important;
 min-height:44px!important;
 margin:0!important;
}
.mp-app>.mp-visailu-report[hidden]{display:none!important}

/* Desktop: Visailu-like metadata + question row, then answers full width. */
@media(min-width:761px){
 .mp-app [data-screen="game"] .ukf-maka-question-card{
   display:grid!important;
   grid-template-columns:220px minmax(0,1fr)!important;
   grid-template-rows:auto auto auto auto!important;
   column-gap:34px!important;
   align-items:start!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>.ukf-maka-kicker{
   grid-column:1!important;grid-row:1!important;
   align-self:end!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-card-title{
   grid-column:1!important;grid-row:2!important;
   align-self:start!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>h2[data-sentence]{
   grid-column:2!important;
   grid-row:1 / 3!important;
   align-self:center!important;
   justify-self:stretch!important;
   width:100%!important;
   max-width:none!important;
   margin:0!important;
   padding:0 12px!important;
   font-size:clamp(24px,1.8vw,30px)!important;
   line-height:1.2!important;
   text-align:center!important;
   text-wrap:balance!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-answers{
   grid-column:1 / -1!important;
   grid-row:3!important;
   width:100%!important;
   max-width:none!important;
   margin-top:30px!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-answer-actions{
   grid-column:1 / -1!important;
   grid-row:4!important;
 }
}

/* Mobile stays a single column and keeps the established readable size. */
@media(max-width:760px){
 .mp-app>.mp-visailu-report{
   top:10px!important;
   width:min(228px,calc(100% - 150px))!important;
   min-height:42px!important;
   font-size:13px!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card{
   display:block!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>h2[data-sentence]{
   width:100%!important;
   max-width:none!important;
   margin:10px 0 14px!important;
   padding:0!important;
   font-size:20px!important;
   line-height:1.25!important;
   text-align:center!important;
 }
}

/* 4.4.6 — Puuttuva pala only. Learned from Visailu geometry; no shared Visailu CSS modified. */
#ukf-ma-projector.is-academy > .mp-visailu-report{
 position:absolute!important;z-index:10022!important;top:14px!important;left:50%!important;right:auto!important;bottom:auto!important;
 transform:translateX(-50%)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:min(260px,calc(100% - 180px))!important;max-width:260px!important;min-height:44px!important;margin:0!important;
}
#ukf-ma-projector.is-academy > .mp-visailu-report[hidden]{display:none!important}

@media(min-width:1024px){
 .mp-app [data-screen="game"] .ukf-maka-question-card{
  display:grid!important;grid-template-columns:minmax(180px,230px) minmax(0,1fr)!important;
  grid-template-rows:auto auto auto auto!important;column-gap:clamp(28px,3vw,52px)!important;align-items:start!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-question-card>.ukf-maka-kicker{grid-column:1!important;grid-row:1!important;align-self:start!important}
 .mp-app [data-screen="game"] .ukf-maka-card-title{grid-column:1!important;grid-row:2!important;align-self:start!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card>h2[data-sentence]{
  grid-column:1 / -1!important;grid-row:1 / 3!important;align-self:start!important;justify-self:stretch!important;
  width:100%!important;max-width:none!important;margin:0!important;padding-inline:min(250px,20%)!important;
  font-size:30px!important;line-height:1.2!important;text-align:center!important;text-wrap:balance!important;
 }
 .mp-app [data-screen="game"] .ukf-maka-answers{grid-column:1 / -1!important;grid-row:3!important;width:100%!important;max-width:none!important;margin-top:30px!important}
 .mp-app [data-screen="game"] .ukf-maka-answer-actions{grid-column:1 / -1!important;grid-row:4!important}
}
@media(max-width:1023px){
 .mp-app [data-screen="game"] .ukf-maka-question-card{display:block!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card>h2[data-sentence]{width:100%!important;max-width:none!important;margin:10px 0 14px!important;padding:0!important;text-align:center!important}
}
@media(max-width:760px){
 #ukf-ma-projector.is-academy > .mp-visailu-report{top:14px!important;width:min(228px,calc(100% - 150px))!important;min-height:44px!important;font-size:13px!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card>h2[data-sentence]{font-size:20px!important;line-height:1.25!important}
}

/* 4.4.7 — exact root-cause fix: direct projector child, no timing dependency on .is-academy */
#ukf-ma-projector > .mp-visailu-report{
 position:absolute!important;z-index:10022!important;top:14px!important;left:50%!important;right:auto!important;bottom:auto!important;
 transform:translateX(-50%)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:min(260px,calc(100% - 180px))!important;max-width:260px!important;min-height:44px!important;margin:0!important;
}
#ukf-ma-projector > .mp-visailu-report[hidden]{display:none!important}
@media(min-width:680px){#ukf-ma-projector > .mp-visailu-report{top:18px!important}}
@media(min-width:1024px){#ukf-ma-projector > .mp-visailu-report{top:20px!important}}
@media(max-width:760px){#ukf-ma-projector > .mp-visailu-report{width:min(228px,calc(100% - 150px))!important;font-size:13px!important}}

/* 4.5.0 game flow parity */
.mp-app .ukf-maka-result-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:min(560px,100%)!important;margin:18px auto!important}.mp-app .ukf-maka-result-stats>div{padding:12px!important;border-radius:12px!important;background:rgba(255,255,255,.045)!important;text-align:center!important}.mp-app .ukf-maka-result-stats small{display:block!important}.mp-app .ukf-maka-result-stats strong{font-size:18px!important}.mp-app .ukf-maka-result-share{display:grid!important;gap:6px!important;width:min(560px,100%)!important;margin:12px auto!important}.mp-app .ukf-maka-result-share[hidden]{display:none!important}.mp-app .ukf-maka-result-share small{text-align:center!important}.mp-app .ukf-maka-event-actions{display:flex!important;justify-content:center!important;margin-top:18px!important}.mp-app .ukf-maka-event-actions>button{min-width:280px!important}@media(max-width:760px){.mp-app .ukf-maka-result-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.mp-app .ukf-maka-event-actions>button{width:100%!important;min-width:0!important}}

/* 4.5.4 BuddyPress/Vikinger result card */
ukf-mp-result-card{position:relative;display:block;overflow:hidden;margin:8px 0 4px;padding:24px;border:1px solid rgba(190,120,255,.48);border-radius:22px;color:#f8f5ff;background:radial-gradient(circle at 86% 12%,rgba(232,63,193,.36),transparent 26%),radial-gradient(circle at 10% 100%,rgba(80,94,255,.25),transparent 34%),linear-gradient(145deg,#2d2053 0%,#171a38 54%,#0c1026 100%);box-shadow:0 18px 42px rgba(5,7,22,.34);isolation:isolate}
ukf-mp-result-card::before{content:"🧩";position:absolute;top:20px;right:22px;z-index:-1;font-size:clamp(54px,13vw,86px);line-height:1;opacity:.18;transform:rotate(8deg)}
ukf-mp-result-card[data-outcome="game_over"]::before{content:"💀"}
ukf-mp-result-card>span:first-child{display:block;margin:0 0 7px;color:#d9b9ff;font-size:11px;font-weight:900;letter-spacing:.14em}
ukf-mp-result-card>h3{max-width:78%;margin:0 0 15px;color:#fff;font-size:clamp(21px,4.2vw,30px);line-height:1.16}
ukf-mp-result-card>p{margin:0 0 17px;color:#d9d3e7;line-height:1.48}ukf-mp-result-card>p>strong{color:#fff}ukf-mp-result-card>p>span{color:#cfc5e3}
ukf-mp-result-card>ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 18px;padding:0;list-style:none}
ukf-mp-result-card>ul>li{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:62px;padding:8px 6px;border:1px solid rgba(255,255,255,.11);border-radius:13px;text-align:center;background:rgba(255,255,255,.065)}
ukf-mp-result-card>ul strong{color:#fff;font-size:18px;line-height:1.1}ukf-mp-result-card>ul span{margin-top:3px;color:#bbb3ce;font-size:10px;line-height:1.1}
ukf-mp-result-card>a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border:1px solid rgba(218,176,255,.42);border-radius:999px;color:#fff!important;font-weight:900;line-height:1.2;text-align:center;text-decoration:none!important;background:linear-gradient(135deg,#8137e6,#d62a9f);box-shadow:0 10px 25px rgba(134,48,210,.26)}
ukf-mp-result-card>a:hover,ukf-mp-result-card>a:focus-visible{border-color:rgba(255,255,255,.7);box-shadow:0 13px 30px rgba(170,49,209,.4);transform:translateY(-1px)}
@media(max-width:560px){ukf-mp-result-card{padding:19px;border-radius:18px}ukf-mp-result-card>h3{max-width:82%;font-size:23px}ukf-mp-result-card>ul{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 4.5.5 — field-test fixes: laptop-height responsiveness */
.mp-app .mp-coin-hint{display:block;margin-top:10px;color:#ead6ff;font-size:13px;font-weight:800}
@media (min-width:761px) and (max-height:900px){
 .mp-app [data-screen="game"] .mp-question-card,
 .mp-app [data-screen="game"] .ukf-maka-question-card,
 .mp-app [data-screen="game"] .mp-game-card{min-height:0!important;height:auto!important}
 .mp-app [data-screen="game"]{padding-bottom:18px!important}
 .mp-app [data-screen="result"]{align-items:flex-start!important;padding-top:8px!important;padding-bottom:12px!important}
 .mp-app .ukf-maka-result{padding-top:20px!important;padding-bottom:20px!important;gap:10px!important}
 .mp-app .ukf-maka-result-icon{width:64px!important;height:64px!important;font-size:34px!important;margin-bottom:2px!important}
 .mp-app .ukf-maka-result h2{font-size:34px!important;margin:2px 0 8px!important}
 .mp-app .ukf-maka-result-score{padding:14px 18px!important;margin:0 auto 8px!important}
 .mp-app .ukf-maka-result-score strong{font-size:42px!important}
 .mp-app .ukf-maka-result-stats{margin:8px auto!important;gap:6px!important}
 .mp-app .ukf-maka-result-stats>div{padding:8px!important;min-height:0!important}
 .mp-app .ukf-maka-result-share{margin:7px auto!important}
 .mp-app .ukf-maka-result-actions{margin-top:8px!important}
}
@media (min-width:761px) and (max-height:760px){
 .mp-app .ukf-maka-result-icon{width:52px!important;height:52px!important;font-size:28px!important}
 .mp-app .ukf-maka-result h2{font-size:29px!important}
 .mp-app .ukf-maka-result-score strong{font-size:36px!important}
 .mp-app .ukf-maka-result-stats>div{padding:6px!important}
}

/* 4.5.6 audited field-test overrides — Puuttuva pala only */
@media (min-width:761px){.mp-app [data-screen="game"] .ukf-maka-question-card>h2[data-sentence]{font-size:clamp(20px,1.45vw,25px)!important;line-height:1.22!important;max-width:880px!important;margin-inline:auto!important}}
@media (min-width:1024px){.mp-app [data-screen="game"] .ukf-maka-question-card>h2[data-sentence]{padding-inline:clamp(170px,16%,230px)!important}}
.mp-app .mp-coin-hint{display:block!important;margin-top:8px!important;color:#e7d3f6!important;font-size:12px!important;line-height:1.25!important;font-weight:800!important}
@media (min-width:761px) and (max-height:900px){.mp-app [data-screen="game"] .ukf-maka-question-card{min-height:0!important;height:auto!important;padding-bottom:24px!important}.mp-app [data-screen="game"] .ukf-maka-answers{margin-top:20px!important}.mp-app [data-screen="result"] .ukf-maka-result{min-height:0!important;height:auto!important}}

/* 4.5.7 — source hint removal */
.mp-app [data-screen="game"] .ukf-maka-question-card.mp-question-source-hidden{display:block!important}
.mp-app [data-screen="game"] .ukf-maka-question-card.mp-question-source-hidden>h2[data-sentence]{grid-column:1/-1!important;width:min(100%,980px)!important;max-width:980px!important;margin:0 auto 28px!important;padding-inline:0!important;text-align:center!important}
.mp-app [data-screen="game"] .ukf-maka-question-card.mp-question-source-hidden>.ukf-maka-answers,.mp-app [data-screen="game"] .ukf-maka-question-card.mp-question-source-hidden>[data-feedback]{width:100%!important;max-width:none!important;margin-inline:auto!important}
@media(max-width:760px){.mp-app [data-screen="game"] .ukf-maka-question-card.mp-question-source-hidden>h2[data-sentence]{width:100%!important;margin-bottom:16px!important;padding-inline:8px!important;text-align:center!important}}
/* 4.5.44 — canonical mobile gameplay geometry.
   Kept numerically identical to Melkisedekin Akatemia 3.1.10.
   Goal: question + all four answers fit the phone viewport without gameplay scrolling. */
.mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence]{
  width:100%!important;max-width:900px!important;margin:0 auto 12px!important;padding:0!important;
  text-align:center!important;justify-self:center!important;text-wrap:balance;
  font-size:20px!important;font-weight:800!important;line-height:1.18!important;
}
.mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence].is-long-question{font-size:18px!important;line-height:1.16!important;margin-bottom:10px!important}
.mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence].is-very-long-question{font-size:16px!important;line-height:1.14!important;margin-bottom:8px!important}
@media(max-width:760px){
 .mp-app [data-screen="game"] .ukf-maka-question-card{min-height:0!important;height:auto!important;padding:16px 14px!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence]{font-size:20px!important;line-height:1.18!important;margin:0 auto 12px!important;padding:0!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence].is-long-question{font-size:18px!important;line-height:1.16!important;margin-bottom:10px!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence].is-very-long-question{font-size:16px!important;line-height:1.14!important;margin-bottom:8px!important}
 .mp-app [data-screen="game"] .ukf-maka-answers{gap:8px!important;margin-top:0!important}
 .mp-app [data-screen="game"] .ukf-maka-answer{min-height:58px!important;padding:8px 12px!important}
 .mp-app [data-screen="game"] .ukf-maka-answer>strong{font-size:17px!important;line-height:1.18!important}
}
@media(max-width:760px) and (max-height:780px){
 .mp-app [data-screen="game"] .ukf-maka-question-card{padding:13px 12px!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence]{font-size:19px!important;margin-bottom:9px!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence].is-long-question{font-size:17px!important;margin-bottom:8px!important}
 .mp-app [data-screen="game"] .ukf-maka-question-card > h2[data-sentence].is-very-long-question{font-size:15px!important;margin-bottom:7px!important}
 .mp-app [data-screen="game"] .ukf-maka-answers{gap:7px!important}
 .mp-app [data-screen="game"] .ukf-maka-answer{min-height:54px!important;padding:7px 11px!important}
 .mp-app [data-screen="game"] .ukf-maka-answer>strong{font-size:16px!important}
}
