/* nunito-latin-ext-wght-normal */
@font-face {
  font-family: 'Oracy Nunito';
  font-style: normal;
  font-display: swap;
  font-weight: 200 1000;
  src: url(../fonts/nunito-latin-ext-v095.woff2) format('woff2-variations');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
/* nunito-latin-wght-normal */
@font-face {
  font-family: 'Oracy Nunito';
  font-style: normal;
  font-display: swap;
  font-weight: 200 1000;
  src: url(../fonts/nunito-latin-v095.woff2) format('woff2-variations');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* Oracy Library Learning Core 0.8.13 — canonical learner app, student logout and administration contract */
:root{
  --oxapp081-height:100dvh;
  --oxapp081-width:100vw;
  --oxapp081-ink:#2e1747;
  --oxapp081-muted:#716b82;
  --oxapp081-blue:#6d2d8b;
  --oxapp081-blue-soft:#f0e5f7;
  --oxapp081-navy:#2e1747;
  --oxapp081-panel:#ffffff;
  --oxapp081-line:#ecdef2;
  --oxapp081-bg:#f8f3fb;
  --oxapp081-shadow:0 22px 60px rgba(62,27,79,.13);
  --oxapp081-safe-top:env(safe-area-inset-top,0px);
  --oxapp081-safe-right:env(safe-area-inset-right,0px);
  --oxapp081-safe-bottom:env(safe-area-inset-bottom,0px);
  --oxapp081-safe-left:env(safe-area-inset-left,0px);
}
*{box-sizing:border-box}
html.oxapp081-html,body.oxapp081-body{margin:0!important;width:100%;height:100%;min-height:100%;overflow:hidden!important;background:var(--oxapp081-navy);color:var(--oxapp081-ink);font-family:Inter,Aeonik,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}
body.oxapp081-body{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
body.oxapp081-body button,body.oxapp081-body input,body.oxapp081-body select,body.oxapp081-body textarea{font-family:inherit}
body.oxapp081-body button,body.oxapp081-body a{-webkit-tap-highlight-color:transparent}
body.oxapp081-body img,body.oxapp081-body video{display:block;max-width:100%}
body.oxapp081-body [hidden]{display:none!important}

/* Centred sign-in — no cramped "already signed in" intermediary. */
.oxapp081-login-shell{position:fixed;inset:0;min-height:var(--oxapp081-height);display:grid;place-items:center;overflow-y:auto;padding:calc(28px + var(--oxapp081-safe-top)) max(20px,var(--oxapp081-safe-right)) calc(28px + var(--oxapp081-safe-bottom)) max(20px,var(--oxapp081-safe-left));background:radial-gradient(circle at 72% 8%,rgba(157,112,183,.28),transparent 34%),radial-gradient(circle at 8% 88%,rgba(172,133,196,.18),transparent 32%),linear-gradient(155deg,#2e1747 0%,#45215c 55%,#6d2d8b 100%)}
.oxapp081-login-card{width:min(100%,430px);padding:34px 30px 30px;border:1px solid rgba(255,255,255,.55);border-radius:30px;background:rgba(255,255,255,.97);box-shadow:0 32px 90px rgba(0,0,0,.34);text-align:center}
.oxapp081-login-logo{width:64px;height:64px;margin:0 auto 18px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(135deg,#6d2d8b,#a176bd);color:#fff;font-size:36px;font-weight:950;box-shadow:0 16px 34px rgba(109,45,139,.28)}
.oxapp081-login-kicker{margin:0;color:#6d2d8b;font-size:11px;font-weight:900;letter-spacing:.13em}
.oxapp081-login-card h1{margin:8px 0 8px;font-size:clamp(32px,8vw,46px);line-height:1;letter-spacing:-.045em}
.oxapp081-login-copy{margin:0 auto 22px;max-width:320px;color:var(--oxapp081-muted);font-size:15px;line-height:1.5}
.oxapp081-login-error{margin:0 0 14px;padding:11px 13px;border-radius:13px;background:#fff0f2;color:#a5283d;font-size:13px;font-weight:750;text-align:left}
.oxapp081-login-form{display:grid;gap:14px;text-align:left}
.oxapp081-login-form label{display:grid;gap:7px;color:#35203f;font-size:13px;font-weight:850}
.oxapp081-login-form input[type="text"],.oxapp081-login-form input[type="password"],.oxapp081-login-form input:not([type]){width:100%;height:52px;border:1px solid #e4d4ec;border-radius:15px;background:#fff;padding:0 15px;font-size:16px;color:#2e1747;outline:0;box-shadow:0 5px 16px rgba(55,23,70,.04)}
.oxapp081-login-form input:focus{border-color:#6d2d8b;box-shadow:0 0 0 4px rgba(109,45,139,.12)}
.oxapp081-remember{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:9px!important;font-weight:700!important;color:#6f5f77!important}
.oxapp081-remember input{width:18px;height:18px;accent-color:#6d2d8b}
.oxapp081-login-form button{min-height:54px;border:0;border-radius:17px;background:linear-gradient(135deg,#6d2d8b,#8244a0 56%,#a176bd);color:#fff;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 16px 32px rgba(109,45,139,.25)}

/* Single-screen app frame. Only the main view scrolls. */
.oxapp081-root{position:fixed;inset:0;width:var(--oxapp081-width);height:var(--oxapp081-height);max-width:100vw;max-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:var(--oxapp081-bg);isolation:isolate}
.oxapp081-boot{grid-row:1/-1;display:grid;place-items:center;align-content:center;gap:12px;background:linear-gradient(145deg,#2e1747,#45215c);color:#fff}
.oxapp081-boot span{width:66px;height:66px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,#6d2d8b,#a176bd);font-size:38px;font-weight:950}.oxapp081-boot strong{font-size:16px}
.oxapp081-app-header{grid-row:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:calc(12px + var(--oxapp081-safe-top)) calc(18px + var(--oxapp081-safe-right)) 12px calc(18px + var(--oxapp081-safe-left));background:linear-gradient(130deg,#2e1747,#45215c 62%,#5a2973);color:#fff;box-shadow:0 9px 30px rgba(26,11,33,.17);z-index:20}
.oxapp081-brand{display:flex;align-items:center;gap:11px;min-width:0}.oxapp081-brand-mark{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#6d2d8b,#ad85c5);font-size:24px;font-weight:950;box-shadow:0 10px 25px rgba(109,45,139,.26)}
.oxapp081-brand-copy{display:grid;min-width:0}.oxapp081-brand-copy b{font-size:18px;line-height:1.05}.oxapp081-brand-copy small{margin-top:3px;color:rgba(255,255,255,.68);font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.oxapp081-header-actions{display:flex;align-items:center;gap:8px}.oxapp081-header-button{min-height:40px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.1);color:#fff;padding:0 12px;font-size:12px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.oxapp081-avatar{width:42px;height:42px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#f0e5f7);color:#2e1747;font-size:16px;font-weight:950;cursor:pointer}
.oxapp081-main{grid-row:2;min-width:0;min-height:0;overflow:hidden;position:relative}
.oxapp081-scroll{position:absolute;inset:0;min-width:0;overflow-x:hidden;overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:24px max(18px,var(--oxapp081-safe-right)) 38px max(18px,var(--oxapp081-safe-left));background:linear-gradient(180deg,#f7f1fa 0,#fdfbfe 48%,#f7f1fb 100%)}
.oxapp081-scroll-inner{width:min(1180px,100%);margin:0 auto;min-width:0}
.oxapp081-bottom-nav{grid-row:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0;padding:8px calc(12px + var(--oxapp081-safe-right)) calc(8px + var(--oxapp081-safe-bottom)) calc(12px + var(--oxapp081-safe-left));background:#2e1747;border-top:1px solid rgba(255,255,255,.08);z-index:25}
.oxapp081-nav-button{min-width:0;min-height:52px;border:0;border-radius:17px;background:transparent;color:#d8c9e4;display:grid;place-items:center;align-content:center;gap:3px;font-size:11px;font-weight:850;cursor:pointer}.oxapp081-nav-button span:first-child{font-size:19px;line-height:1}.oxapp081-nav-button.is-active{background:#5a3573;color:#fff}

/* Library dashboard */
.oxapp081-welcome{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:27px;border-radius:28px;background:linear-gradient(125deg,#2e1747 0%,#6d2d8b 64%,#9d70b7 100%);color:#fff;box-shadow:0 22px 55px rgba(79,36,102,.23);overflow:hidden;position:relative}.oxapp081-welcome:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;right:-70px;top:-100px;background:rgba(255,255,255,.11)}
.oxapp081-kicker{display:block;margin:0 0 7px;color:#f1dffd;font-size:11px;font-weight:950;letter-spacing:.11em;text-transform:uppercase}.oxapp081-welcome h1{position:relative;z-index:1;margin:0;font-size:clamp(30px,5vw,52px);line-height:.98;letter-spacing:-.045em}.oxapp081-welcome p{position:relative;z-index:1;margin:10px 0 0;max-width:720px;color:rgba(255,255,255,.78);font-size:15px;line-height:1.5}.oxapp081-welcome-badge{position:relative;z-index:1;width:112px;height:112px;border-radius:32px;display:grid;place-items:center;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);font-size:48px;font-weight:950;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.oxapp081-section{margin-top:27px}.oxapp081-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 3px 12px}.oxapp081-section-head h2{margin:0;font-size:clamp(25px,4vw,38px);line-height:1;letter-spacing:-.04em}.oxapp081-section-head p{margin:6px 0 0;color:var(--oxapp081-muted);font-size:13px}.oxapp081-count{padding:7px 11px;border-radius:999px;background:#f0e7f4;color:#5f4969;font-size:11px;font-weight:900}
.oxapp081-continue{display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;gap:19px;padding:18px;border:1px solid #e7d8ee;border-radius:24px;background:#fff;box-shadow:0 15px 40px rgba(68,31,86,.09);min-width:0}.oxapp081-continue-cover{width:118px;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:linear-gradient(145deg,#2e1747,#6d2d8b);position:relative}.oxapp081-continue-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}.oxapp081-cover-fallback{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at 70% 18%,rgba(148,60,190,.5),transparent 31%),linear-gradient(145deg,#260f31,#63287e);color:#fff;font-size:46px;font-weight:950}.oxapp081-continue-copy{min-width:0}.oxapp081-continue-copy small{display:block;color:#6d2d8b;font-size:11px;font-weight:950;letter-spacing:.13em}.oxapp081-continue-copy h3{margin:5px 0 5px;font-size:clamp(22px,3vw,32px);line-height:1.05;letter-spacing:-.035em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oxapp081-continue-copy p{margin:0;color:#84728c;font-size:13px}.oxapp081-progress-line{height:7px;margin-top:12px;border-radius:999px;background:#f0e8f4;overflow:hidden}.oxapp081-progress-line i{display:block;height:100%;width:var(--progress,0%);border-radius:inherit;background:linear-gradient(90deg,#6d2d8b,#8937b0)}
.oxapp081-primary{min-height:48px;border:0;border-radius:16px;padding:0 19px;background:#2c1238;color:#fff;font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 12px 25px rgba(44,18,56,.16)}
.oxapp081-empty{padding:22px;border:1px dashed #d7c5df;border-radius:20px;background:rgba(255,255,255,.65);color:#76667e;text-align:center}
.oxapp081-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 15px}.oxapp081-filter{min-height:42px;border:1px solid #e6d6ed;border-radius:999px;background:#fff;color:#362040;padding:0 17px;font-size:13px;font-weight:900;cursor:pointer}.oxapp081-filter.is-active{border-color:#2c1238;background:#2c1238;color:#fff;box-shadow:0 10px 22px rgba(44,18,56,.15)}
.oxapp081-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;min-width:0}.oxapp081-book-card{min-width:0;border:1px solid #eadfef;border-radius:23px;background:#fff;overflow:hidden;box-shadow:0 12px 32px rgba(56,31,68,.08);cursor:pointer;transition:filter .18s ease,box-shadow .18s ease,border-color .18s ease}.oxapp081-book-card:hover{transform:translateY(-3px);box-shadow:0 18px 40px rgba(56,31,68,.13);border-color:#dcbdea}.oxapp081-book-card:focus-visible{outline:3px solid rgba(109,45,139,.35);outline-offset:3px}.oxapp081-book-cover{position:relative;aspect-ratio:4/5;overflow:hidden;background:linear-gradient(145deg,#281133,#63287e)}.oxapp081-book-cover img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}.oxapp081-book-track{position:absolute;left:10px;top:10px;padding:6px 9px;border-radius:999px;background:rgba(46,23,71,.78);color:#fff;font-size:10px;font-weight:950;letter-spacing:.04em;backdrop-filter:blur(8px)}.oxapp081-book-track.is-sel{background:rgba(83,33,106,.9)}.oxapp081-book-assigned{position:absolute;right:10px;top:10px;padding:6px 8px;border-radius:999px;background:#fff;color:#7e33a2;font-size:9px;font-weight:950}.oxapp081-book-body{padding:14px;min-width:0}.oxapp081-book-theme{display:block;color:#6d2d8b;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oxapp081-book-card.is-sel .oxapp081-book-theme{color:#138574}.oxapp081-book-body h3{margin:6px 0 7px;font-size:17px;line-height:1.12;letter-spacing:-.02em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:38px}.oxapp081-book-skill{margin:0;color:#746c83;font-size:12px;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:32px}.oxapp081-book-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}.oxapp081-chip{padding:5px 7px;border-radius:999px;background:#f3edf6;color:#5d4b65;font-size:9px;font-weight:850}

/* Profile */
.oxapp081-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:17px;padding:23px;border-radius:25px;background:linear-gradient(135deg,#331541,#933bbc);color:#fff;box-shadow:var(--oxapp081-shadow)}.oxapp081-profile-avatar{width:82px;height:82px;border-radius:25px;display:grid;place-items:center;background:linear-gradient(135deg,#fff,#f0e2f6);color:#421b54;font-size:31px;font-weight:950}.oxapp081-profile-hero h1{margin:0;font-size:34px;line-height:1}.oxapp081-profile-hero p{margin:7px 0 0;color:rgba(255,255,255,.72);font-size:13px}.oxapp081-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:18px}.oxapp081-stat{padding:17px;border:1px solid #e5dbea;border-radius:19px;background:#fff}.oxapp081-stat b{display:block;font-size:28px;color:#692a87}.oxapp081-stat span{display:block;margin-top:3px;color:#756e83;font-size:11px;font-weight:800}.oxapp081-progress-list{display:grid;gap:10px}.oxapp081-progress-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid #e5dbea;border-radius:18px;background:#fff}.oxapp081-progress-card h3{margin:0;font-size:16px}.oxapp081-progress-card p{margin:5px 0 0;color:#756e83;font-size:12px}.oxapp081-progress-value{font-size:13px;font-weight:950;color:#6d2d8b}

/* Reader frame */
.oxapp081-reader{position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#f5eef8;z-index:60}
.oxapp081-reader-header{grid-row:1;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:calc(8px + var(--oxapp081-safe-top)) calc(12px + var(--oxapp081-safe-right)) 8px calc(12px + var(--oxapp081-safe-left));background:#2e1747;color:#fff;z-index:4}.oxapp081-reader-title{min-width:0;text-align:center}.oxapp081-reader-title b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oxapp081-reader-title small{display:block;margin-top:2px;color:rgba(255,255,255,.62);font-size:10px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oxapp081-icon-button{min-height:40px;min-width:40px;border:1px solid rgba(255,255,255,.16);border-radius:13px;background:rgba(255,255,255,.08);color:#fff;padding:0 11px;font-size:12px;font-weight:850;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.oxapp081-icon-button.is-small{font-size:0;width:40px;padding:0}.oxapp081-icon-button.is-small:before{content:"⛶";font-size:18px}
.oxapp081-reader-stage{grid-row:2;min-width:0;min-height:0;overflow:hidden;position:relative;background:linear-gradient(145deg,#f4edf8,#faf5fc)}
.oxapp081-reader-footer{grid-row:3;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;width:100%!important;max-width:none!important;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:9px;padding:8px calc(12px + var(--oxapp081-safe-right)) calc(8px + var(--oxapp081-safe-bottom)) calc(12px + var(--oxapp081-safe-left));background:#2e1747;color:#fff;z-index:5;overflow:visible}.oxapp081-reader-footer button{box-sizing:border-box;min-width:0;min-height:46px;border:0;border-radius:15px;padding:0 15px;font-size:12px;font-weight:900;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oxapp081-reader-prev{justify-self:start;width:min(100%,180px);background:#3b2346;color:#fff}.oxapp081-reader-next{justify-self:end;width:min(100%,220px);background:linear-gradient(135deg,#6d2d8b,#913bb9);color:#fff;box-shadow:0 10px 23px rgba(109,45,139,.28)}.oxapp081-reader-footer button:disabled{opacity:.38;cursor:default;box-shadow:none}.oxapp081-step-label{min-width:76px;text-align:center;color:#d7c7de;font-size:10px;font-weight:900;line-height:1.2}

.oxapp081-story-layout,.oxapp081-activity-layout{width:100%;height:100%;min-width:0;min-height:0;display:grid;gap:12px;padding:12px}
.oxapp081-story-layout{grid-template-columns:minmax(0,58fr) minmax(0,42fr)}
.oxapp081-story-media,.oxapp081-evidence{position:relative;min-width:0;min-height:0;border-radius:23px;overflow:hidden;background:radial-gradient(circle at 60% 18%,#953cbf,#401a51 45%,#210d2b);box-shadow:0 17px 45px rgba(49,20,63,.16)}.oxapp081-story-media img,.oxapp081-story-media video,.oxapp081-evidence img,.oxapp081-evidence video{width:100%;height:100%;object-fit:cover;object-position:50% 22%}.oxapp081-media-placeholder{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:9px;padding:20px;text-align:center;color:#fff;background:radial-gradient(circle at 70% 15%,rgba(137,55,176,.45),transparent 32%),linear-gradient(145deg,#2d123a,#652981)}.oxapp081-media-placeholder b{font-size:46px}.oxapp081-media-placeholder span{max-width:340px;font-size:12px;color:rgba(255,255,255,.74);line-height:1.4}.oxapp081-media-badge{position:absolute;left:12px;top:12px;padding:7px 10px;border-radius:999px;background:rgba(46,23,71,.72);color:#fff;font-size:10px;font-weight:900;backdrop-filter:blur(10px)}
.oxapp081-story-copy{min-width:0;min-height:0;overflow:hidden;border:1px solid #e5d9ea;border-radius:23px;background:#fff;padding:clamp(17px,3vw,29px);display:flex;flex-direction:column;justify-content:center;box-shadow:0 16px 42px rgba(57,25,72,.08)}.oxapp081-story-copy small{color:#6d2d8b;font-size:10px;font-weight:950;letter-spacing:.1em}.oxapp081-story-copy h2{margin:7px 0 13px;font-size:clamp(24px,3.5vw,40px);line-height:1;letter-spacing:-.04em}.oxapp081-story-text{font-size:clamp(14px,1.55vw,19px);line-height:1.57;color:#403247}.oxapp081-story-text p{margin:0}.oxapp081-story-controls{display:flex;flex-wrap:wrap;gap:7px;margin-top:17px}.oxapp081-story-controls button{min-height:42px;border:1px solid #e5d8eb;border-radius:13px;background:#f9f5fb;color:#452454;padding:0 12px;font-size:11px;font-weight:900;cursor:pointer}.oxapp081-story-controls button.is-active{border-color:#6d2d8b;background:#f6eef9;color:#7e33a1}.oxapp081-reader-status{min-height:18px;margin-top:8px;color:#76667d;font-size:10px;font-weight:750}

.oxapp081-activity-layout{grid-template-columns:minmax(0,36fr) minmax(0,64fr)}
.oxapp081-evidence{border:1px solid rgba(255,255,255,.4)}.oxapp081-evidence-caption{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;border-radius:14px;background:rgba(46,23,71,.75);color:#fff;backdrop-filter:blur(11px)}.oxapp081-evidence-caption b{display:block;font-size:12px}.oxapp081-evidence-caption span{display:block;margin-top:3px;color:rgba(255,255,255,.7);font-size:10px}
.oxapp081-task-card{min-width:0;min-height:0;overflow:hidden!important;border:1px solid #e3d8e8;border-radius:23px;background:#fff;box-shadow:0 17px 45px rgba(57,25,72,.09);padding:15px;position:relative}.oxapp081-task-inner{--oxapp081-fit:1;width:calc(100% / var(--oxapp081-fit));transform:scale(var(--oxapp081-fit));transform-origin:top left;display:grid;gap:10px;min-width:0}.oxapp081-task-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6d2d8b;font-size:9px;font-weight:950;letter-spacing:.08em}.oxapp081-task-kicker span:last-child{color:#776f86;white-space:nowrap}.oxapp081-task-card h2{margin:0;font-size:clamp(20px,3vw,31px);line-height:1;letter-spacing:-.035em}.oxapp081-task-instruction{margin:0;color:#6d657b;font-size:12px;line-height:1.36}.oxapp081-task-question{margin:0;padding:10px 12px;border-radius:14px;background:#fbf7fc;color:#4c255e;font-size:13px;line-height:1.35;font-weight:850}.oxapp081-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.oxapp081-choice{min-width:0;min-height:51px;border:1.5px solid #e4d8e9;border-radius:14px;background:#fff;color:#392841;padding:9px 11px;text-align:left;font-size:11.5px;line-height:1.25;font-weight:750;cursor:pointer;overflow:hidden}.oxapp081-choice.is-selected{border-color:#6d2d8b!important;background:#f0e5f7!important;color:#6a2b88!important;box-shadow:0 0 0 3px rgba(109,45,139,.12)}.oxapp081-choice.is-correct{border-color:#1a9d68!important;background:#eafaf3!important;color:#116744!important}.oxapp081-choice.is-wrong{border-color:#da4a61!important;background:#fff0f2!important;color:#9c263b!important}.oxapp081-choice-media{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:9px}.oxapp081-choice-media img{width:54px;height:48px;border-radius:10px;object-fit:cover;object-position:50% 20%}
.oxapp081-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.oxapp081-match-column{display:grid;align-content:start;gap:7px}.oxapp081-match{min-height:44px;border:1.5px solid #e4d8e9;border-radius:13px;background:#fff;padding:8px 10px;text-align:left;color:#3d2c45;font-size:11px;line-height:1.24;font-weight:780;cursor:pointer}.oxapp081-match.is-selected{border-color:#6d2d8b;background:#f0e5f7;color:#763096}.oxapp081-match.is-matched{border-color:#1a9d68;background:#eafaf3;color:#126843}.oxapp081-match[disabled]{opacity:.7}
.oxapp081-sequence{display:grid;grid-template-columns:1fr 1fr;gap:9px}.oxapp081-token-zone{min-height:116px;padding:9px;border:1.5px dashed #d7c7df;border-radius:15px;background:#fcf9fd}.oxapp081-token-zone.is-over{border-color:#6d2d8b;background:#f4ebf9}.oxapp081-zone-title{display:block;margin:0 0 7px;color:#756d84;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.07em}.oxapp081-token{width:100%;min-height:46px;margin:0 0 7px;border:1px solid #ded1e4;border-radius:12px;background:#fff;color:#382840;padding:8px 10px;text-align:left;font-size:12.5px;line-height:1.24;font-weight:820;cursor:grab;touch-action:none}.oxapp081-token.is-selected{border-color:#6d2d8b;background:#f0e5f7;color:#742f95}.oxapp081-token:last-child{margin-bottom:0}.oxapp081-drag-help{margin:0;color:#756d84;font-size:9px;line-height:1.3}.oxapp081-drag-ghost{position:fixed!important;z-index:99999!important;width:min(150px,calc(100vw - 28px))!important;max-width:150px!important;min-height:0!important;max-height:48px!important;overflow:hidden!important;margin:0!important;padding:7px 9px!important;border:2px solid #6d2d8b!important;border-radius:11px!important;background:#fff!important;color:#742f95!important;font-size:11px!important;line-height:1.15!important;font-weight:850!important;opacity:.9!important;pointer-events:none!important;box-shadow:0 14px 35px rgba(60,24,77,.32)!important;transform:none!important;transform-origin:top left!important;white-space:normal!important}
.oxapp081-feedback{display:none;padding:9px 11px;border-radius:13px;font-size:10.5px;line-height:1.3;font-weight:800}.oxapp081-feedback.is-visible{display:block}.oxapp081-feedback.is-correct{background:#eafaf3;color:#116744}.oxapp081-feedback.is-wrong{background:#fff0f2;color:#9b293d}.oxapp081-check{min-height:45px;border:0;border-radius:14px;background:#2c1238;color:#fff;font-size:12px;font-weight:950;cursor:pointer}.oxapp081-check:disabled{opacity:.45}
.oxapp081-task-card.is-compact-1{padding:11px}.oxapp081-task-card.is-compact-1 .oxapp081-task-inner{gap:7px}.oxapp081-task-card.is-compact-1 h2{font-size:20px}.oxapp081-task-card.is-compact-1 .oxapp081-task-instruction{font-size:12px}.oxapp081-task-card.is-compact-1 .oxapp081-task-question{padding:8px 10px;font-size:11px}.oxapp081-task-card.is-compact-1 .oxapp081-choice{min-height:43px;padding:7px 8px;font-size:10px}.oxapp081-task-card.is-compact-1 .oxapp081-token{min-height:40px;font-size:11px;padding:6px 8px}.oxapp081-task-card.is-compact-2{padding:8px}.oxapp081-task-card.is-compact-2 .oxapp081-task-inner{gap:5px}.oxapp081-task-card.is-compact-2 h2{font-size:17px}.oxapp081-task-card.is-compact-2 .oxapp081-task-kicker{font-size:8px}.oxapp081-task-card.is-compact-2 .oxapp081-task-instruction,.oxapp081-task-card.is-compact-2 .oxapp081-task-question{font-size:9px}.oxapp081-task-card.is-compact-2 .oxapp081-choice{min-height:36px;padding:5px 7px;font-size:8.7px}.oxapp081-task-card.is-compact-2 .oxapp081-match{min-height:34px;padding:5px 7px;font-size:8.7px}.oxapp081-task-card.is-compact-2 .oxapp081-token-zone{min-height:86px;padding:6px}.oxapp081-task-card.is-compact-2 .oxapp081-token{min-height:34px;margin-bottom:4px;padding:5px 7px;font-size:9px}.oxapp081-task-card.is-compact-2 .oxapp081-check{min-height:36px;font-size:10px}.oxapp081-task-card.is-compact-2 .oxapp081-feedback{padding:6px 8px;font-size:8.8px}
.oxapp081-complete{height:100%;display:grid;place-items:center;padding:20px}.oxapp081-complete-card{width:min(100%,520px);padding:34px;border-radius:28px;background:#fff;text-align:center;box-shadow:0 24px 70px rgba(61,25,78,.17)}.oxapp081-complete-mark{width:74px;height:74px;margin:0 auto 17px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#1da96e,#ad85c5);color:#fff;font-size:38px;font-weight:950}.oxapp081-complete-card h2{margin:0;font-size:38px;letter-spacing:-.04em}.oxapp081-complete-card p{margin:10px auto 20px;max-width:400px;color:#716a7f;line-height:1.5}.oxapp081-return{min-height:50px;border:0;border-radius:16px;background:#2c1238;color:#fff;padding:0 20px;font-size:13px;font-weight:900;cursor:pointer}

/* Install coach: close control is always visible in portrait and landscape. */
.oxapp081-install{position:fixed;z-index:1000;left:max(12px,var(--oxapp081-safe-left));right:max(12px,var(--oxapp081-safe-right));bottom:calc(78px + var(--oxapp081-safe-bottom));width:min(520px,calc(100vw - 24px - var(--oxapp081-safe-left) - var(--oxapp081-safe-right)));margin-left:auto;padding:18px 64px 17px 18px;border:1px solid rgba(255,255,255,.18);border-radius:23px;background:linear-gradient(135deg,#321440,#8e39b6);color:#fff;box-shadow:0 24px 70px rgba(46,23,71,.42);max-height:min(58dvh,430px);overflow-y:auto;-webkit-overflow-scrolling:touch}.oxapp081-install-close{position:absolute!important;right:10px!important;top:10px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:50%!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:25px!important;line-height:1!important;display:grid!important;place-items:center!important;padding:0!important;cursor:pointer!important;z-index:2}.oxapp081-install b{display:block;padding-right:2px;font-size:16px}.oxapp081-install p{margin:6px 0 12px;color:rgba(255,255,255,.75);font-size:12px;line-height:1.42}.oxapp081-install-actions{display:flex;gap:8px;flex-wrap:wrap}.oxapp081-install-actions button{min-height:40px;border:0;border-radius:12px;padding:0 13px;font-size:11px;font-weight:900;cursor:pointer}.oxapp081-install-primary{background:#fff;color:#6d2d8b}.oxapp081-install-later{background:rgba(255,255,255,.13);color:#fff}
.oxapp081-toast{position:fixed;z-index:2000;left:50%;bottom:calc(88px + var(--oxapp081-safe-bottom));transform:translateX(-50%);max-width:min(90vw,520px);padding:11px 14px;border-radius:14px;background:#2e1747;color:#fff;font-size:11px;font-weight:800;text-align:center;box-shadow:0 15px 38px rgba(0,0,0,.32)}

@media(max-width:980px){.oxapp081-books{grid-template-columns:repeat(3,minmax(0,1fr))}.oxapp081-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .oxapp081-app-header{padding-bottom:9px}.oxapp081-brand-copy small{display:none}.oxapp081-header-button{display:none}.oxapp081-scroll{padding-top:17px;padding-left:max(13px,var(--oxapp081-safe-left));padding-right:max(13px,var(--oxapp081-safe-right));padding-bottom:28px}
  .oxapp081-welcome{padding:21px;border-radius:23px;grid-template-columns:minmax(0,1fr) auto}.oxapp081-welcome-badge{width:74px;height:74px;border-radius:24px;font-size:34px}.oxapp081-welcome h1{font-size:31px}.oxapp081-welcome p{font-size:12px}
  .oxapp081-section{margin-top:22px}.oxapp081-section-head h2{font-size:29px}.oxapp081-continue{grid-template-columns:88px minmax(0,1fr);gap:13px;padding:14px;border-radius:20px}.oxapp081-continue-cover{width:88px;border-radius:14px}.oxapp081-continue .oxapp081-primary{grid-column:1/-1;width:100%}.oxapp081-continue-copy h3{font-size:20px}.oxapp081-continue-copy p{font-size:11px}
  .oxapp081-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.oxapp081-book-card{border-radius:18px}.oxapp081-book-body{padding:11px}.oxapp081-book-body h3{font-size:14px;min-height:31px}.oxapp081-book-skill{font-size:10px;min-height:27px}.oxapp081-book-track{left:7px;top:7px;font-size:8px;padding:5px 7px}.oxapp081-book-assigned{right:7px;top:7px;font-size:9px}.oxapp081-chip{font-size:8px}
  .oxapp081-bottom-nav{padding-top:7px}.oxapp081-nav-button{min-height:48px;border-radius:15px}
  .oxapp081-profile-hero{padding:18px}.oxapp081-profile-avatar{width:65px;height:65px;border-radius:20px}.oxapp081-profile-hero h1{font-size:27px}.oxapp081-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .oxapp081-story-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,45fr) minmax(0,55fr);gap:8px;padding:8px}.oxapp081-story-media,.oxapp081-story-copy{border-radius:18px}.oxapp081-story-copy{padding:16px;justify-content:flex-start}.oxapp081-story-copy h2{font-size:24px;margin-bottom:9px}.oxapp081-story-text{font-size:13px;line-height:1.4}.oxapp081-story-controls{margin-top:10px}.oxapp081-story-controls button{min-height:37px;font-size:9px}
  .oxapp081-activity-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,24fr) minmax(0,76fr);gap:7px;padding:7px}.oxapp081-evidence,.oxapp081-task-card{border-radius:18px}.oxapp081-evidence-caption{left:8px;right:8px;bottom:8px;padding:7px 9px}.oxapp081-evidence-caption span{display:none}.oxapp081-task-card{padding:10px}.oxapp081-task-inner{gap:7px}.oxapp081-task-card h2{font-size:21px}.oxapp081-task-instruction{font-size:12px}.oxapp081-task-question{padding:8px 9px;font-size:13px}.oxapp081-choice{min-height:47px;padding:9px 10px;font-size:12.5px}.oxapp081-match{font-size:12px}.oxapp081-token{font-size:12px}.oxapp081-reader-footer{gap:6px;padding-top:7px}.oxapp081-reader-footer button{min-height:43px;padding:0 10px;font-size:10px}.oxapp081-reader-prev{width:min(100%,120px)}.oxapp081-reader-next{width:min(100%,150px)}.oxapp081-step-label{min-width:58px;font-size:8.5px}
}
@media(max-width:360px){.oxapp081-welcome-badge{display:none}.oxapp081-welcome{grid-template-columns:1fr}.oxapp081-books{grid-template-columns:1fr}.oxapp081-book-cover{aspect-ratio:16/9}.oxapp081-book-body h3,.oxapp081-book-skill{min-height:0}.oxapp081-options{grid-template-columns:repeat(2,minmax(0,1fr))}.oxapp081-sequence{grid-template-columns:1fr 1fr}.oxapp081-reader-title small{display:none}.oxapp081-icon-button{padding:0 9px}.oxapp081-reader-footer{grid-template-columns:minmax(0,1fr) 52px minmax(0,1fr)}}
@media(orientation:landscape) and (max-height:520px){
  .oxapp081-app-header{padding-top:6px;padding-bottom:6px}.oxapp081-brand-mark,.oxapp081-avatar{width:36px;height:36px;min-width:36px;flex-basis:36px;border-radius:12px}.oxapp081-brand-copy small{display:none}.oxapp081-bottom-nav{padding-top:5px;padding-bottom:calc(5px + var(--oxapp081-safe-bottom))}.oxapp081-nav-button{min-height:39px;grid-template-columns:auto auto;gap:5px}.oxapp081-nav-button span:first-child{font-size:15px}
  .oxapp081-reader-header{padding-top:calc(4px + var(--oxapp081-safe-top));padding-bottom:4px}.oxapp081-reader-header .oxapp081-icon-button{min-height:34px;min-width:34px;border-radius:11px}.oxapp081-reader-title b{font-size:11px}.oxapp081-reader-title small{display:none}.oxapp081-reader-footer{padding-top:4px;padding-bottom:calc(4px + var(--oxapp081-safe-bottom))}.oxapp081-reader-footer button{min-height:36px;border-radius:11px;font-size:9px}.oxapp081-step-label{font-size:8px}
  .oxapp081-story-layout{grid-template-columns:minmax(0,57fr) minmax(0,43fr);grid-template-rows:1fr;padding:5px;gap:5px}.oxapp081-story-media,.oxapp081-story-copy{border-radius:14px}.oxapp081-story-copy{padding:10px}.oxapp081-story-copy small{font-size:9px}.oxapp081-story-copy h2{font-size:18px;margin:4px 0 6px}.oxapp081-story-text{font-size:9.5px;line-height:1.25}.oxapp081-story-controls{gap:4px;margin-top:6px}.oxapp081-story-controls button{min-height:29px;border-radius:9px;padding:0 8px;font-size:9.5px}.oxapp081-reader-status{min-height:10px;margin-top:3px;font-size:9px}
  .oxapp081-activity-layout{grid-template-columns:minmax(0,30fr) minmax(0,70fr);grid-template-rows:1fr;padding:5px;gap:5px}.oxapp081-evidence,.oxapp081-task-card{border-radius:14px}.oxapp081-evidence-caption{left:5px;right:5px;bottom:5px;padding:5px 7px}.oxapp081-evidence-caption b{font-size:8px}.oxapp081-task-card{padding:6px}.oxapp081-task-inner{gap:4px}.oxapp081-task-kicker{font-size:8px}.oxapp081-task-card h2{font-size:14px}.oxapp081-task-instruction{font-size:9px}.oxapp081-task-question{padding:5px 6px;font-size:9.5px}.oxapp081-options,.oxapp081-match-grid{gap:4px}.oxapp081-choice{min-height:28px;border-radius:8px;padding:4px 5px;font-size:10px}.oxapp081-match{min-height:27px;border-radius:8px;padding:4px 5px;font-size:10px}.oxapp081-sequence{gap:4px}.oxapp081-token-zone{min-height:58px;padding:4px;border-radius:9px}.oxapp081-zone-title{margin-bottom:3px;font-size:8px}.oxapp081-token{min-height:25px;margin-bottom:3px;border-radius:7px;padding:3px 5px;font-size:10px}.oxapp081-check{min-height:27px;border-radius:8px;font-size:9px}.oxapp081-feedback{padding:4px 5px;font-size:8px}.oxapp081-drag-help{display:none}
  .oxapp081-install{left:12px;right:auto;bottom:calc(50px + var(--oxapp081-safe-bottom));width:min(430px,calc(100vw - 24px));max-height:calc(100dvh - 64px);padding:11px 54px 11px 13px;border-radius:17px}.oxapp081-install-close{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;top:7px!important;right:7px!important}.oxapp081-install p{margin:3px 0 7px;font-size:9px}.oxapp081-install-actions button{min-height:31px;font-size:9px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* 0.8.7 component rules. No DOM scanning and no fixed-position ancestor overrides. */
.oxapp081-cover-fallback{align-content:center;gap:8px;padding:14px;text-align:center;font-size:16px;line-height:1.18}
.oxapp081-cover-fallback small{font-size:9px;letter-spacing:.16em;color:#f1dffd}.oxapp081-cover-fallback strong{font-size:clamp(14px,2vw,22px)}
.oxapp081-book-cover img,.oxapp081-continue-cover img{position:relative;z-index:1}
.oxapp081-bottom-nav{margin:0;border-radius:0;align-self:stretch}
.oxapp084-download{width:calc(100% - 22px);margin:0 11px 12px;min-height:40px;border:1px solid #dcccE9;border-radius:12px;background:#f4ebf9;color:#6d2d8b;font-family:inherit;font-weight:800;font-size:12px;line-height:1.2;cursor:pointer;padding:8px}
.oxapp084-download.is-downloaded{background:#eafaf3;color:#116744}.oxapp084-download:disabled{opacity:.6;cursor:wait}
.oxapp084-build{font-size:12px;color:#6d657b}
.oxapp084-pair-board{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:8px;min-width:0}
.oxapp084-pair-bank,.oxapp084-pair-targets{display:grid;align-content:start;gap:7px;min-width:0}
.oxapp084-pair-bank .oxapp081-token{margin:0;display:flex;align-items:center;gap:6px;min-width:0}
.oxapp084-pair-bank .oxapp081-token span{min-width:0;overflow-wrap:anywhere}
.oxapp084-pair-bank .oxapp081-token:disabled{opacity:.45}
.oxapp084-pair-image{height:42px!important;width:48px!important;flex:0 0 48px;object-fit:cover;object-position:50% 22%;border-radius:8px}
.oxapp081-match .oxapp084-pair-image{display:inline-block;vertical-align:middle;margin-right:5px}
.oxapp084-pair-target{min-width:0;min-height:49px;display:grid;gap:3px;align-content:center;border:1.5px dashed #d6c4e2;border-radius:12px;background:#fbf7fd;text-align:left;padding:6px 9px;color:#442757;cursor:pointer}
.oxapp084-pair-target strong{font-size:11px;line-height:1.22}.oxapp084-pair-target span{font-size:10px;color:#81618f}
.oxapp084-pair-target.is-over{border-color:#6d2d8b;background:#f0e5f7}
.oxapp084-reset{border:0;border-radius:9px;background:#f4ebf9;color:#6d2d8b;min-height:30px;font-size:11px;cursor:pointer}
.oxapp081-choice:focus-visible,.oxapp081-token:focus-visible,.oxapp084-pair-target:focus-visible,button:focus-visible{outline:3px solid #6d2d8b;outline-offset:2px}
.oxapp081-complete-card .oxapp081-return{margin:5px}
.oxapp081-task-inner{align-content:start}
@media(max-width:720px){.oxapp084-full{display:inline-flex}.oxapp084-full span{display:none}.oxapp084-full{padding:0;width:40px}.oxapp084-pair-target strong{font-size:10px}}
@media(orientation:landscape) and (max-height:520px){
 .oxapp081-task-card.is-compact-1,.oxapp081-task-card.is-compact-2{padding:5px}
 .oxapp081-task-card.is-compact-1 h2,.oxapp081-task-card.is-compact-2 h2{font-size:14px}
 .oxapp081-task-card.is-compact-1 .oxapp081-task-inner,.oxapp081-task-card.is-compact-2 .oxapp081-task-inner{gap:3px}
 .oxapp081-task-card.is-compact-1 .oxapp081-choice,.oxapp081-task-card.is-compact-2 .oxapp081-choice{min-height:29px;font-size:9.5px;padding:4px}
 .oxapp081-task-card.is-compact-1 .oxapp081-match,.oxapp081-task-card.is-compact-2 .oxapp081-match{min-height:25px;font-size:9px;padding:3px 5px}
 .oxapp081-task-card.is-compact-1 .oxapp081-token,.oxapp081-task-card.is-compact-2 .oxapp081-token{min-height:26px;font-size:9.5px;padding:3px 5px;margin-bottom:3px}
 .oxapp081-task-card.is-compact-1 .oxapp081-token-zone,.oxapp081-task-card.is-compact-2 .oxapp081-token-zone{min-height:50px;padding:4px}
 .oxapp081-task-card.is-compact-1 .oxapp081-check,.oxapp081-task-card.is-compact-2 .oxapp081-check{min-height:26px;font-size:10px}
 .oxapp081-task-card.is-compact-1 .oxapp081-task-question,.oxapp081-task-card.is-compact-2 .oxapp081-task-question{font-size:9px;padding:4px 6px}
 .oxapp081-task-card.is-compact-1 .oxapp081-feedback,.oxapp081-task-card.is-compact-2 .oxapp081-feedback{font-size:9px;padding:4px}
 .oxapp081-choice-media{grid-template-columns:38px minmax(0,1fr);gap:5px}.oxapp081-choice-media img{width:38px;height:30px;border-radius:5px}
 .oxapp084-pair-image{width:32px!important;height:26px!important;flex-basis:32px}
 .oxapp084-pair-board,.oxapp084-pair-bank,.oxapp084-pair-targets{gap:4px}
 .oxapp084-pair-target{min-height:32px;padding:4px 6px;border-radius:8px}.oxapp084-pair-target strong{font-size:9px}.oxapp084-pair-target span{font-size:8px}.oxapp084-reset{min-height:25px;font-size:10px}
}

@media(max-width:720px) and (orientation:portrait){.oxapp081-activity-layout.is-dense{grid-template-rows:minmax(0,14fr) minmax(0,86fr)}}
@media(orientation:landscape) and (max-height:520px){.oxapp081-activity-layout.is-dense{grid-template-columns:minmax(0,22fr) minmax(0,78fr)}}
@media(orientation:landscape) and (max-height:520px){
 .oxapp081-task-card .oxapp084-pair-bank .oxapp081-token{margin-bottom:0}
 .oxapp084-pair-bank .oxapp084-pair-image{height:22px!important}
}
@media(orientation:landscape) and (max-height:360px){
 /* The same activity number is already visible in the persistent footer. */
 .oxapp081-task-card.is-compact-2 .oxapp081-task-kicker{display:none}
}
@media(max-width:720px){
 .oxapp081-header-actions [data-install-app]{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 8px;font-size:0}
 .oxapp081-header-actions [data-install-app]:after{content:'Install';font-size:10px}
}

/* Oracy Library identity: supplied artwork, not a typeface recreation. */
:root{--orl085-primary:#6D2D8B;--orl085-deep:#2E1747;--orl085-light:#F0E5F7}
.oxapp081-app-header{background:#fbf8fe;color:var(--orl085-deep);box-shadow:0 2px 14px rgba(46,23,71,.07)}
.orl085-wordmark{width:clamp(150px,18vw,190px);height:auto;object-fit:contain}
.oxapp081-header-button{color:var(--orl085-deep);background:#f0e5f7;border-color:#e2d2ec}
.oxapp081-avatar{background:#6d2d8b;color:white;border-color:#814899}
.orl085-login-logo{width:min(100%,220px);height:auto;margin:0 auto 24px}
.orl085-boot-mark{width:70px;height:auto;background:#fbf8fe;border-radius:15px;padding:7px}
.oxapp081-welcome-badge{background:#faf5fd;border-color:#e6d8ee;padding:15px}
.oxapp081-welcome-badge img{width:100%;height:100%;object-fit:contain}
.oxapp081-cover-fallback img{width:42px;height:auto;padding:5px;background:#fbf8fe;border-radius:9px;margin:0 auto 8px}
.oxapp081-media-placeholder>img{width:56px;height:auto;opacity:.75}
.oxapp081-continue{cursor:pointer}.oxapp081-continue:focus-visible{outline:3px solid #6d2d8b;outline-offset:3px}
.orl085-completed{display:block;margin:9px 0 0;color:#6d2d8b;font-weight:850;font-size:12px}
.orl085-progress-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.orl085-progress-actions button{border:1px solid #dcc7e8;border-radius:12px;padding:8px 12px;background:#f4eafa;color:#542169;min-height:36px;font-weight:800;cursor:pointer}
.orl085-revisit-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch}
.orl085-revisit-actions button,.orl085-story-return{flex:1 1 auto;border:1px solid #ddc9e8;border-radius:10px;background:#f4ebfa;color:#56206f;font-family:inherit;font-size:11px;font-weight:800;min-height:32px;padding:5px 8px;cursor:pointer}
.orl085-revisit-actions[hidden]{display:none!important}
.oxapp081-check{background:#6d2d8b}
.oxapp081-complete-mark{background:linear-gradient(135deg,#6d2d8b,#aa7dc4)}
.oxapp081-complete-card{padding:clamp(16px,3vh,30px);max-height:100%;width:min(100%,530px)}
.oxapp081-complete-card h2{font-size:clamp(23px,5vw,34px);line-height:1.1}
.oxapp081-complete-card h3{font-size:clamp(17px,3vw,24px);line-height:1.2;margin:10px 0;color:#6d2d8b}
.oxapp081-complete-card p{font-size:13px;margin:10px auto 16px;line-height:1.4}
.orl085-complete-actions{display:grid;gap:8px}
.oxapp081-complete-card .oxapp081-return{margin:0;width:100%;min-height:44px;background:#6d2d8b}
.oxapp081-complete-card .oxapp081-return.orl085-secondary{background:#f0e5f7;color:#4e2264;border:1px solid #dfcce9}
.oxapp081-complete-card .oxapp081-return.orl085-tertiary{background:transparent;color:#4e2264;border:1px solid #dfcce9}
@media(max-width:720px){.orl085-wordmark{width:clamp(132px,39vw,164px)}.oxapp081-brand{flex:1;min-width:0}.oxapp081-app-header{gap:7px}.oxapp081-header-actions{gap:5px}.oxapp081-welcome-badge{padding:10px}}
@media(orientation:landscape) and (max-height:520px){
.orl085-wordmark{width:164px}.orl085-revisit-actions{gap:4px}.orl085-revisit-actions button{min-height:25px;font-size:9px;padding:3px 6px}
.oxapp081-complete{padding:8px}.oxapp081-complete-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;align-items:center;text-align:left;width:min(100%,680px);padding:15px 20px}
.oxapp081-complete-mark{width:40px;height:40px;font-size:24px;margin:0 0 6px;grid-column:1}
.oxapp081-complete-card h2,.oxapp081-complete-card h3,.oxapp081-complete-card p{grid-column:1;margin:3px 0}
.oxapp081-complete-card h2{font-size:22px}.oxapp081-complete-card h3{font-size:15px}.oxapp081-complete-card p{font-size:10px}
.orl085-complete-actions{grid-column:2;grid-row:1/5;gap:6px}.oxapp081-complete-card .oxapp081-return{min-height:35px;font-size:11px;padding:5px 8px;border-radius:11px}
}
@media(prefers-reduced-motion:no-preference){.oxapp081-complete-mark{animation:orl085-appear .3s ease-out}@keyframes orl085-appear{from{transform:scale(.9);opacity:.2}to{transform:scale(1);opacity:1}}}

.oxapp081-media-placeholder>img{background:#fbf8fe;border-radius:14px;padding:7px;opacity:1}

@media(orientation:landscape) and (max-height:520px){
 .oxapp081-evidence-caption .orl085-revisit-actions{display:grid;grid-template-columns:1fr;gap:4px;margin-top:5px}
 .oxapp081-evidence-caption .orl085-revisit-actions button{font-size:9px;min-height:25px;padding:4px;line-height:1.2;border-radius:7px}
}
@media(max-width:340px) and (orientation:portrait){
 .oxapp081-task-card.is-compact-2 .orl085-revisit-actions button{min-height:26px;font-size:9px;padding:3px 5px}
 .oxapp081-task-card.is-compact-2 .oxapp081-task-inner{gap:4px}
}

/* 0.8.7: low-profile edge dock; do not reposition the reader footer or any task. */
html.orl086-installed .oxapp081-root{height:100%;height:100dvh;max-height:none}
@media(max-width:720px),(pointer:coarse) and (max-height:520px){
  .oxapp081-bottom-nav{padding-top:4px;padding-right:max(12px,var(--oxapp081-safe-right));padding-left:max(12px,var(--oxapp081-safe-left));padding-bottom:max(4px,calc(var(--oxapp081-safe-bottom) - 12px));gap:4px;margin:0;border-radius:0}
  .oxapp081-bottom-nav .oxapp081-nav-button{min-height:46px;padding-top:4px;padding-bottom:4px}
}
@media(orientation:landscape) and (max-height:520px){
  .oxapp081-bottom-nav .oxapp081-nav-button{min-height:38px}
}
/* Keep the approved corporate form; short displays/keyboard scroll from the top. */
.oxapp081-login-shell{height:100%;min-height:0;display:flex;align-items:flex-start;justify-content:center}
.oxapp081-login-card{margin:auto;flex-shrink:0}
.orl086-login-help{font-size:12px;line-height:1.5;color:var(--oxapp081-muted);margin:20px 0 12px}
.orl086-login-home{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:13px;font-weight:700;color:#6d2d8b;text-decoration:none}
.orl086-login-home:hover{text-decoration:underline}
.orl086-login-home:focus-visible{outline:3px solid #6d2d8b;outline-offset:4px;border-radius:6px}
@media(max-width:420px){.oxapp081-login-card{padding:26px 22px 22px}.oxapp081-login-shell{padding-left:14px;padding-right:14px}}


/* 0.8.8 canonical Reader controls */
.oxapp081-story-controls [data-listen].is-active,
.oxapp081-story-controls [data-listen][aria-pressed="true"]{background:#2e1747!important;color:#fff!important;border-color:#2e1747!important;box-shadow:0 0 0 3px rgba(109,45,139,.18)!important}
.oxapp088-animation-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-width:132px!important}
.oxapp088-animation-toggle.is-active,.oxapp088-animation-toggle[aria-pressed="true"]{background:#2e1747!important;color:#fff!important;border-color:#2e1747!important}

.oxapp081-book-card.is-self-regulation .oxapp081-book-track,.oxapp081-book-track.is-self-regulation{background:#224e65!important;color:#fff!important}.oxapp081-book-card.is-self-regulation{--book-accent:#2f7890}


/* 0.8.10 red/blue light-style animation switch */
.oxapp089-animation-toggle{display:inline-flex!important;align-items:center!important;justify-content:flex-start!important;gap:9px!important;min-width:138px!important;padding:5px 10px 5px 6px!important;background:#fff1f1!important;border-color:#e36a6a!important;color:#8f2424!important}
.oxapp089-switch-track{position:relative;display:inline-flex;width:44px;height:24px;flex:0 0 44px;border-radius:999px;background:#d94b4b;box-shadow:inset 0 0 0 1px rgba(80,0,0,.12);transition:background .18s ease}
.oxapp089-switch-knob{position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:filter .18s ease}
.oxapp089-switch-copy{display:flex;align-items:baseline;gap:5px;line-height:1}.oxapp089-switch-copy b{font-size:11px}.oxapp089-switch-copy small{font-size:9px;opacity:.78;text-transform:uppercase;letter-spacing:.04em}
.oxapp089-animation-toggle.is-active,.oxapp089-animation-toggle[aria-pressed="true"]{background:#edf5ff!important;border-color:#2877d6!important;color:#1557a3!important}
.oxapp089-animation-toggle.is-active .oxapp089-switch-track,.oxapp089-animation-toggle[aria-pressed="true"] .oxapp089-switch-track{background:#2877d6}
.oxapp089-animation-toggle.is-active .oxapp089-switch-knob,.oxapp089-animation-toggle[aria-pressed="true"] .oxapp089-switch-knob{transform:translateX(20px)}
.oxapp081-reader-status:empty{display:none!important;margin:0!important;min-height:0!important}

.oxapp081-login-success{margin:14px 0;padding:12px 14px;border-radius:14px;background:#ecf9f0;border:1px solid #b8e1c3;color:#176b35;font-weight:700}


/* 0.8.13 expanded reading collections */
.oxapp081-book-card.is-classics .oxapp081-book-theme,.oxapp081-book-track.is-classics{color:#7a4316}
.oxapp081-book-track.is-classics{background:rgba(126,73,27,.92);color:#fff}
.oxapp081-book-card.is-non-fiction .oxapp081-book-theme{color:#126b62}.oxapp081-book-track.is-non-fiction{background:rgba(18,107,98,.92);color:#fff}
.oxapp081-book-card.is-future-worlds .oxapp081-book-theme{color:#2859a6}.oxapp081-book-track.is-future-worlds{background:rgba(40,89,166,.92);color:#fff}
.oxapp081-book-card.is-critical-thinking .oxapp081-book-theme{color:#8a3c21}.oxapp081-book-track.is-critical-thinking{background:rgba(138,60,33,.92);color:#fff}

/* Oracy Library 0.9.0 — Primary programme layer. Secondary styles above remain unchanged. */
body.is-primary-programme{
  --primary-ink:#332442;
  --primary-purple:#7a3f96;
  --primary-lilac:#f4eafa;
  --primary-yellow:#ffd866;
  --primary-teal:#54c8c1;
  --primary-coral:#ff8a78;
  --primary-blue:#7ca8ff;
  background:linear-gradient(180deg,#f8f2fb 0%,#edf7ff 56%,#fff9df 100%);
}
body.is-primary-programme .oxapp081-main{background:transparent}
body.is-primary-programme .oxapp081-scroll-inner{max-width:1320px}
body.is-primary-programme .oxapp081-app-header{
  background:rgba(255,255,255,.94);border-bottom:1px solid rgba(122,63,150,.12);box-shadow:0 10px 32px rgba(91,55,121,.08)
}
body.is-primary-programme .oxapp081-welcome{
  position:relative;overflow:hidden;min-height:190px;border:0;border-radius:34px;
  background:linear-gradient(135deg,#70408f 0%,#9c64b6 52%,#5fc7c4 100%);
  color:#fff;box-shadow:0 18px 45px rgba(72,40,100,.2)
}
body.is-primary-programme .oxapp081-welcome:before,
body.is-primary-programme .oxapp081-welcome:after{content:"";position:absolute;border-radius:999px;background:rgba(255,255,255,.13);pointer-events:none}
body.is-primary-programme .oxapp081-welcome:before{width:210px;height:210px;right:-54px;top:-80px}
body.is-primary-programme .oxapp081-welcome:after{width:94px;height:94px;right:190px;bottom:-38px;background:rgba(255,216,102,.33)}
body.is-primary-programme .oxapp081-welcome h1{font-size:clamp(2rem,5vw,4rem);line-height:1.02;color:#fff;letter-spacing:-.04em}
body.is-primary-programme .oxapp081-welcome p{max-width:620px;font-size:clamp(1rem,2vw,1.3rem);color:rgba(255,255,255,.92)}
body.is-primary-programme .oxapp081-kicker{color:#ffe891;font-weight:900;letter-spacing:.13em}
body.is-primary-programme .oxapp081-welcome-badge{background:#fff;border:8px solid rgba(255,255,255,.34);box-shadow:0 12px 28px rgba(38,22,54,.18)}
body.is-primary-programme .oxapp081-welcome-badge>span{max-width:100%;padding:4px;color:#5b3472;font-size:.72rem;line-height:1.1;text-align:center;overflow-wrap:anywhere}
body.is-primary-programme .oxapp081-section{border-radius:30px;background:rgba(255,255,255,.9);border:1px solid rgba(122,63,150,.1);box-shadow:0 12px 34px rgba(78,52,99,.07)}
body.is-primary-programme .oxapp081-section-head h2{font-size:clamp(1.35rem,3vw,2rem);color:var(--primary-ink)}
body.is-primary-programme .oxapp081-section-head p{color:#6f6279;font-size:1rem}
body.is-primary-programme .oxapp081-filters:empty{display:none}
body.is-primary-programme .oxapp081-books{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px}
body.is-primary-programme .oxapp081-book-card{border-radius:28px;border:2px solid rgba(122,63,150,.1);background:#fff;box-shadow:0 12px 28px rgba(58,37,75,.1);transition:filter .18s ease,box-shadow .18s ease}
body.is-primary-programme .oxapp081-book-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(58,37,75,.16)}
body.is-primary-programme .oxapp081-book-cover{border-radius:25px 25px 14px 14px;overflow:hidden;background:linear-gradient(135deg,#f7edfb,#e7f7ff)}
body.is-primary-programme .oxapp081-book-track{background:#ffe891;color:#51345d;border:0;font-weight:900}
body.is-primary-programme .oxapp081-book-theme{color:#7a3f96;font-weight:900;letter-spacing:.08em}
body.is-primary-programme .oxapp081-book-body h3{font-size:1.32rem;line-height:1.13;color:var(--primary-ink)}
body.is-primary-programme .oxapp081-chip{background:#f3eafa;color:#63357a;border-color:#ead7f2}
body.is-primary-programme .oxapp084-download{border-radius:16px;background:#eef8ff;color:#315f8d;font-weight:800}
body.is-primary-programme .oxapp081-continue{border-radius:28px;background:linear-gradient(120deg,#fff7cf,#fff,#e9f8ff);border:2px solid rgba(255,216,102,.62)}
body.is-primary-programme .oxapp081-primary{background:#713e8e;border-radius:16px;font-weight:900}
body.is-primary-programme .oxapp081-bottom-nav{background:rgba(255,255,255,.96);border-top-color:rgba(122,63,150,.12)}
body.is-primary-programme .oxapp081-nav-button.is-active{color:#7a3f96;background:#f2e7f7}
body.is-primary-programme .oxapp081-reader.is-primary-reader{background:linear-gradient(180deg,#f7effa,#edf8ff)}
body.is-primary-programme .is-primary-reader .oxapp081-reader-header{background:#fff;border-bottom-color:#e7d9ef}
body.is-primary-programme .is-primary-reader .oxapp081-reader-title b{font-size:clamp(1rem,2vw,1.35rem);color:#432651}
body.is-primary-programme .is-primary-reader .oxapp081-story-layout{background:#fff;border-radius:28px;box-shadow:0 14px 38px rgba(64,40,82,.13)}
body.is-primary-programme .is-primary-reader .oxapp081-story-copy{background:linear-gradient(180deg,#fff,#fffaf0)}
body.is-primary-programme .is-primary-reader .oxapp081-story-copy>small{color:#7a3f96;font-weight:900}
body.is-primary-programme .is-primary-reader .oxapp081-story-text{font-size:clamp(1rem,2.2vw,1.35rem);line-height:1.55;color:#382c40}
body.is-primary-programme .is-primary-reader .oxapp081-story-controls button{min-height:50px;border-radius:16px;font-weight:900}
body.is-primary-programme .is-primary-reader [data-listen]{background:#6f3d8d;color:#fff}
body.is-primary-programme .is-primary-reader [data-hide-text]{background:#eef8ff;color:#315f8d}
body.is-primary-programme .is-primary-reader .oxapp081-reader-footer{background:#fff;border-top-color:#e8dbef}
body.is-primary-programme .is-primary-reader .oxapp081-reader-prev,
body.is-primary-programme .is-primary-reader .oxapp081-reader-next{border-radius:16px;font-weight:900}
.oxprimary090-moment{display:grid;grid-template-columns:1fr auto;gap:6px 12px;align-items:center;margin:14px 0;padding:14px 16px;border-radius:20px;background:linear-gradient(120deg,#fff2b8,#e9fbfb);border:2px solid rgba(84,200,193,.35);box-shadow:0 7px 18px rgba(72,82,105,.09)}
.oxprimary090-moment span{grid-column:1/-1;font-size:.7rem;font-weight:950;letter-spacing:.14em;color:#78428e}
.oxprimary090-moment b{font-size:1rem;line-height:1.3;color:#34263f}
.oxprimary090-moment button{border:0;border-radius:14px;padding:10px 14px;background:#54c8c1;color:#173e42;font-weight:950;cursor:pointer}
.oxprimary090-moment.is-done{opacity:.7}.oxprimary090-moment.is-done button{background:#7a3f96;color:#fff}
@media(max-width:760px){
 body.is-primary-programme .oxapp081-welcome{min-height:155px;border-radius:24px;padding:22px}
 body.is-primary-programme .oxapp081-welcome-badge{width:74px;height:74px}
 body.is-primary-programme .oxapp081-section{border-radius:22px;padding:16px}
 body.is-primary-programme .oxapp081-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body.is-primary-programme .oxapp081-book-card{border-radius:20px}
 body.is-primary-programme .oxapp081-book-body{padding:12px}
 body.is-primary-programme .oxapp081-book-body h3{font-size:1rem}
 body.is-primary-programme .is-primary-reader .oxapp081-story-layout{border-radius:0}
 .oxprimary090-moment{grid-template-columns:1fr auto;padding:12px;border-radius:16px}
}

/* Oracy Library 0.9.1 — Primary playful activities. Every rule is programme-gated. */
body.is-primary-programme button,body.is-primary-programme a{min-height:44px}
body.is-primary-programme :focus-visible{outline:3px solid #184f75!important;outline-offset:3px!important}
body.is-primary-programme .oxprimary091-dashboard{display:grid;gap:22px}
body.is-primary-programme .oxprimary091-section{padding:clamp(16px,3vw,28px);border:1px solid rgba(122,63,150,.12);border-radius:30px;background:rgba(255,255,255,.94);box-shadow:0 12px 34px rgba(78,52,99,.08)}
body.is-primary-programme .oxprimary091-section>h2,body.is-primary-programme .oxprimary091-section h2{margin-top:0;color:#332442}
body.is-primary-programme .oxprimary091-today{display:grid;grid-template-columns:minmax(150px,280px) 1fr;align-items:center;gap:clamp(18px,4vw,42px);padding:18px;border-radius:28px;background:linear-gradient(125deg,#fff5bd,#fff 52%,#e3f8ff);border:2px solid #f0d96e;cursor:pointer}
body.is-primary-programme .oxprimary091-today-cover{position:relative;aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:#f4eafa}
body.is-primary-programme .oxprimary091-today-cover img{width:100%;height:100%;object-fit:cover}
body.is-primary-programme .oxprimary091-today>div:last-child>span{color:#6b397f;font-size:.78rem;font-weight:950;letter-spacing:.1em;text-transform:uppercase}
body.is-primary-programme .oxprimary091-today h2{margin:8px 0;font-size:clamp(1.6rem,4vw,3rem)}
body.is-primary-programme .oxprimary091-play-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.is-primary-programme .oxprimary091-play-card{min-height:92px;display:flex;align-items:center;gap:13px;padding:14px;border:2px solid #d9e8f6;border-radius:22px;background:linear-gradient(135deg,#eff8ff,#fff);cursor:pointer}
body.is-primary-programme .oxprimary091-play-card>span{width:52px;height:52px;display:grid;place-items:center;flex:0 0 52px;border-radius:18px;background:#ffd866;color:#573c00;font-size:26px}
body.is-primary-programme .oxprimary091-play-card div{display:grid;gap:4px;min-width:0}body.is-primary-programme .oxprimary091-play-card b{overflow:hidden;text-overflow:ellipsis}body.is-primary-programme .oxprimary091-play-card small{color:#61566b}
body.is-primary-programme .oxprimary091-stickers{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(125deg,#fff8d9,#fff,#edfaff)}
body.is-primary-programme .oxprimary091-stickers p{margin-bottom:0;color:#675a70}
body.is-primary-programme .oxprimary091-sticker-row{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
body.is-primary-programme .oxprimary091-sticker-row span{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:#fff;border:2px solid #efd76d;font-size:29px;box-shadow:0 7px 16px rgba(69,45,79,.09)}
body.is-primary-programme .oxprimary091-sticker-row .is-locked{color:#8a8190;background:#f5f2f6;border-color:#ddd6e2}
body.is-primary-programme .oxprimary091-sound-setting{margin-right:12px;padding:0 16px;border:2px solid #79c8c4;border-radius:14px;background:#eafaf8;color:#244c4a;font-weight:900;cursor:pointer}
body.is-primary-programme .oxprimary091-speed{display:inline-grid;grid-template-columns:1fr 1fr;gap:3px;padding:3px;border-radius:15px;background:#efe6f3}
body.is-primary-programme .oxprimary091-speed button{min-width:70px!important;min-height:44px!important;border:0!important;border-radius:12px!important;background:transparent!important;color:#50365c!important;box-shadow:none!important}
body.is-primary-programme .oxprimary091-speed button.is-active{background:#fff!important;color:#54206d!important;box-shadow:0 3px 9px rgba(62,31,75,.12)!important}
body.is-primary-programme .oxprimary091-listen-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
body.is-primary-programme .oxprimary091-listen-row .oxapp081-check{width:auto;min-width:160px;margin:0;background:#553071}
body.is-primary-programme .oxprimary091-read-aloud{min-height:44px;border:1px solid #c7b5d2;border-radius:13px;background:#fff;color:#553071;padding:8px 12px;font-weight:800;cursor:pointer}
body.is-primary-programme .oxprimary091-choice-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;min-width:0}
body.is-primary-programme .oxprimary091-choice-wrap .oxapp081-choice{width:100%;min-height:54px}
body.is-primary-programme .oxprimary091-option-audio{width:46px;min-width:46px;min-height:46px;align-self:center;border:1px solid #c8ddeb;border-radius:14px;background:#eef8ff;color:#254f70;cursor:pointer}
body.is-primary-programme .oxapp081-sequence{grid-template-columns:1fr;gap:8px}
body.is-primary-programme .oxapp081-token-zone{min-height:72px;display:flex;align-items:stretch;align-content:flex-start;flex-wrap:wrap;gap:7px;padding:10px}
body.is-primary-programme .oxapp081-zone-title{width:100%}
body.is-primary-programme .oxapp081-token{width:auto;max-width:100%;min-height:48px;flex:1 1 130px;margin:0;text-align:center;touch-action:none}
body.is-primary-programme .oxapp084-pair-board{grid-template-columns:1fr;gap:8px}
body.is-primary-programme .oxapp084-pair-bank{display:flex;flex-wrap:wrap;gap:7px}
body.is-primary-programme .oxapp084-pair-bank .oxapp081-token{min-height:48px;flex:1 1 120px}
body.is-primary-programme .oxapp084-pair-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.is-primary-programme.primary-kindergarten .oxapp084-pair-target,body.is-primary-programme.primary-grade-1 .oxapp084-pair-target,body.is-primary-programme.primary-kindergarten .oxapp081-token-zone,body.is-primary-programme.primary-grade-1 .oxapp081-token-zone{min-height:72px}
body.is-primary-programme .is-over{border-color:#2f8d88!important;background:#e4fbf8!important;box-shadow:0 0 0 4px rgba(47,141,136,.16)!important}
body.is-primary-programme .is-pulse{animation:oxprimary091-pulse .7s ease-in-out infinite alternate}
body.is-primary-programme .oxapp081-drag-ghost{width:min(160px,calc(100vw - 28px))!important;max-width:160px!important;max-height:56px!important;top:auto;transition:left .16s ease,top .16s ease,opacity .16s ease}
body.is-primary-programme .oxapp081-drag-ghost.is-spring-back{opacity:.45!important}
@keyframes oxprimary091-pulse{to{box-shadow:0 0 0 6px rgba(84,200,193,.22)}}
body.is-primary-programme .oxprimary091-game{width:100%;height:100%;padding:12px;display:grid;place-items:center;background:linear-gradient(145deg,#f6edfb,#eaf9ff 62%,#fff7ce)}
body.is-primary-programme .oxprimary091-game-card{width:min(100%,1000px);max-height:100%;display:grid;grid-template-columns:minmax(180px,38%) 1fr;gap:clamp(16px,4vw,38px);align-items:center;padding:clamp(16px,3vw,32px);overflow:auto;border:2px solid rgba(122,63,150,.14);border-radius:32px;background:#fff;box-shadow:0 20px 55px rgba(63,35,79,.15)}
body.is-primary-programme .oxprimary091-game-visual{aspect-ratio:4/3;display:grid;place-items:center;overflow:hidden;border-radius:26px;background:linear-gradient(145deg,#ffe996,#f4eafa);font-size:clamp(64px,13vw,140px)}
body.is-primary-programme .oxprimary091-game-visual img{width:100%;height:100%;object-fit:cover}
body.is-primary-programme .oxprimary091-game-copy{display:grid;gap:10px;min-width:0}
body.is-primary-programme .oxprimary091-game-kicker{color:#71408a;font-size:.72rem;font-weight:950;letter-spacing:.1em}
body.is-primary-programme .oxprimary091-game-copy h2{margin:0;font-size:clamp(1.6rem,4vw,3rem);line-height:1}
body.is-primary-programme .oxprimary091-game-copy p{margin:0;color:#62566a;line-height:1.45}
body.is-primary-programme .oxprimary091-game-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.is-primary-programme .oxprimary091-game-items button,body.is-primary-programme .oxprimary091-game-listen{min-height:52px;border:2px solid #dccce7;border-radius:17px;background:#fff;color:#3e2b48;padding:9px 12px;font-weight:850;cursor:pointer}
body.is-primary-programme .oxprimary091-game-items button span{margin-right:7px;color:#8a4da5}
body.is-primary-programme .oxprimary091-game-items button.is-done{border-color:#5dbbb5;background:#eafaf8;color:#24524f}
body.is-primary-programme .oxprimary091-game-status{min-height:26px;color:#3f3360;font-weight:900}
body.is-primary-programme .oxprimary091-game-copy small{color:#766d7d}

@media(max-width:760px){
 body.is-primary-programme .oxprimary091-dashboard{gap:14px}
 body.is-primary-programme .oxprimary091-section{padding:14px;border-radius:22px}
 body.is-primary-programme .oxprimary091-today{grid-template-columns:110px 1fr;gap:14px;padding:12px;border-radius:22px}
 body.is-primary-programme .oxprimary091-today h2{font-size:1.35rem}
 body.is-primary-programme .oxprimary091-today p{display:none}
 body.is-primary-programme .oxprimary091-play-grid{grid-template-columns:1fr 1fr;gap:8px}
 body.is-primary-programme .oxprimary091-play-card{min-height:76px;padding:10px;border-radius:17px}
 body.is-primary-programme .oxprimary091-play-card>span{width:44px;height:44px;flex-basis:44px;border-radius:14px;font-size:21px}
 body.is-primary-programme .oxprimary091-stickers{align-items:flex-start;flex-direction:column}
 body.is-primary-programme .oxprimary091-sticker-row{justify-content:flex-start}
 body.is-primary-programme .oxprimary091-sticker-row span{width:48px;height:48px;font-size:24px}
 body.is-primary-programme .oxapp084-pair-targets{grid-template-columns:1fr}
 body.is-primary-programme .oxprimary091-game-card{grid-template-columns:1fr;grid-template-rows:minmax(100px,28%) 1fr;gap:12px;padding:13px;border-radius:23px;overflow:auto}
 body.is-primary-programme .oxprimary091-game-visual{max-height:190px}
 body.is-primary-programme .oxprimary091-game-items{gap:6px}
}
@media(max-width:420px){body.is-primary-programme .oxprimary091-play-grid{grid-template-columns:1fr}body.is-primary-programme .oxprimary091-choice-wrap{grid-template-columns:minmax(0,1fr) 44px}}
body.is-primary-programme .oxapp081-reader-header .oxapp081-icon-button,
body.is-primary-programme .oxapp081-reader-footer button,
body.is-primary-programme .oxapp081-story-controls button,
body.is-primary-programme .oxapp081-nav-button,
body.is-primary-programme .oxapp081-task-card .oxapp081-choice,
body.is-primary-programme .oxapp081-task-card .oxapp081-match,
body.is-primary-programme .oxapp081-task-card .oxapp081-check,
body.is-primary-programme .oxapp084-pair-target,
body.is-primary-programme .oxapp084-reset{min-height:44px!important}
body.is-primary-programme .oxapp081-reader-header .oxapp081-icon-button,
body.is-primary-programme .oxapp081-nav-button{min-width:44px!important}
body.is-primary-programme .oxapp081-token{min-height:44px!important}
body.is-primary-programme .oxapp081-header-button,
body.is-primary-programme .oxapp081-avatar{min-width:44px!important;min-height:44px!important}
body.is-primary-programme .oxapp081-task-card .oxapp081-task-inner button,
body.is-primary-programme .oxapp081-task-card .oxapp081-task-inner [role="button"]{min-height:54px!important}
body.is-primary-programme .oxapp081-task-card .oxapp081-task-inner .oxprimary091-option-audio{width:54px!important;min-width:54px!important}
body.is-primary-programme.primary-kindergarten .oxapp081-task-card .oxapp084-pair-target,
body.is-primary-programme.primary-grade-1 .oxapp081-task-card .oxapp084-pair-target{min-height:72px!important}
@media(orientation:landscape) and (max-height:520px){
 body.is-primary-programme .activity-type-pair_drop .oxapp081-task-inner{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start}
 body.is-primary-programme .activity-type-pair_drop .oxapp081-task-kicker,
 body.is-primary-programme .activity-type-pair_drop .oxapp081-task-inner>h2,
 body.is-primary-programme .activity-type-pair_drop .oxapp081-task-instruction,
 body.is-primary-programme .activity-type-pair_drop .oxapp081-task-question,
 body.is-primary-programme .activity-type-pair_drop .oxapp084-pair-board,
 body.is-primary-programme .activity-type-pair_drop .oxapp081-feedback,
 body.is-primary-programme .activity-type-pair_drop [data-revisit-actions]{grid-column:1/-1}
 body.is-primary-programme .activity-type-pair_drop .oxapp081-task-instruction{display:none}
 body.is-primary-programme .activity-type-pair_drop .oxprimary091-listen-row{grid-column:1}
 body.is-primary-programme .activity-type-pair_drop .oxapp084-reset{grid-column:2}
 body.is-primary-programme .activity-type-pair_drop [data-check]{grid-column:3}
 body.is-primary-programme .activity-type-pair_drop .oxapp084-pair-board{grid-template-columns:minmax(0,.7fr) minmax(0,2fr)!important;gap:5px}
 body.is-primary-programme .activity-type-pair_drop .oxapp084-pair-bank{align-content:stretch;flex-wrap:nowrap;gap:4px}
 body.is-primary-programme .activity-type-pair_drop .oxapp084-pair-bank .oxapp081-token{min-width:0;flex:1 1 0}
 body.is-primary-programme .oxapp084-pair-targets{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.is-primary-programme.primary-kindergarten .oxapp081-task-card .oxapp084-pair-target,
 body.is-primary-programme.primary-grade-1 .oxapp081-task-card .oxapp084-pair-target{min-height:88px!important}
 body.is-primary-programme .oxprimary091-game{padding:5px}
 body.is-primary-programme .oxprimary091-game-card{grid-template-columns:minmax(130px,30%) 1fr;grid-template-rows:1fr;gap:10px;padding:9px 12px;border-radius:18px;overflow:hidden}
 body.is-primary-programme .oxprimary091-game-visual{max-height:none;height:100%;font-size:56px}
 body.is-primary-programme .oxprimary091-game-copy{gap:4px}
 body.is-primary-programme .oxprimary091-game-copy h2{font-size:1.25rem}
 body.is-primary-programme .oxprimary091-game-copy p{font-size:.72rem;line-height:1.25}
 body.is-primary-programme .oxprimary091-game-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 body.is-primary-programme .oxprimary091-game-items button,body.is-primary-programme .oxprimary091-game-listen{min-height:44px;padding:4px 7px;border-radius:10px;font-size:.68rem}
 body.is-primary-programme .oxprimary091-game-status,body.is-primary-programme .oxprimary091-game-copy small{font-size:.65rem;min-height:0}
 body.is-primary-programme .oxprimary091-listen-row .oxapp081-check{min-height:44px;min-width:130px}
 body.is-primary-programme .oxprimary091-speed button{min-height:44px!important;min-width:54px!important}
 body.is-primary-programme .oxapp081-token-zone{min-height:72px;padding:5px}
 body.is-primary-programme .oxapp081-token{min-height:44px}
}
@media(prefers-reduced-motion:reduce){body.is-primary-programme .is-pulse{animation:none;box-shadow:0 0 0 4px rgba(84,200,193,.22)}}

/* Primary storybook experience — visually continues the supplied Oracy Board reference. */
body.is-primary-programme .is-primary-reader{--book-deep:#2f2050;--book-accent:#603078;--book-paper:#fffaf0;--book-wash-a:#f4e7fb;--book-wash-b:#ddf5eb;--story-ink:var(--book-deep);--story-purple:var(--book-accent);--story-cream:var(--book-paper);--story-mint:var(--book-wash-b);--story-sky:#e8f6ff;--story-yellow:#ffe28a}
body.is-primary-programme .is-primary-reader .oxapp081-reader-header{background:var(--book-deep);color:#fff;border:0;box-shadow:0 7px 22px rgba(37,23,57,.16)}
body.is-primary-programme .is-primary-reader .oxapp081-reader-header .oxapp081-icon-button{border-color:rgba(255,255,255,.24);background:rgba(255,255,255,.09);color:#fff}
body.is-primary-programme .is-primary-reader .oxapp081-reader-title{display:flex;flex-direction:column-reverse;align-items:center;gap:2px}
body.is-primary-programme .is-primary-reader .oxapp081-reader-title b{color:#fff;font-size:clamp(1rem,2vw,1.35rem)}
body.is-primary-programme .is-primary-reader .oxapp081-reader-title small{margin:0;color:#e8dff1;font-size:.58rem;font-weight:900;letter-spacing:.18em}
body.is-primary-programme .is-primary-reader .oxapp081-reader-stage{perspective:1500px;background:radial-gradient(circle at 18% 16%,var(--book-wash-a),transparent 34%),radial-gradient(circle at 86% 84%,var(--book-wash-b),transparent 37%),linear-gradient(135deg,var(--book-paper),#fff 54%,var(--book-wash-b))}
body.is-primary-programme .is-primary-reader .oxapp081-reader-stage:before,
body.is-primary-programme .is-primary-reader .oxapp081-reader-stage:after{content:"✦";position:absolute;z-index:0;color:#d6b9e3;font-size:24px;opacity:.65;pointer-events:none}
body.is-primary-programme .is-primary-reader .oxapp081-reader-stage:before{left:3.5%;top:12%}
body.is-primary-programme .is-primary-reader .oxapp081-reader-stage:after{content:"●";right:4%;bottom:11%;color:#9edacf;font-size:18px}
.oxprimary092-reader-scene{position:relative;z-index:1;width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:10px clamp(12px,3vw,38px) 12px}
.oxprimary092-story-rail{width:min(1120px,100%);margin:0 auto;display:grid;grid-template-columns:auto minmax(170px,1fr);align-items:center;gap:18px;min-width:0}
.oxprimary092-story-rail>div:first-child{display:flex;align-items:baseline;gap:9px;white-space:nowrap}
.oxprimary092-story-rail span{color:#735187;font-size:.62rem;font-weight:950;letter-spacing:.14em}
.oxprimary092-story-rail b{color:var(--story-ink);font-size:.77rem}
.oxprimary092-page-path{height:24px;display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
.oxprimary092-page-path .oxprimary092-path-dot{width:9px;height:9px;flex:0 1 9px;border:2px solid #cdb8d7;border-radius:50%;background:#fff;transition:filter .18s ease,background .18s ease,border-color .18s ease}
.oxprimary092-page-path .oxprimary092-path-dot.is-done{border-color:#72c5b8;background:#72c5b8}
.oxprimary092-page-path .oxprimary092-path-dot.is-current{width:14px;height:14px;flex-basis:14px;border:3px solid #fff;background:var(--book-accent);box-shadow:0 0 0 2px var(--book-accent);transform:scale(1.04)}
.oxprimary092-open-book{position:relative;width:min(1120px,100%);height:100%;min-width:0;min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,56fr) minmax(0,44fr);padding:7px;border:1px solid rgba(94,57,112,.12);border-radius:25px;background:#f7f0e8;box-shadow:0 20px 48px rgba(51,34,65,.17),0 3px 0 rgba(80,47,96,.08);transform-style:preserve-3d}
.oxprimary092-open-book:before{content:"";position:absolute;inset:7px;border-radius:19px;box-shadow:inset 0 0 0 1px rgba(80,55,45,.08);pointer-events:none;z-index:4}
.oxprimary092-book-spine{position:absolute;z-index:6;left:50%;top:8px;bottom:8px;width:18px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(50,30,44,.14),rgba(255,255,255,.58),rgba(50,30,44,.1),transparent);pointer-events:none}
body.is-primary-programme .is-primary-reader .oxprimary092-picture-page{border:0;border-radius:19px 4px 4px 19px;box-shadow:none;background:#eadff0}
body.is-primary-programme .is-primary-reader .oxprimary092-picture-page:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 84%,rgba(45,27,47,.12));pointer-events:none}
body.is-primary-programme .is-primary-reader .oxprimary092-picture-page img,
body.is-primary-programme .is-primary-reader .oxprimary092-picture-page video{object-position:50% 35%}
body.is-primary-programme .is-primary-reader .oxprimary092-picture-page .oxapp081-media-badge{left:16px;top:15px;padding:8px 11px;border:1px solid rgba(255,255,255,.52);background:var(--book-deep);font-size:.62rem;letter-spacing:.1em;z-index:3;opacity:.9}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page{position:relative;justify-content:flex-start;gap:0;border:0;border-radius:4px 19px 19px 4px;padding:clamp(14px,2.4vw,31px);background:linear-gradient(90deg,#f8f3ea,#fffdf7 11%,var(--book-paper));box-shadow:none;overflow:hidden}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page:after{content:"";position:absolute;right:13px;bottom:12px;width:32px;height:32px;border-right:2px solid #efd787;border-bottom:2px solid #efd787;border-radius:0 0 13px 0;opacity:.8;pointer-events:none}
.oxprimary092-story-heading{flex:0 0 auto}
.oxprimary092-story-tags{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
body.is-primary-programme .is-primary-reader .oxprimary092-story-tags small{color:#704087;font-size:.64rem;font-weight:950;letter-spacing:.14em}
.oxprimary092-story-tags span{padding:5px 8px;border-radius:999px;background:var(--book-wash-a);color:var(--book-deep);font-size:.63rem;font-weight:900}
body.is-primary-programme .is-primary-reader .oxprimary092-story-heading h2{margin:8px 0 10px;color:var(--story-ink);font-size:clamp(1.45rem,3vw,2.45rem);line-height:1.02;letter-spacing:-.035em}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-text{flex:0 1 auto;min-height:0;padding:12px 14px;border:1px solid #efdfbd;border-radius:17px;background:rgba(255,255,255,.72);color:#3f3342;font-size:clamp(.95rem,1.65vw,1.23rem);line-height:1.5;box-shadow:0 6px 18px rgba(87,62,51,.045)}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls{flex:0 0 auto;align-items:stretch;margin-top:10px;gap:6px}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>button{min-height:46px;border:1px solid #ddcde5;border-radius:14px;background:#fff;color:#4d315b;padding:0 13px}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page [data-listen]{background:var(--book-deep);color:#fff;border-color:var(--book-deep);box-shadow:0 7px 16px rgba(48,35,64,.18)}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page [data-listen]>span{margin-right:5px;color:#ffe28a;font-size:1rem}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page [data-hide-text]{background:#eaf6fb;color:#28536c;border-color:#cce5ef}
body.is-primary-programme .is-primary-reader .oxprimary090-moment{flex:0 0 auto;margin:9px 0 0;padding:11px 13px;border:1px solid var(--book-accent);border-left:6px solid var(--book-accent);border-radius:16px;background:linear-gradient(105deg,var(--book-wash-b),var(--book-paper))}
body.is-primary-programme .is-primary-reader .oxprimary090-moment span{color:#5f3473}
body.is-primary-programme .is-primary-reader .oxprimary090-moment button{min-width:54px;min-height:44px}
body.is-primary-programme .is-primary-reader .oxapp081-reader-footer{background:#fffdf8;color:#382747;border-top:1px solid #e9ddd0;box-shadow:0 -7px 24px rgba(53,35,63,.08)}
body.is-primary-programme .is-primary-reader .oxapp081-reader-footer button{border:1px solid #d8c9d9;background:#fff;color:#3d2b48;box-shadow:none}
body.is-primary-programme .is-primary-reader .oxapp081-reader-footer .oxapp081-reader-next{border-color:var(--book-deep);background:var(--book-deep);color:#fff;box-shadow:0 7px 16px rgba(48,35,64,.2)}
body.is-primary-programme .is-primary-reader .oxapp081-step-label{color:#594863;font-size:.72rem}
body.is-primary-programme .is-primary-reader .oxapp081-reader-stage.is-page-turn-next>*{animation:oxprimary092-turn-next .42s cubic-bezier(.22,.72,.2,1)}
body.is-primary-programme .is-primary-reader .oxapp081-reader-stage.is-page-turn-previous>*{animation:oxprimary092-turn-previous .42s cubic-bezier(.22,.72,.2,1)}
@keyframes oxprimary092-turn-next{0%{opacity:.25;transform:translateX(24px) rotateY(-3deg) scale(.988)}100%{opacity:1;transform:none}}
@keyframes oxprimary092-turn-previous{0%{opacity:.25;transform:translateX(-24px) rotateY(3deg) scale(.988)}100%{opacity:1;transform:none}}

/* The same visual language continues through Primary activities and games. */
body.is-primary-programme .is-primary-reader .oxapp081-activity-layout{background:radial-gradient(circle at 12% 12%,var(--book-wash-a),transparent 32%),linear-gradient(135deg,var(--book-paper),var(--book-wash-b))}
body.is-primary-programme .is-primary-reader .oxapp081-evidence{border:7px solid #f7f0e8;border-radius:25px;background:#eee3f3;box-shadow:0 17px 40px rgba(59,37,69,.14)}
body.is-primary-programme .is-primary-reader .oxapp081-evidence-caption{background:rgba(47,32,80,.84)}
body.is-primary-programme .is-primary-reader .oxapp081-task-card{border:7px solid #f7f0e8;border-radius:25px;background:linear-gradient(110deg,#fff,var(--book-paper));box-shadow:0 17px 40px rgba(59,37,69,.12)}
body.is-primary-programme .is-primary-reader .oxapp081-task-kicker{color:#6f3c87;letter-spacing:.12em}
body.is-primary-programme .is-primary-reader .oxapp081-task-question{border-left:6px solid var(--book-accent);background:var(--book-wash-b)}
body.is-primary-programme .is-primary-reader .oxapp081-choice,
body.is-primary-programme .is-primary-reader .oxapp081-match{border-width:2px;border-color:#e2d4e9;border-radius:16px;background:#fff}

body.is-primary-programme .oxprimary091-game{position:relative;padding:10px clamp(12px,3vw,38px) 12px;background:radial-gradient(circle at 18% 16%,var(--book-wash-a),transparent 34%),radial-gradient(circle at 86% 84%,var(--book-wash-b),transparent 37%),linear-gradient(135deg,var(--book-paper),#fff 54%,var(--book-wash-b))}
body.is-primary-programme .oxprimary092-game-shell{width:min(1120px,100%);height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}
body.is-primary-programme .oxprimary092-game-rail{display:grid;grid-template-columns:auto minmax(150px,1fr);align-items:center;gap:18px}
body.is-primary-programme .oxprimary092-game-rail>div:first-child{display:flex;align-items:baseline;gap:9px;white-space:nowrap}
body.is-primary-programme .oxprimary092-game-rail span{color:#735187;font-size:.62rem;font-weight:950;letter-spacing:.14em}
body.is-primary-programme .oxprimary092-game-rail b{font-size:.77rem;color:#382747}
body.is-primary-programme .oxprimary092-game-progress{height:12px;border:2px solid #dac9df;border-radius:999px;background:#fff;overflow:hidden}
body.is-primary-programme .oxprimary092-game-progress i{display:block;width:var(--game-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--book-accent),#ffe28a,var(--book-deep));transition:width .24s ease}
body.is-primary-programme .oxprimary091-game-card{width:100%;height:100%;min-height:0;max-height:none;padding:7px;grid-template-columns:minmax(180px,48%) minmax(0,52%);gap:0;border:1px solid rgba(94,57,112,.12);border-radius:25px;background:#f7f0e8;box-shadow:0 20px 48px rgba(51,34,65,.17);overflow:hidden}
body.is-primary-programme .oxprimary091-game-visual{position:relative;width:100%;height:100%;min-height:0;aspect-ratio:auto;border-radius:19px 4px 4px 19px;background:linear-gradient(145deg,#ffe99b,#eadff0);overflow:hidden}
body.is-primary-programme .oxprimary091-game-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 84%,rgba(45,27,47,.12));pointer-events:none}
body.is-primary-programme .oxprimary091-game-visual img{object-position:50% 35%}
body.is-primary-programme .oxprimary092-game-visual-label{position:absolute;z-index:2;left:14px;top:14px;padding:7px 9px;border-radius:999px;background:rgba(47,32,80,.82);color:#fff;font-size:.61rem;letter-spacing:.1em}
body.is-primary-programme .oxprimary091-game-copy{height:100%;min-height:0;align-content:center;padding:clamp(13px,2.7vw,31px);border-radius:4px 19px 19px 4px;background:linear-gradient(90deg,#f8f3ea,#fffdf7 11%,var(--book-paper));overflow:auto}
body.is-primary-programme .oxprimary091-game-kicker{color:#704087;letter-spacing:.13em}
body.is-primary-programme .oxprimary091-game-copy h2{color:#342044;font-size:clamp(1.55rem,3.5vw,2.75rem)}
body.is-primary-programme .oxprimary091-game-items button{border:2px solid #e0d1e7;border-radius:16px;background:#fff;box-shadow:0 5px 13px rgba(63,35,79,.05)}
body.is-primary-programme .oxprimary091-game-items button:nth-child(3n+1) span{color:#75428d}
body.is-primary-programme .oxprimary091-game-items button:nth-child(3n+2) span{color:#df8a35}
body.is-primary-programme .oxprimary091-game-items button:nth-child(3n) span{color:#3e9991}
body.is-primary-programme .oxprimary091-game-items button.is-done{border-color:#65bdb3;background:#eaf8f4;box-shadow:0 0 0 3px rgba(101,189,179,.12)}
/* Ten recognisable play surfaces; interaction order and button placement stay consistent. */
body.is-primary-programme .oxprimary091-game-mystery_window .oxprimary091-game-items button{border-radius:7px 7px 17px 17px;background:linear-gradient(180deg,var(--book-wash-a),#fff 38%);box-shadow:inset 0 6px 0 var(--book-accent),0 5px 13px rgba(63,35,79,.05)}
body.is-primary-programme .oxprimary091-game-listening_train .oxprimary091-game-items{position:relative;padding-bottom:8px}
body.is-primary-programme .oxprimary091-game-listening_train .oxprimary091-game-items:after{content:"";position:absolute;left:4%;right:4%;bottom:2px;height:4px;border-radius:999px;background:var(--book-deep);opacity:.3}
body.is-primary-programme .oxprimary091-game-listening_train .oxprimary091-game-items button{border-radius:17px 17px 9px 9px;background:var(--book-wash-b)}
body.is-primary-programme .oxprimary091-game-story_steps .oxprimary091-game-items{counter-reset:story-step}
body.is-primary-programme .oxprimary091-game-story_steps .oxprimary091-game-items button{counter-increment:story-step;position:relative;padding-left:38px;text-align:left;border-style:dashed;background:#fffdf6}
body.is-primary-programme .oxprimary091-game-story_steps .oxprimary091-game-items button:before{content:counter(story-step);position:absolute;left:10px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--book-deep);color:#fff;font-size:.7rem}
body.is-primary-programme .oxprimary091-game-picture_flip .oxprimary091-game-items button{border-radius:12px;background:linear-gradient(135deg,var(--book-wash-a),#fff 52%,var(--book-wash-b));box-shadow:5px 6px 0 rgba(62,43,72,.09)}
body.is-primary-programme .oxprimary091-game-picture_flip .oxprimary091-game-items button.is-done{transform:rotate(-1deg) translateY(-2px)}
body.is-primary-programme .oxprimary091-game-sound_garden .oxprimary091-game-items button{border-radius:24px 24px 12px 12px;background:linear-gradient(180deg,#fff7bd,#fff 48%,var(--book-wash-b))}
body.is-primary-programme .oxprimary091-game-balloon_pop_words .oxprimary091-game-items button{border-radius:999px;background:linear-gradient(145deg,#fff,var(--book-wash-a));box-shadow:inset -5px -6px 0 rgba(78,45,91,.06),0 7px 14px rgba(63,35,79,.07)}
body.is-primary-programme .oxprimary091-game-colour_bridge .oxprimary091-game-items{gap:4px}
body.is-primary-programme .oxprimary091-game-colour_bridge .oxprimary091-game-items button{border-radius:8px;background:#fff4cf;border-bottom:7px solid #e8b14c}
body.is-primary-programme .oxprimary091-game-colour_bridge .oxprimary091-game-items button:nth-child(2n){background:#e4f5f1;border-bottom-color:#66bcb1}
body.is-primary-programme .oxprimary091-game-treasure_path .oxprimary091-game-items button{border-style:dashed;border-radius:18px;background:#fff8de}
body.is-primary-programme .oxprimary091-game-treasure_path .oxprimary091-game-items button:nth-child(even){transform:translateY(5px)}
body.is-primary-programme .oxprimary091-game-match_rocket .oxprimary091-game-items button{border-radius:22px 22px 9px 9px;background:linear-gradient(180deg,#eef4ff,#fff);border-bottom:6px solid var(--book-accent)}
body.is-primary-programme .oxprimary091-game-star_catcher .oxprimary091-game-items button{border-radius:20px 8px 20px 8px;background:linear-gradient(145deg,#fff9ce,#fff);box-shadow:0 0 0 3px rgba(255,226,138,.28)}

@media(max-width:760px) and (orientation:portrait){
 .oxprimary092-reader-scene{gap:7px;padding:7px 9px 9px}
 .oxprimary092-story-rail{grid-template-columns:auto minmax(0,1fr);gap:9px}
 .oxprimary092-story-rail>div:first-child span{display:none}
 .oxprimary092-page-path{gap:3px}
 .oxprimary092-page-path .oxprimary092-path-dot{width:7px;height:7px;flex-basis:7px;border-width:1px}
 .oxprimary092-page-path .oxprimary092-path-dot.is-current{width:11px;height:11px;flex-basis:11px;border-width:2px;box-shadow:0 0 0 1px #73408d}
 .oxprimary092-open-book{grid-template-columns:1fr;grid-template-rows:minmax(0,45fr) minmax(0,55fr);padding:6px;border-radius:21px}
 .oxprimary092-book-spine{left:7px;right:7px;top:45%;bottom:auto;width:auto;height:17px;transform:translateY(-50%);background:linear-gradient(180deg,transparent,rgba(50,30,44,.14),rgba(255,255,255,.6),rgba(50,30,44,.09),transparent)}
 body.is-primary-programme .is-primary-reader .oxprimary092-picture-page{border-radius:15px 15px 3px 3px}
 body.is-primary-programme .is-primary-reader .oxprimary092-picture-page:after{background:linear-gradient(180deg,transparent 84%,rgba(45,27,47,.12))}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page{border-radius:3px 3px 15px 15px;padding:12px 13px 10px}
 body.is-primary-programme .is-primary-reader .oxprimary092-story-heading h2{margin:5px 0 7px;font-size:1.35rem}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-text{padding:9px 11px;font-size:.93rem;line-height:1.4}
 body.is-primary-programme .is-primary-reader .oxprimary090-moment{margin-top:7px;padding:8px 10px}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:7px;overflow:visible;padding-bottom:2px}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>*{width:100%;min-width:0}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls .oxapp088-animation-toggle{min-width:0!important}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxprimary091-speed button{min-width:0!important}
 body.is-primary-programme .oxprimary091-game{padding:7px 9px 9px}
 body.is-primary-programme .oxprimary092-game-shell{gap:7px}
 body.is-primary-programme .oxprimary092-game-rail{grid-template-columns:auto 1fr;gap:9px}
 body.is-primary-programme .oxprimary092-game-rail>div:first-child span{display:none}
 body.is-primary-programme .oxprimary091-game-card{grid-template-columns:1fr;grid-template-rows:minmax(150px,44%) minmax(0,56%);padding:6px;border-radius:21px}
 body.is-primary-programme .oxprimary091-game-visual{max-height:none;border-radius:15px 15px 3px 3px}
 body.is-primary-programme .oxprimary091-game-visual:after{background:linear-gradient(180deg,transparent 84%,rgba(45,27,47,.12))}
 body.is-primary-programme .oxprimary091-game-copy{border-radius:3px 3px 15px 15px;padding:12px;align-content:start}
}
@media(orientation:landscape) and (max-height:520px){
 body.is-primary-programme .is-primary-reader .oxapp081-reader-title{gap:0}
 body.is-primary-programme .is-primary-reader .oxapp081-reader-title small{display:none}
 .oxprimary092-reader-scene{grid-template-rows:minmax(0,1fr);gap:0;padding:4px 7px 5px}
 .oxprimary092-story-rail{display:none}
 .oxprimary092-story-rail>div:first-child span{display:none}
 .oxprimary092-story-rail b{font-size:.61rem}
 .oxprimary092-page-path{height:18px;gap:3px}
 .oxprimary092-page-path .oxprimary092-path-dot{width:6px;height:6px;flex-basis:6px;border-width:1px}
 .oxprimary092-page-path .oxprimary092-path-dot.is-current{width:9px;height:9px;flex-basis:9px;border-width:2px;box-shadow:none}
 .oxprimary092-open-book{padding:4px;border-radius:16px}
 .oxprimary092-open-book:before{inset:4px;border-radius:12px}
 .oxprimary092-book-spine{top:5px;bottom:5px;width:12px}
 body.is-primary-programme .is-primary-reader .oxprimary092-picture-page{border-radius:12px 3px 3px 12px}
 body.is-primary-programme .is-primary-reader .oxprimary092-picture-page .oxapp081-media-badge{left:8px;top:8px;padding:5px 7px;font-size:.48rem}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page{position:static;border-radius:3px 12px 12px 3px;padding:8px 8px 56px}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page:after{display:none}
 .oxprimary092-story-tags span{display:none}
 body.is-primary-programme .is-primary-reader .oxprimary092-story-tags small{font-size:.5rem}
 body.is-primary-programme .is-primary-reader .oxprimary092-story-heading h2{margin:3px 0 5px;font-size:1rem}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-text{padding:5px 7px;border-radius:9px;font-size:.64rem;line-height:1.25}
 body.is-primary-programme .is-primary-reader .oxprimary090-moment{grid-template-columns:1fr auto;margin-top:4px;padding:4px 6px;border-left-width:3px;border-radius:9px;gap:2px 5px}
 body.is-primary-programme .is-primary-reader .oxprimary090-moment span{font-size:.43rem}
 body.is-primary-programme .is-primary-reader .oxprimary090-moment b{font-size:.58rem;line-height:1.15}
 body.is-primary-programme .is-primary-reader .oxprimary090-moment button{min-width:44px;min-height:44px;padding:3px 7px;font-size:.58rem}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls{position:absolute;z-index:8;left:9px;right:9px;bottom:7px;margin:0;display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;overflow:hidden;gap:4px;padding:3px;border:1px solid rgba(108,70,117,.14);border-radius:12px;background:rgba(255,253,248,.94);box-shadow:0 5px 14px rgba(54,34,61,.1);backdrop-filter:blur(8px)}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>*{flex:0 1 auto}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls .oxapp088-animation-toggle{min-width:112px!important}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>button{min-height:44px!important;padding:0 8px;font-size:.59rem}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxprimary091-speed button{min-width:48px!important;font-size:.55rem}
 body.is-primary-programme .oxprimary091-game{padding:4px 7px 5px}
 body.is-primary-programme .oxprimary092-game-shell{gap:4px}
 body.is-primary-programme .oxprimary092-game-rail{height:19px;grid-template-columns:auto 1fr;gap:8px}
 body.is-primary-programme .oxprimary092-game-rail>div:first-child span{display:none}
 body.is-primary-programme .oxprimary092-game-rail b{font-size:.61rem}
 body.is-primary-programme .oxprimary092-game-progress{height:9px;border-width:1px}
 body.is-primary-programme .oxprimary091-game-card{padding:4px;grid-template-columns:minmax(130px,42%) 1fr;border-radius:16px}
 body.is-primary-programme .oxprimary091-game-visual{border-radius:12px 3px 3px 12px}
 body.is-primary-programme .oxprimary092-game-visual-label{left:7px;top:7px;padding:4px 6px;font-size:.48rem}
 body.is-primary-programme .oxprimary091-game-copy{align-content:center;padding:7px;border-radius:3px 12px 12px 3px;gap:3px;overflow:hidden}
 body.is-primary-programme .oxprimary091-game-copy h2{font-size:1.05rem}
 body.is-primary-programme .oxprimary091-game-items{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
 body.is-primary-programme .oxprimary091-game-items button{min-height:44px;border-radius:10px;padding:4px 6px;font-size:.62rem}
}
@media(prefers-reduced-motion:reduce){
 body.is-primary-programme .is-primary-reader .oxapp081-reader-stage.is-page-turn-next>*,
 body.is-primary-programme .is-primary-reader .oxapp081-reader-stage.is-page-turn-previous>*{animation:none!important}
 body.is-primary-programme .oxprimary092-game-progress i{transition:none}
}

/* Book-specific Primary worlds: interaction geometry stays consistent while
   each title carries its own palette and motif. */
body.is-primary-programme .oxapp081-book-card[data-primary-visual]{border-color:var(--book-accent);box-shadow:0 12px 28px rgba(58,37,75,.1),inset 0 0 0 3px var(--book-paper)}
body.is-primary-programme .oxapp081-book-card[data-primary-visual] .oxapp081-book-body{background:linear-gradient(145deg,var(--book-paper),var(--book-wash-a))}
body.is-primary-programme .oxapp081-book-card[data-primary-visual] .oxapp081-book-track{background:var(--book-accent);color:var(--book-deep)}
body.is-primary-programme .oxapp081-book-card[data-primary-visual] .oxapp081-book-theme,
body.is-primary-programme .oxapp081-book-card[data-primary-visual] .oxapp081-book-body h3{color:var(--book-deep)}
body.is-primary-programme .oxapp081-book-card[data-primary-visual] .oxapp081-chip{background:var(--book-wash-b);color:var(--book-deep);border-color:var(--book-accent)}
body.is-primary-programme .oxapp081-book-card[data-primary-visual] .oxapp084-download{background:var(--book-deep);color:#fff}
body.is-primary-programme .oxprimary091-cover-fallback{isolation:isolate;display:grid;grid-template-rows:1fr auto auto auto;align-content:stretch;gap:7px;padding:18px;background:radial-gradient(circle at 82% 15%,var(--book-accent) 0 11%,transparent 11.5%),radial-gradient(circle at 16% 80%,var(--book-wash-b) 0 18%,transparent 18.5%),linear-gradient(145deg,var(--book-wash-a),var(--book-paper) 52%,var(--book-wash-b));color:var(--book-deep);overflow:hidden}
body.is-primary-programme .oxprimary091-cover-fallback:before{content:"";position:absolute;z-index:-1;width:72%;aspect-ratio:1;left:-25%;top:-17%;border:18px solid var(--book-deep);border-radius:46% 54% 61% 39%;transform:rotate(-16deg);opacity:.12}
body.is-primary-programme .oxprimary091-cover-fallback i{align-self:center;justify-self:center;width:clamp(62px,30%,104px);aspect-ratio:1;display:grid;place-items:center;border:6px solid rgba(255,255,255,.82);border-radius:34% 66% 58% 42%;background:var(--book-deep);color:var(--book-paper);font-style:normal;font-size:clamp(32px,8vw,62px);line-height:1;box-shadow:0 12px 0 var(--book-accent);transform:rotate(-4deg)}
body.is-primary-programme .oxprimary091-cover-fallback small{position:relative;width:100%;max-width:100%;color:var(--book-deep);font-size:10px;font-weight:950;letter-spacing:.09em;text-align:center;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.is-primary-programme .oxprimary091-cover-fallback strong{position:relative;color:var(--book-deep);font-size:clamp(16px,2.2vw,25px);line-height:1.05;letter-spacing:-.025em}
body.is-primary-programme .oxprimary091-cover-fallback em{position:relative;justify-self:start;padding:5px 8px;border-radius:999px;background:var(--book-accent);color:var(--book-deep);font-size:8px;font-style:normal;font-weight:950;letter-spacing:.12em}
body.is-primary-programme .oxapp081-continue[data-primary-visual]{border-color:var(--book-accent);background:linear-gradient(120deg,var(--book-wash-a),var(--book-paper) 52%,var(--book-wash-b))}
body.is-primary-programme .oxapp081-continue[data-primary-visual] .oxapp081-continue-copy small,
body.is-primary-programme .oxapp081-continue[data-primary-visual] .oxapp081-continue-copy h3{color:var(--book-deep)}
body.is-primary-programme .oxapp081-continue[data-primary-visual] .oxapp081-progress-line i,
body.is-primary-programme .oxapp081-continue[data-primary-visual] .oxapp081-primary{background:var(--book-deep)}
body.is-primary-programme .oxprimary091-today[data-primary-visual]{border-color:var(--book-accent);background:linear-gradient(125deg,var(--book-wash-a),var(--book-paper) 52%,var(--book-wash-b))}
body.is-primary-programme .oxprimary091-today-cover img{position:relative;z-index:1}
body.is-primary-programme .oxprimary091-today[data-primary-visual]>div:last-child>span,
body.is-primary-programme .oxprimary091-today[data-primary-visual] h2{color:var(--book-deep)}
body.is-primary-programme .oxprimary091-today[data-primary-visual] .oxapp081-primary{background:var(--book-deep)}
body.is-primary-programme .oxprimary091-play-card[data-primary-visual]{border-color:var(--book-accent);background:linear-gradient(135deg,var(--book-wash-a),var(--book-paper))}
body.is-primary-programme .oxprimary091-play-card[data-primary-visual]>span{background:var(--book-accent);color:var(--book-deep)}
body.is-primary-programme .oxprimary091-play-card[data-primary-visual] b{color:var(--book-deep)}
body.is-primary-programme .oxprimary091-media-placeholder{isolation:isolate;background:radial-gradient(circle at 80% 16%,var(--book-accent) 0 10%,transparent 10.5%),radial-gradient(circle at 14% 82%,var(--book-wash-b) 0 18%,transparent 18.5%),linear-gradient(145deg,var(--book-wash-a),var(--book-paper) 55%,var(--book-wash-b));color:var(--book-deep)}
body.is-primary-programme .oxprimary091-media-placeholder:before{content:"";position:absolute;z-index:-1;width:52%;aspect-ratio:1;left:-13%;top:-22%;border:26px solid var(--book-deep);border-radius:50%;opacity:.1}
body.is-primary-programme .oxprimary091-media-placeholder i{width:clamp(82px,24%,148px);aspect-ratio:1;display:grid;place-items:center;border:8px solid rgba(255,255,255,.8);border-radius:36% 64% 58% 42%;background:var(--book-deep);color:var(--book-paper);font-size:clamp(43px,9vw,82px);font-style:normal;line-height:1;box-shadow:0 13px 0 var(--book-accent);transform:rotate(-4deg)}
body.is-primary-programme .oxprimary091-media-placeholder b{max-width:80%;color:var(--book-deep);font-size:clamp(16px,2.1vw,26px);line-height:1.12;text-transform:capitalize}
body.is-primary-programme .oxprimary091-media-placeholder span{max-width:75%;color:var(--book-deep);font-weight:750;opacity:.72}
/* Primary 0.9.2: a real two-faced turning leaf, scoped to Primary. */
.is-primary-reader .oxprimary092-open-book{position:relative;perspective:1800px}
.oxleaf-overlay{position:absolute;inset:0;z-index:1;perspective:1800px;pointer-events:none;overflow:visible}
.oxleaf{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d;transition:transform 680ms cubic-bezier(.35,.06,.35,1)}
.oxleaf-next .oxleaf{left:50%;transform-origin:left center}.oxleaf-prev .oxleaf{left:0;transform-origin:right center}
.oxleaf-next.is-turning .oxleaf{transform:rotateY(-180deg)}.oxleaf-prev.is-turning .oxleaf{transform:rotateY(180deg)}
.oxleaf-face{position:absolute;inset:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--book-paper,#fffdf7);box-shadow:0 5px 20px #32213733}
.oxleaf-reverse{transform:rotateY(180deg)}.oxleaf-face:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#32213722,transparent 20%,transparent 75%,#32213718)}
.is-primary-reader .oxleaf-copy{position:absolute!important;top:0;margin:0!important;max-width:none!important;transform:none!important;pointer-events:none}
.is-primary-reader .oxclub{height:100%;overflow:auto;padding:clamp(12px,3vw,32px);background:linear-gradient(135deg,var(--book-wash-a),var(--book-paper),var(--book-wash-b));color:var(--book-deep);box-sizing:border-box}
.oxclub header{max-width:1040px;margin:0 auto 18px}.oxclub h2{font-size:clamp(24px,4vw,40px);margin:6px 0}.oxclub header p{margin:6px 0;font-size:18px}.oxclub header small{font-weight:800;letter-spacing:.1em}
.oxclub button{font:inherit;cursor:pointer;border:2px solid #d5c5e3;border-radius:18px;background:#fffdf7;color:#35234b;min-height:48px;padding:12px;touch-action:manipulation}.oxclub button:focus-visible{outline:4px solid #157c9c;outline-offset:3px}.oxclub button:disabled{opacity:.65;cursor:default;background:#e6f4ed}
.oxclub-menu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;max-width:1040px;margin:auto}.oxclub-menu button{display:flex;flex-direction:column;align-items:center;gap:10px;min-height:155px;box-shadow:0 6px 0 #d9c7e4}.oxclub-menu button>span{font-size:42px}.oxclub-menu button:nth-child(3n){background:#e6f5ed}.oxclub-menu button:nth-child(3n+1){background:#fff1cb}.oxclub-menu small{font-size:13px}
.oxclub-board{max-width:1000px;margin:auto}.oxclub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.oxclub-grid button{overflow:hidden;position:relative;min-height:125px}.oxclub-grid img{display:block;width:100%;height:150px;object-fit:contain}.oxclub-excerpt{display:block;font-size:clamp(14px,1.8vw,20px);line-height:1.45}.oxclub-back{font-size:48px;color:#9c63b8}.oxclub [hidden]{display:none!important}.oxclub blockquote{font-size:clamp(18px,2.5vw,26px);background:#fff;padding:20px;border-radius:20px;margin:10px 0}
.oxclub-letters,.oxclub-baskets{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.oxclub-letters button{font-size:28px;min-width:60px}.oxclub-word{text-align:center;letter-spacing:.15em;font-size:36px;margin:20px}.oxclub-train{font-size:30px}.oxclub-baskets button{font-size:25px;min-width:140px}.oxclub-voice{max-width:620px;margin:auto;text-align:center;padding:25px;background:#fff;border-radius:28px}.oxclub-voice>span{font-size:60px}.oxclub-voice button{margin:6px}.oxclub [data-club-status]{min-height:30px;text-align:center;font-weight:800;font-size:20px}.oxclub .is-correct{color:#216344}.oxclub .is-wrong{color:#8a3d21}.oxclub-note{padding:12px;border-radius:12px;background:#fff1cb}
@media(max-width:650px){.oxclub-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.oxclub-menu button{min-height:125px}.oxclub-grid{gap:8px}.oxclub-grid img{height:90px}.oxclub-grid button{padding:8px}.oxclub-grid:not(.memory){grid-template-columns:1fr}.oxclub-grid:not(.memory) img{height:125px}.oxclub-excerpt{font-size:15px}.oxclub-letters{gap:6px}.oxclub-letters button{min-width:44px;padding:8px}.oxclub header p{font-size:16px}}
@media(max-height:430px){.oxclub-menu{grid-template-columns:repeat(4,minmax(0,1fr))}.oxclub-menu button{min-height:100px}.oxclub header{margin-bottom:8px}.oxclub h2{font-size:24px}.oxclub-grid:not(.memory){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.oxleaf-overlay{display:none}}

.oxclub svg{display:inline-block;width:40px;height:40px;vertical-align:middle}.oxclub header small{display:inline-flex;align-items:center;gap:7px;margin:8px}.oxclub header small svg{width:22px;height:22px}.oxclub-voice>span svg{width:70px;height:70px}.is-primary-reader .oxprimary091-speed{display:grid;grid-template-columns:repeat(3,minmax(48px,1fr));width:auto;gap:3px}.is-primary-reader .oxprimary091-speed button{min-height:44px;padding:8px}

body.is-primary-programme .is-primary-reader .oxprimary091-speed{grid-template-columns:repeat(3,minmax(48px,1fr));width:auto}

.oxleaf-single .oxleaf{width:100%;left:0}

/* Primary 0.9.3: one continuous illustration, accessible story/play surfaces. */
body.is-primary-programme .is-primary-reader [hidden]{display:none!important}
body.is-primary-programme .is-primary-reader :is(button,a):focus-visible{outline:4px solid #146783;outline-offset:3px}
body.is-primary-programme .is-primary-reader .oxprimary092-open-book{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:0;border:0;isolation:isolate;background:var(--book-wash-a);border-radius:22px;overflow:hidden;max-width:1440px}
body.is-primary-programme .is-primary-reader .oxprimary092-open-book:before{inset:0;border-radius:inherit;z-index:5}
body.is-primary-programme .is-primary-reader .oxprimary092-picture-page{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:inherit;background:transparent;z-index:0}
body.is-primary-programme .is-primary-reader .oxprimary092-picture-page :is(img,video){width:100%;height:100%;object-fit:cover}
body.is-primary-programme .is-primary-reader .oxprimary092-picture-page:after{background:linear-gradient(90deg,transparent 22%,rgba(255,246,217,.08) 35%,rgba(255,246,217,.65) 55%,rgba(255,246,217,.89) 83%,rgba(255,246,217,.8));z-index:1}
body.is-primary-programme .is-primary-reader .oxprimary092-book-spine{left:50%;top:0;bottom:0;width:18px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(52,31,19,.12) 46%,rgba(255,247,218,.3) 55%,transparent);z-index:3;pointer-events:none}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page{grid-column:2;grid-row:1;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:0;max-height:100%;overflow:auto;padding:clamp(18px,2.5vw,38px);border:0;border-radius:0;background:transparent;box-shadow:none;color:#302034}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page:after{display:none}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-text{flex:0 0 auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#302034;font-size:clamp(17px,1.6vw,25px);line-height:1.55;text-shadow:0 1px 10px #fff6dd}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-text p{margin:0 0 .6em}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls{position:static;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;backdrop-filter:none}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>button{flex:0 1 auto;min-height:48px;font-size:14px;padding:10px 15px;border:2px solid #735779;background:#fff0c6;color:#382046;box-shadow:0 3px 0 #49345f22;border-radius:16px}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page [data-listen]{background:var(--book-deep);color:#fff;border-color:var(--book-deep)}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page [data-music-toggle]{background:#dff1e0;color:#254b36;border-color:#608568}
body.is-primary-programme .is-primary-reader .oxprimary091-speed{display:flex;gap:3px;background:#ead9f1;border-radius:14px;padding:3px;min-width:0;width:auto}
body.is-primary-programme .is-primary-reader .oxprimary091-speed button{min-height:44px!important;min-width:48px!important;padding:6px 9px;font-size:13px!important;border-radius:11px}
body.is-primary-programme .is-primary-reader .oxprimary092-story-heading h2{font-size:clamp(24px,2.8vw,39px);line-height:1.12;color:var(--book-deep);margin:4px 0}
body.is-primary-programme .is-primary-reader .oxprimary092-story-tags{font-size:11px}
body.is-primary-programme .is-primary-reader .oxprimary090-moment{background:rgba(222,244,224,.78);border:1px solid #5c8b70;box-shadow:none;border-radius:18px;padding:10px 12px;margin:0;font-size:15px;flex-shrink:0}
body.is-primary-programme .is-primary-reader .oxprimary090-moment button{min-height:44px;min-width:54px}
body.is-primary-programme .is-primary-reader .oxapp081-reader-status{min-height:0;font-size:13px}
body.is-primary-programme .is-primary-reader .oxleaf-stationary{position:absolute;top:0;width:50%;height:100%;overflow:hidden}
body.is-primary-programme .is-primary-reader .oxleaf-face{background:var(--book-wash-a)}
body.is-primary-programme .is-primary-reader .oxleaf-copy{border-radius:22px!important;max-height:none!important;overflow:hidden}
body.is-primary-programme .is-primary-reader .oxleaf-overlay{border-radius:inherit}
/* Learning tasks share the same picture all the way behind the question. */
body.is-primary-programme .is-primary-reader .oxapp081-activity-layout{position:relative;isolation:isolate;width:100%;height:100%;display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:0;padding:0;overflow:hidden;background:var(--book-wash-a)}
body.is-primary-programme .is-primary-reader .oxapp081-evidence{position:absolute;inset:0;height:100%;width:100%;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;z-index:-1}
body.is-primary-programme .is-primary-reader .oxapp081-evidence>img{width:100%;height:100%;object-fit:cover}
body.is-primary-programme .is-primary-reader .oxapp081-evidence:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,242,209,.05) 16%,rgba(255,242,209,.35) 38%,rgba(255,242,209,.87) 60%,rgba(255,242,209,.93));pointer-events:none}
body.is-primary-programme .is-primary-reader .oxapp081-evidence-caption{left:20px;right:auto;bottom:22px;max-width:34%;background:rgba(51,34,66,.84);color:#fff9e9;border-radius:20px;padding:14px;font-size:16px;z-index:1}
body.is-primary-programme .is-primary-reader .oxapp081-evidence-caption b{color:#fff2ad}
body.is-primary-programme .is-primary-reader .oxapp081-task-card{grid-column:2;position:relative;padding:clamp(16px,2.6vw,36px);height:100%;min-height:0;overflow:auto;overscroll-behavior:contain;border:0;border-radius:0;background:transparent;box-shadow:none;color:#352144}
body.is-primary-programme .is-primary-reader .oxapp081-task-inner{transform:none!important;width:100%!important;max-height:none;display:flex;flex-direction:column;gap:12px;padding:0}
body.is-primary-programme .is-primary-reader .oxapp081-task-kicker{font-size:12px;letter-spacing:.04em}
body.is-primary-programme .is-primary-reader .oxapp081-task-card h2{font-size:clamp(23px,2.5vw,34px);line-height:1.15;margin:0;color:var(--book-deep)}
body.is-primary-programme .is-primary-reader .oxapp081-task-instruction{font-size:16px;line-height:1.45;margin:0;color:#554253}
body.is-primary-programme .is-primary-reader .oxapp081-task-question{font-size:clamp(20px,2vw,27px);line-height:1.35;margin:0;padding:0;background:transparent;border:0;box-shadow:none;color:#34223a}
body.is-primary-programme .is-primary-reader .oxprimary091-listen-row{display:flex;gap:8px;align-items:center}
body.is-primary-programme .is-primary-reader [data-activity-listen],body.is-primary-programme .is-primary-reader [data-club-listen]{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:60px;padding:8px 23px;background:#634183;color:#fff;border:2px solid #4c286a;border-radius:24px;box-shadow:0 4px 0 #40224b33;font-size:19px;font-weight:800;width:auto;margin:0;align-self:flex-start}
body.is-primary-programme .is-primary-reader .oxprimary093-speaker{font-size:29px;line-height:1}
body.is-primary-programme .is-primary-reader [data-activity-listen].is-active,body.is-primary-programme .is-primary-reader [data-club-listen].is-active{background:#24645e;border-color:#164d47}
body.is-primary-programme .is-primary-reader :is(.oxapp081-choice,.oxapp081-match-item,.oxapp081-token,.oxapp088-pair-source,.oxapp088-pair-target){min-height:56px;font-size:17px;border-radius:19px;border:2px solid #a78caf;background:#fff2ce;color:#382442;padding:12px;box-shadow:0 4px 0 #52376516}
body.is-primary-programme .is-primary-reader .oxapp081-choice:nth-child(2n){background:#e4f3e5;border-color:#78a886}
body.is-primary-programme .is-primary-reader .oxapp081-choice:nth-child(3n){background:#f6dcd0;border-color:#bd9282}
body.is-primary-programme .is-primary-reader .oxapp081-choice.is-selected{border-color:var(--book-deep);box-shadow:0 0 0 3px var(--book-deep);background:#f0e3ff}
body.is-primary-programme .is-primary-reader .oxapp081-choices{gap:10px}
body.is-primary-programme .is-primary-reader .oxapp081-feedback{font-size:17px;line-height:1.4;border-radius:17px}
body.is-primary-programme .is-primary-reader .oxapp081-feedback.is-wrong{background:#fff0c7;border-color:#dbad5b;color:#785123}
body.is-primary-programme .is-primary-reader [data-check]{min-height:52px;width:auto;align-self:flex-start;border-radius:18px;background:var(--book-deep);color:#fff;font-size:18px;padding:12px 25px;margin:0}
body.is-primary-programme .is-primary-reader .orl085-revisit-actions button{min-height:46px;font-size:14px}
body.is-primary-programme .is-primary-reader [data-primary-grade="kindergarten"]{font-size:18px}
body.is-primary-programme .is-primary-reader:is([data-primary-grade="kindergarten"],[data-primary-grade="grade-1"]) .oxapp081-task-kicker{display:none}
body.is-primary-programme .is-primary-reader:is([data-primary-grade="kindergarten"],[data-primary-grade="grade-1"]) .oxapp081-choice{min-height:64px;font-size:20px}
/* The warm-up remains interactive below a centered invitation. */
body.is-primary-programme .is-primary-reader .oxprimary091-game{overflow:auto;display:block;background:radial-gradient(ellipse at 50% 8%,#ffdea3,transparent 65%),linear-gradient(135deg,var(--book-wash-a),var(--book-paper),var(--book-wash-b));padding:20px}
body.is-primary-programme .is-primary-reader .oxprimary092-game-shell{height:auto;min-height:100%;max-width:1150px;display:flex;flex-direction:column;gap:20px;margin:auto}
body.is-primary-programme .is-primary-reader .oxprimary092-game-rail{display:flex;flex-direction:column;text-align:center;justify-content:center;gap:12px;flex-shrink:0}
body.is-primary-programme .is-primary-reader .oxprimary092-game-rail h1{font-size:clamp(34px,5.2vw,66px);line-height:1.05;letter-spacing:-.045em;margin:5px 0 8px;color:var(--book-deep);text-shadow:0 3px 0 #fff3c3}
body.is-primary-programme .is-primary-reader .oxprimary092-game-rail b{font-size:17px;letter-spacing:0;color:#745146}
body.is-primary-programme .is-primary-reader .oxprimary092-game-progress{width:min(280px,70vw);height:12px;margin:0}
body.is-primary-programme .is-primary-reader .oxprimary091-game-card{height:auto;flex:1;min-height:320px;grid-template-columns:minmax(0,43fr) minmax(0,57fr);grid-template-rows:1fr;border:0;padding:0;border-radius:30px;background:var(--book-wash-a)}
body.is-primary-programme .is-primary-reader .oxprimary091-game-copy{padding:24px;height:auto;gap:12px;overflow:visible;background:linear-gradient(135deg,#ffedbe,var(--book-wash-b));border-radius:0}
body.is-primary-programme .is-primary-reader .oxprimary091-game-copy h2{font-size:clamp(23px,2.8vw,33px)}
body.is-primary-programme .is-primary-reader .oxprimary091-game-copy p{font-size:17px;line-height:1.4}
body.is-primary-programme .is-primary-reader .oxprimary091-game-visual{height:100%;border-radius:0;min-height:180px}
body.is-primary-programme .is-primary-reader .oxprimary091-game-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.is-primary-programme .is-primary-reader .oxprimary091-game-items button{min-height:56px;font-size:17px}
body.is-primary-programme .is-primary-reader .oxprimary093-start{min-height:58px;padding:14px 25px;border:0;border-radius:22px;background:var(--book-deep);color:white;font-size:20px;font-weight:800;box-shadow:0 5px 0 #43255f30;cursor:pointer}
/* Seven destinations with their own silhouette, motif and story artwork. */
body.is-primary-programme .is-primary-reader .oxclub{background:radial-gradient(ellipse at 15% 0,#ffdda5,transparent 55%),radial-gradient(ellipse at 100% 80%,var(--book-wash-b),transparent 60%),var(--book-paper);scrollbar-gutter:stable;padding:clamp(16px,3vw,36px)}
body.is-primary-programme .is-primary-reader .oxclub-home header{text-align:center;margin-bottom:24px}
body.is-primary-programme .is-primary-reader .oxclub h2{color:var(--book-deep);line-height:1.1}
body.is-primary-programme .is-primary-reader .oxclub-menu{max-width:1180px;gap:20px}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card{position:relative;display:flex;gap:7px;min-width:0;min-height:225px;padding:12px 12px 16px;border:2px solid #b399c1;border-radius:28px;background:#f6e5fd;box-shadow:0 7px 0 #cdb3d9;transition:transform .16s ease,box-shadow .16s ease;overflow:visible}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card:active{transform:translateY(5px);box-shadow:0 2px 0 #cdb3d9}
body.is-primary-programme .is-primary-reader .oxclub-art{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:110px;min-height:90px;font-size:25px;background:linear-gradient(135deg,var(--book-wash-a),var(--book-wash-b));border-radius:20px;overflow:hidden}
body.is-primary-programme .is-primary-reader .oxclub-art>img{width:100%;height:100%;object-fit:cover;opacity:.92}
body.is-primary-programme .is-primary-reader .oxclub-art>i{font-style:normal;font-size:22px;font-weight:850;transform:rotate(-7deg);padding:12px 40px 12px 6px;color:var(--book-deep)}
body.is-primary-programme .is-primary-reader .oxclub-emblem{position:absolute;bottom:8px;right:8px;display:grid;place-items:center;width:57px;height:57px;background:#fff1c8;border:3px solid #fff9e8;border-radius:20px;color:var(--book-deep);box-shadow:0 4px 12px #32233924}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card>b{font-size:19px;line-height:1.15}
body.is-primary-programme .is-primary-reader .oxclub-subtitle{font-size:14px;line-height:1.3;min-height:2.6em;color:#503b56}
body.is-primary-programme .is-primary-reader .oxclub-menu small{font-size:13px;line-height:1.3;font-weight:800;color:#49324c}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card-0{border-radius:12px 30px 12px 30px;transform:rotate(-1deg)}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card-1{border-radius:35px 35px 12px 12px;background:#dff1e3;border-color:#87af98;box-shadow:0 7px 0 #afcfbb}
body.is-primary-programme .is-primary-reader .oxclub-card-1 .oxclub-art{border-bottom:7px double #54886c}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card-2{background:#ffebad;border-color:#cbae63;box-shadow:0 7px 0 #e5ce8e;border-style:dashed}
body.is-primary-programme .is-primary-reader .oxclub-card-2 .oxclub-emblem{transform:rotate(9deg);border-radius:9px}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card-3{border-radius:60px 60px 20px 20px;background:#daeaf8;border-color:#86aac6;box-shadow:0 7px 0 #b8cddd}
body.is-primary-programme .is-primary-reader .oxclub-card-3 .oxclub-art{border-radius:50px 50px 15px 15px}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card-4{background:#f9dbc2;border-color:#bd9473;box-shadow:0 7px 0 #dfb99b;border-bottom:7px double #bd9473}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card-5{background:#e6e3fa;border-color:#a29aca;box-shadow:0 7px 0 #c1bade;border-radius:16px 40px 16px 40px}
body.is-primary-programme .is-primary-reader .oxclub-card-5 .oxclub-art{background:radial-gradient(circle at 20% 20%,#ffe4a3 0 4%,transparent 5%),#d2cdf0}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card-6{background:#f9d9da;border-color:#ba8d96;box-shadow:0 7px 0 #e4b7c0}
body.is-primary-programme .is-primary-reader .oxclub-card-6 .oxclub-art{border-left:12px solid #a25570;border-right:12px solid #a25570;border-radius:20px 20px 3px 3px}
body.is-primary-programme .is-primary-reader .oxclub-finish{text-align:center;padding:24px 10px 6px;font-size:17px}
body.is-primary-programme .is-primary-reader [data-finish-book]{min-height:58px;padding:14px 32px;background:var(--book-deep);color:#fff;border:0;border-radius:22px;font-size:20px;font-weight:800;box-shadow:0 4px 0 #4c345f30}
body.is-primary-programme .is-primary-reader [data-finish-book]:disabled{background:#ddd0bb;color:#665545;opacity:1;box-shadow:none}
body.is-primary-programme .is-primary-reader .oxclub-grid button{background:#fff0cc;border-color:#b7a080;border-radius:22px;min-height:100px}
body.is-primary-programme .is-primary-reader .oxclub-grid img{border-radius:14px}
body.is-primary-programme .is-primary-reader .oxclub blockquote,body.is-primary-programme .is-primary-reader .oxclub-voice{background:linear-gradient(135deg,#ffebba,var(--book-wash-b));border:2px solid #d1bda1;border-radius:28px}
body.is-primary-programme .is-primary-reader .oxclub-excerpt{padding:8px;color:#432950}
body.is-primary-programme .is-primary-reader .oxclub [data-club-status]{position:sticky;bottom:0;background:#fff1d2;border-radius:18px;padding:10px;margin:12px auto 0;max-width:900px;color:#27583d}
body.is-primary-programme .is-primary-reader .oxclub [data-club-status]:empty{display:none}
@media(hover:hover){body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card:hover{transform:translateY(-4px)}}
@media(max-width:1000px){body.is-primary-programme .is-primary-reader .oxclub-menu{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .oxprimary092-open-book{display:block;height:100%;overflow:auto;overscroll-behavior:contain;border-radius:20px}
 body.is-primary-programme .is-primary-reader .oxprimary092-picture-page{height:100%;min-height:100%;position:absolute}
 body.is-primary-programme .is-primary-reader .oxprimary092-picture-page:after{background:linear-gradient(180deg,transparent 8%,rgba(255,244,213,.15) 19%,rgba(255,244,213,.86) 38%,rgba(255,244,213,.93) 85%)}
 body.is-primary-programme .is-primary-reader .oxprimary092-picture-page :is(img,video){object-position:var(--scene-position,50% 35%)}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page{display:block;min-height:100%;max-height:none;height:auto;padding:clamp(155px,27vh,235px) 20px 22px;overflow:visible;background:transparent}
 body.is-primary-programme .is-primary-reader .oxprimary092-book-spine{display:none}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-text{font-size:18px;line-height:1.45;margin:14px 0}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>*{width:auto;flex:1 0 auto}
 body.is-primary-programme .is-primary-reader .oxprimary092-story-tags{display:none}
 body.is-primary-programme .is-primary-reader .oxapp081-activity-layout{display:block;overflow:auto}
 body.is-primary-programme .is-primary-reader .oxapp081-task-card{height:auto;min-height:100%;padding:180px 20px 22px;overflow:visible}
 body.is-primary-programme .is-primary-reader .oxapp081-evidence:after{background:linear-gradient(180deg,rgba(255,244,213,.03) 7%,rgba(255,244,213,.5) 22%,rgba(255,244,213,.92) 36%)}
 body.is-primary-programme .is-primary-reader .oxapp081-evidence-caption{display:none}
 body.is-primary-programme .is-primary-reader .oxapp081-task-card h2{font-size:26px}
 body.is-primary-programme .is-primary-reader .oxapp081-task-question{font-size:22px}
 body.is-primary-programme .is-primary-reader .oxprimary091-game{padding:16px 12px}
 body.is-primary-programme .is-primary-reader .oxprimary091-game-card{grid-template-columns:1fr;grid-template-rows:170px auto}
 body.is-primary-programme .is-primary-reader .oxprimary091-game-copy{padding:20px}
 body.is-primary-programme .is-primary-reader .oxclub-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card{min-height:212px;padding:9px 8px 14px}
 body.is-primary-programme .is-primary-reader .oxclub-art{height:87px;min-height:87px}
 body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card>b{font-size:17px}
 body.is-primary-programme .is-primary-reader .oxclub-subtitle{font-size:13px}
 body.is-primary-programme .is-primary-reader .oxclub-menu small{font-size:12px}
}
@media(max-height:520px) and (min-width:650px){
 body.is-primary-programme .is-primary-reader .oxprimary092-reader-scene{padding:5px 8px}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page{display:block;padding:16px 20px;overflow:auto}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-text{font-size:17px;line-height:1.4;margin:8px 0}
 body.is-primary-programme .is-primary-reader .oxprimary092-story-heading h2{font-size:25px}
 body.is-primary-programme .is-primary-reader .oxprimary092-story-tags{display:none}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls{margin-top:12px;display:flex;flex-wrap:wrap;overflow:visible}
 body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>button{font-size:14px!important;min-height:48px!important;padding:8px 12px}
 body.is-primary-programme .is-primary-reader .oxclub-menu{grid-template-columns:repeat(4,minmax(0,1fr))}
 body.is-primary-programme .is-primary-reader .oxprimary091-game-copy{overflow:visible;gap:12px}
 body.is-primary-programme .is-primary-reader .oxprimary092-game-rail h1{font-size:39px}
 body.is-primary-programme .is-primary-reader .oxclub-grid:not(.memory){grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){body.is-primary-programme .is-primary-reader *,body.is-primary-programme .is-primary-reader *:before,body.is-primary-programme .is-primary-reader *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card{transform:none!important}}
body.is-primary-programme .is-primary-reader .oxapp084-pair-board{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
body.is-primary-programme .is-primary-reader .oxapp084-pair-bank,body.is-primary-programme .is-primary-reader .oxapp084-pair-targets{display:flex;flex-direction:column;gap:10px}
body.is-primary-programme .is-primary-reader .oxapp084-pair-target{min-height:64px;border:2px dashed #7b6792;border-radius:18px;padding:12px;background:#e7f2e1;font-size:16px;color:#3c3441}
body.is-primary-programme .is-primary-reader .oxapp081-choice.is-wrong{border-color:#c39752;background:#fff0c7;box-shadow:0 0 0 2px #dbbc75}
body.is-primary-programme .is-primary-reader .oxapp081-task-inner :is([data-pair-reset],[data-option-audio]){min-height:44px;min-width:44px}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>[data-listen]{background:var(--book-deep);color:#fff;border-color:var(--book-deep)}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page .oxapp081-story-controls>[data-music-toggle]{background:#dff1e0;color:#254b36;border-color:#608568}
body.is-primary-programme .is-primary-reader .oxprimary092-word-page [data-listen]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
body.is-primary-programme .is-primary-reader [data-reader-full]:before{display:none}
body.is-primary-programme .is-primary-reader .oxprimary091-choice-wrap>.oxapp081-choice{width:100%;height:100%}
body.is-primary-programme .is-primary-reader .oxprimary091-choice-wrap:nth-child(2n)>.oxapp081-choice{background:#e4f3e5;border-color:#78a886}
body.is-primary-programme .is-primary-reader .oxprimary091-choice-wrap:nth-child(3n)>.oxapp081-choice{background:#f6dcd0;border-color:#bd9282}
body.is-primary-programme .is-primary-reader .oxprimary091-choice-wrap>.oxapp081-choice.is-selected{background:#e9ddf8;border-color:var(--book-deep)}
body.is-primary-programme .is-primary-reader .oxapp081-match{min-height:56px;font-size:17px;background:#fff0ce;border-radius:17px;padding:12px}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation{position:relative;isolation:isolate;display:grid;place-items:center;text-align:center;width:100%;height:100%;overflow:auto;padding:28px;background:var(--book-paper)}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-art{position:absolute;inset:0;z-index:-1;overflow:hidden}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-art>img{width:100%;height:100%;object-fit:cover;opacity:.48}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-art:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(255,240,201,.9),rgba(255,230,179,.62) 65%,rgba(228,237,215,.45))}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy{position:relative;display:grid;justify-items:center;gap:12px;color:var(--book-deep);padding:12px}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy h1{font-size:clamp(54px,8vw,104px);line-height:.98;letter-spacing:-.045em;margin:0;text-shadow:0 5px 0 rgba(255,248,222,.7)}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy h1 em{font-style:normal;color:#975019}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy p{font-size:clamp(17px,2vw,23px);margin:4px 0}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-badge{display:grid;place-items:center;background:#ffdb84;border:3px solid #fff2c7;border-radius:28px;width:75px;height:75px;transform:rotate(-8deg);box-shadow:0 6px 0 #a5753933}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation-badge svg{width:46px;height:46px}
body.is-primary-programme .is-primary-reader .oxprimary093-invitation .oxprimary093-start{min-width:210px;margin-top:10px}
body.is-primary-programme .is-primary-reader .oxprimary092-game-rail>div:first-child{display:block;text-align:center}
@media(max-height:520px) and (min-width:650px){body.is-primary-programme .is-primary-reader .oxprimary093-invitation{padding:10px}body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy{gap:5px;padding:0}body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy h1{font-size:48px}body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy h1 br{display:none}body.is-primary-programme .is-primary-reader .oxprimary093-invitation-badge{display:none}body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy p{font-size:17px}}
@media(prefers-reduced-motion:no-preference){body.is-primary-programme .is-primary-reader .oxprimary093-invitation-copy{animation:oxprimary093-arrive .3s ease-out both}@keyframes oxprimary093-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}

/* Primary 0.9.4: quiet pages, visual early-years play, eight-game club. */
.ox94-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body.is-primary-programme .is-primary-reader .ox94-reading{display:grid;grid-template-columns:minmax(0,1fr) 146px;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:12px 16px 18px}
body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary092-story-rail{grid-column:1/-1;display:flex;min-height:36px}
body.is-primary-programme .is-primary-reader .ox94-page-meta{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
body.is-primary-programme .is-primary-reader .ox94-page-meta span{font-size:12px;letter-spacing:.04em}
body.is-primary-programme .is-primary-reader .ox94-page-meta b{font-size:17px}
body.is-primary-programme .is-primary-reader .ox94-reader-dock{grid-column:2;grid-row:2;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:12px;margin:0;overflow:visible}
body.is-primary-programme .is-primary-reader .ox94-reader-dock button,body.is-primary-programme .is-primary-reader .ox94-settings summary{min-height:52px;border:2px solid #aa94b7;background:#fff0d5;border-radius:18px;padding:10px;color:#342046;font:700 16px/1.25 system-ui;display:flex;gap:8px;align-items:center;justify-content:center;cursor:pointer}
body.is-primary-programme .is-primary-reader .ox94-reader-dock [data-listen]{background:var(--book-deep);color:#fff;border-color:transparent;min-height:64px}
body.is-primary-programme .is-primary-reader .ox94-reader-dock svg{width:25px;height:25px;flex-shrink:0}
body.is-primary-programme .is-primary-reader .ox94-settings summary{list-style:none}
body.is-primary-programme .is-primary-reader .ox94-settings summary::-webkit-details-marker{display:none}
body.is-primary-programme .is-primary-reader .ox94-settings[open] summary{background:#e7d8f2}
body.is-primary-programme .is-primary-reader .ox94-settings-panel{display:flex;flex-direction:column;gap:10px;padding-top:10px}
body.is-primary-programme .is-primary-reader .ox94-settings-panel .oxprimary091-speed{display:flex;flex-direction:column;gap:7px;background:none;padding:0;border:0}
body.is-primary-programme .is-primary-reader .ox94-settings-panel [aria-pressed=true]{border-color:var(--book-deep);box-shadow:inset 0 0 0 2px var(--book-deep)}
body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary092-word-page{justify-content:center;padding:clamp(22px,4vw,64px);gap:28px;overflow:auto}
body.is-primary-programme .is-primary-reader .ox94-reading .oxapp081-story-text{font-family:'Oracy Nunito',Verdana,Arial,sans-serif;font-size:clamp(24px,2.4vw,36px);line-height:1.6;letter-spacing:.015em;max-width:28ch;font-weight:600;margin:0;color:#604578}
body.is-primary-programme .is-primary-reader[data-primary-grade=kindergarten] .ox94-reading .oxapp081-story-text{font-size:clamp(30px,3.3vw,48px);line-height:1.55;max-width:22ch;font-weight:600}
body.is-primary-programme .is-primary-reader[data-primary-grade=grade-1] .ox94-reading .oxapp081-story-text{font-size:clamp(28px,3vw,42px);line-height:1.55}
body.is-primary-programme .is-primary-reader[data-primary-grade=grade-2] .ox94-reading .oxapp081-story-text{font-size:clamp(26px,2.7vw,38px);line-height:1.55}
body.is-primary-programme .is-primary-reader .ox94-reading .oxapp081-story-text p{font:inherit;margin:0 0 .8em}
body.is-primary-programme .is-primary-reader .ox94-reading .oxapp081-story-text p:last-child{margin-bottom:0}
body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary090-moment{flex-shrink:0;font-size:18px}
body.is-primary-programme .is-primary-reader .ox94-reader-dock .oxapp081-reader-status{font-size:13px;line-height:1.4}
body.is-primary-programme .is-primary-reader .ox94-picture{display:block;position:relative;isolation:isolate;overflow:hidden;width:100%;height:100%;min-height:85px;border-radius:14px;background:#e6efd8}
body.is-primary-programme .is-primary-reader .ox94-picture-fallback{display:grid;place-items:center;min-height:inherit;height:100%;font-size:clamp(34px,4vw,64px);line-height:1.2;background:radial-gradient(circle at 75% 18%,#ffe19d 0 12%,transparent 13%),linear-gradient(165deg,#def0e9 60%,#b5d6a2 60%);color:#40304f}
body.is-primary-programme .is-primary-reader .ox94-picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;z-index:1}
body.is-primary-programme .is-primary-reader .ox94-caption{display:block;font-size:clamp(16px,1.6vw,20px);line-height:1.35;padding:7px 3px;color:#392941;font-weight:600}
body.is-primary-programme .is-primary-reader .ox94-picture-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body.is-primary-programme .is-primary-reader .ox94-picture-options .oxprimary091-choice-wrap{position:relative;padding-bottom:0;display:flex}
body.is-primary-programme .is-primary-reader .ox94-picture-options .oxapp081-choice{display:flex;flex-direction:column;padding:8px 8px 52px;border-radius:22px;min-height:170px}
body.is-primary-programme .is-primary-reader .ox94-picture-options .ox94-picture{height:115px;min-height:115px;flex:1 0 115px}
body.is-primary-programme .is-primary-reader .ox94-label-listen{position:absolute;bottom:6px;right:8px;display:grid;place-items:center;min-width:46px;min-height:46px;border-radius:50%;background:#49305b;color:#fff;border:2px solid #fff4d4;padding:9px;z-index:2;cursor:pointer}
body.is-primary-programme .is-primary-reader .ox94-label-listen svg{width:23px;height:23px}
body.is-primary-programme .is-primary-reader .ox94-match-wrap{position:relative}
body.is-primary-programme .is-primary-reader .ox94-match-wrap .oxapp081-match{display:block;width:100%;padding:7px 7px 52px}
body.is-primary-programme .is-primary-reader .ox94-match-wrap .ox94-picture{height:105px}
body.is-primary-programme .is-primary-reader .ox94-picture-pairs .oxapp081-token{width:100%;padding:6px;border-radius:16px}
body.is-primary-programme .is-primary-reader .ox94-picture-pairs .ox94-picture{height:106px}
body.is-primary-programme .is-primary-reader .ox94-picture-pairs .oxapp084-pair-target{padding:6px;min-height:140px}
body.is-primary-programme .is-primary-reader .ox94-position{display:block;font-size:25px;line-height:1.5;letter-spacing:5px;color:#443257}
body.is-primary-programme .is-primary-reader .ox94-empty{display:grid;place-items:center;height:102px;font-size:42px;color:#66825d}
body.is-primary-programme .is-primary-reader.ox94-wordless .oxapp081-task-card{padding-top:30px}
body.is-primary-programme .is-primary-reader.ox94-wordless .oxprimary091-listen-row{justify-content:center;margin:8px 0 18px}
body.is-primary-programme .is-primary-reader.ox94-wordless [data-activity-listen]{min-width:90px;min-height:70px;border-radius:26px;box-shadow:0 5px 0 #cbb28a}
body.is-primary-programme .is-primary-reader.ox94-wordless [data-activity-listen] svg{width:38px;height:38px}
body.is-primary-programme .is-primary-reader.ox94-wordless :is([data-check],[data-read-story-again],[data-try-activity-again],[data-pair-reset]){min-height:60px;min-width:70px;padding:12px;display:inline-flex;align-items:center;justify-content:center;gap:10px}
body.is-primary-programme .is-primary-reader.ox94-wordless :is([data-feedback],[data-club-status]){font-size:0!important}
body.is-primary-programme .is-primary-reader.ox94-wordless :is([data-feedback],[data-club-status]).is-correct:after{content:'★ ✓';font-size:38px;color:#285d45}
body.is-primary-programme .is-primary-reader.ox94-wordless :is([data-feedback],[data-club-status]).is-wrong:after{content:'↻';font-size:38px;color:#866022}
body.is-primary-programme .is-primary-reader.ox94-wordless .oxapp081-reader-title{visibility:hidden}
body.is-primary-programme .is-primary-reader.ox94-wordless .oxapp081-reader-footer svg,body.is-primary-programme .is-primary-reader.ox94-wordless .oxapp081-reader-header svg{width:28px;height:28px}
body.is-primary-programme .is-primary-reader :is(.oxclub,.ox94-warmup,.oxprimary093-start,[data-check],[data-pair-reset],.orl085-revisit-actions) button svg,body.is-primary-programme .is-primary-reader :is(button.oxprimary093-start,button[data-check],button[data-pair-reset])>svg{width:28px;height:28px;vertical-align:middle;flex-shrink:0}
body.is-primary-programme .is-primary-reader .oxclub header nav{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px;flex-wrap:wrap}
body.is-primary-programme .is-primary-reader .oxclub header nav button{display:flex;gap:8px;align-items:center;min-height:50px;font-size:16px;padding:9px 14px}
body.is-primary-programme .is-primary-reader .oxclub-grid .ox94-picture{height:clamp(130px,22vh,260px)}
body.is-primary-programme .is-primary-reader .oxclub-grid.memory .ox94-picture{height:clamp(100px,20vh,205px)}
body.is-primary-programme .is-primary-reader .oxclub-art>.ox94-picture{height:100%;min-height:100%}
body.is-primary-programme .is-primary-reader .oxclub-menu .oxclub-card-7{background:#263254;border-color:#8f93bd;color:#ffedb1;box-shadow:0 7px 0 #161b34;border-radius:40px 14px 40px 14px}
body.is-primary-programme .is-primary-reader .oxclub-card-7 .oxclub-subtitle,body.is-primary-programme .is-primary-reader .oxclub-card-7 small{color:#f9e8bc}
body.is-primary-programme .is-primary-reader .oxclub-card-7 .oxclub-art{border:3px solid #e6c87d;box-shadow:0 0 20px #f5d96f44}
body.is-primary-programme .is-primary-reader .ox94-menu-stars{font-size:40px;color:#bc7b23;letter-spacing:24px}
body.is-primary-programme .is-primary-reader .ox94-kg .oxclub-art{height:140px}
body.is-primary-programme .is-primary-reader.ox94-kg .oxclub-card{min-height:180px}
body.is-primary-programme .is-primary-reader.ox94-kg .oxclub-menu small{font-size:26px}
body.is-primary-programme .is-primary-reader .ox94-puzzle-preview,.is-primary-reader .ox94-mystery-window,.is-primary-reader .ox94-basket-clue{width:240px;height:155px;margin:12px auto}
body.is-primary-programme .is-primary-reader .ox94-puzzle-result,.is-primary-reader .ox94-puzzle-bank{display:grid;grid-template-columns:repeat(3,1fr);max-width:670px;gap:10px;margin:18px auto}
body.is-primary-programme .is-primary-reader .ox94-puzzle-result>span{height:145px;border:3px dashed #b49bc4;background:#f7e7bc;border-radius:18px;overflow:hidden}
body.is-primary-programme .is-primary-reader .ox94-puzzle-result i{display:grid;place-items:center;height:100%;font-size:42px;font-style:normal;color:#876795}
body.is-primary-programme .is-primary-reader .ox94-puzzle-bank button{padding:0;overflow:hidden;border-radius:16px;height:145px;background:#e9d8f4;min-width:0}
body.is-primary-programme .is-primary-reader .ox94-piece{display:block;overflow:hidden;position:relative;height:100%;width:100%}
body.is-primary-programme .is-primary-reader .ox94-piece>.ox94-picture{width:300%;position:absolute;left:calc(var(--piece) * -100%);height:100%;border-radius:0}
body.is-primary-programme .is-primary-reader .ox94-mystery-window{width:145px;height:145px;border:12px solid #bc9879;border-radius:50%;overflow:hidden;box-shadow:0 6px 0 #79574233}
body.is-primary-programme .is-primary-reader .ox94-mystery-window .ox94-picture{transform:scale(2.2);height:100%}
body.is-primary-programme .is-primary-reader .ox94-story-stage{margin-bottom:18px}
body.is-primary-programme .is-primary-reader .ox94-spotlight{padding:22px;background:#202b46;border-radius:30px;gap:18px}
body.is-primary-programme .is-primary-reader .ox94-spotlight button{position:relative;isolation:isolate;overflow:hidden;background:#343651;border:3px solid #596078;padding:7px}
body.is-primary-programme .is-primary-reader .ox94-spotlight button:after{content:'';position:absolute;inset:0;background:radial-gradient(circle 48px at var(--spot-x,50%) var(--spot-y,50%),transparent 0 90%,#162039ed 100%);pointer-events:none;z-index:2}
body.is-primary-programme .is-primary-reader .ox94-spotlight button.is-selected{border-color:#ffcf6c;box-shadow:0 0 0 3px #ffcf6c}
body.is-primary-programme .is-primary-reader .ox94-spotlight button.is-selected:after{background:radial-gradient(circle 83px at var(--spot-x,50%) var(--spot-y,50%),transparent 0 90%,#162039c9 100%)}
body.is-primary-programme .is-primary-reader .ox94-spotlight-top{display:flex;justify-content:center;align-items:center;gap:36px}
body.is-primary-programme .is-primary-reader .ox94-constellation{display:flex;gap:15px;font-size:38px;color:#aaa1ad}
body.is-primary-programme .is-primary-reader .ox94-constellation .is-lit{color:#a76d0c;text-shadow:0 0 15px #ffdf72}
body.is-primary-programme .is-primary-reader [data-spotlight-confirm]{display:block;margin:18px auto;background:#ffda89;min-height:58px}
body.is-primary-programme .is-primary-reader .ox94-warmup{display:grid;align-content:center;justify-items:center;gap:22px;overflow:auto;padding:26px}
body.is-primary-programme .is-primary-reader .ox94-warmup header{text-align:center}
body.is-primary-programme .is-primary-reader .ox94-warm-pictures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;width:min(950px,100%)}
body.is-primary-programme .is-primary-reader .ox94-warm-pictures button{border:4px solid #c2a779;background:#ffe7b4;border-radius:26px;padding:10px;min-height:180px;cursor:pointer;box-shadow:0 6px 0 #ad91635c}
body.is-primary-programme .is-primary-reader .ox94-warm-pictures .ox94-picture{height:200px}
body.is-primary-programme .is-primary-reader .ox94-warm-pictures button>span:last-child{font-size:32px;display:block;margin:8px}
body.is-primary-programme .is-primary-reader .ox94-warm-pictures button.is-done{border-color:#397454}
body.is-primary-programme .is-primary-reader summary:focus-visible{outline:4px solid #5b3381;outline-offset:4px}
body.is-primary-programme .ox94-visual-ghost{width:150px;max-width:150px;max-height:140px;overflow:hidden;padding:0;background:#fff2ce;pointer-events:none}
body.is-primary-programme .ox94-visual-ghost .ox94-picture{display:block;height:100px;width:100%;overflow:hidden}
body.is-primary-programme .ox94-visual-ghost img{width:100%;height:100%;object-fit:cover}
@media(max-width:1000px){body.is-primary-programme .is-primary-reader .ox94-reading{grid-template-columns:minmax(0,1fr) 112px}.is-primary-reader .ox94-reader-dock button,.is-primary-reader .ox94-settings summary{font-size:14px!important}}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .ox94-reading{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;padding:8px;gap:7px}
 body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary092-story-rail{min-height:30px}
 body.is-primary-programme .is-primary-reader .ox94-page-meta{gap:1px;display:block}
 body.is-primary-programme .is-primary-reader .ox94-page-meta span{font-size:10px}
 body.is-primary-programme .is-primary-reader .ox94-page-meta b{display:block;font-size:13px}
 body.is-primary-programme .is-primary-reader .ox94-reader-dock{grid-column:1;grid-row:3;flex-direction:row;align-items:center;justify-content:space-between;position:relative;z-index:20;background:var(--book-paper);padding:4px}
 body.is-primary-programme .is-primary-reader .ox94-reader-dock [data-listen]{min-height:52px;min-width:135px}
 body.is-primary-programme .is-primary-reader .ox94-settings-panel{position:absolute;bottom:100%;right:0;width:240px;padding:14px;background:#fff1d8;border:2px solid #90779f;border-radius:20px;box-shadow:0 8px 30px #271e3b44;max-height:50vh;overflow:auto}
 body.is-primary-programme .is-primary-reader .ox94-settings-panel .oxprimary091-speed{flex-direction:row;gap:4px}
 body.is-primary-programme .is-primary-reader .ox94-settings-panel .oxprimary091-speed button{flex:1;padding:6px;font-size:13px!important}
 body.is-primary-programme .is-primary-reader .ox94-reader-dock .oxapp081-reader-status{position:absolute;bottom:100%;left:0;max-width:130px;background:#fff2d3}
 body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary092-word-page{padding:clamp(120px,21vh,195px) 22px 25px;display:flex;flex-direction:column;justify-content:flex-start;min-height:100%;height:auto}
 body.is-primary-programme .is-primary-reader .ox94-reading .oxapp081-story-text{font-size:24px}
 body.is-primary-programme .is-primary-reader[data-primary-grade=kindergarten] .ox94-reading .oxapp081-story-text{font-size:30px}
 body.is-primary-programme .is-primary-reader[data-primary-grade=grade-1] .ox94-reading .oxapp081-story-text{font-size:28px}
 body.is-primary-programme .is-primary-reader[data-primary-grade=grade-2] .ox94-reading .oxapp081-story-text{font-size:26px}
 body.is-primary-programme .is-primary-reader.ox94-wordless .oxapp081-task-card{padding:92px 12px 20px}
 body.is-primary-programme .is-primary-reader .ox94-picture-options{gap:10px}
 body.is-primary-programme .is-primary-reader .ox94-picture-options .ox94-picture{height:88px;min-height:88px;flex-basis:88px}
 body.is-primary-programme .is-primary-reader .ox94-picture-options .oxapp081-choice{min-height:150px;padding:6px 6px 48px}
 body.is-primary-programme .is-primary-reader .ox94-match-wrap .ox94-picture,body.is-primary-programme .is-primary-reader .ox94-picture-pairs .ox94-picture{height:85px}
 body.is-primary-programme .is-primary-reader .ox94-caption{font-size:16px}
 body.is-primary-programme .is-primary-reader .oxclub header nav{gap:5px}
 body.is-primary-programme .is-primary-reader .oxclub header nav button{font-size:12px;gap:4px;padding:8px;flex:1;min-width:0}
 body.is-primary-programme .is-primary-reader .oxclub header nav button svg{width:23px;height:23px}
 body.is-primary-programme .is-primary-reader .oxclub-grid:not(.memory){grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
 body.is-primary-programme .is-primary-reader .oxclub-grid .ox94-picture{height:125px;min-height:80px}
 body.is-primary-programme .is-primary-reader .oxclub-grid button{padding:5px;min-width:0}
 body.is-primary-programme .is-primary-reader .ox94-spotlight{padding:12px}
 body.is-primary-programme .is-primary-reader .ox94-puzzle-result>span,body.is-primary-programme .is-primary-reader .ox94-puzzle-bank button{height:110px}
 body.is-primary-programme .is-primary-reader .ox94-warm-pictures{gap:10px;grid-template-columns:1fr}
 body.is-primary-programme .is-primary-reader .ox94-warm-pictures button{display:flex;align-items:center;min-height:90px;padding:7px}
 body.is-primary-programme .is-primary-reader .ox94-warm-pictures .ox94-picture{height:105px;min-height:80px}
 body.is-primary-programme .is-primary-reader .ox94-warmup{padding:14px;gap:12px;align-content:start}
}
@media(max-height:520px) and (min-width:650px){
 body.is-primary-programme .is-primary-reader .ox94-reading{grid-template-columns:minmax(0,1fr) 115px;grid-template-rows:auto minmax(0,1fr);padding:4px 8px;gap:4px}
 body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary092-story-rail{display:flex;min-height:24px}
 body.is-primary-programme .is-primary-reader .ox94-page-meta span{font-size:10px}
 body.is-primary-programme .is-primary-reader .ox94-page-meta b{font-size:12px}
 body.is-primary-programme .is-primary-reader .ox94-settings-panel{max-height:160px;overflow:auto}
 body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary092-word-page{padding:18px 24px;display:block}
 body.is-primary-programme .is-primary-reader .ox94-reading .oxapp081-story-text{font-size:24px}
 body.is-primary-programme .is-primary-reader[data-primary-grade=kindergarten] .ox94-reading .oxapp081-story-text{font-size:30px}
 body.is-primary-programme .is-primary-reader .ox94-warm-pictures .ox94-picture{height:110px}
 body.is-primary-programme .is-primary-reader .ox94-warm-pictures button{min-height:130px}
 body.is-primary-programme .is-primary-reader .ox94-warmup{display:block;align-content:start;padding:12px}
}
body.is-primary-programme .is-primary-reader .ox94-picture-fallback .ox94-vector{width:auto!important;height:90%!important;min-width:60px;max-width:100%;display:block;margin:auto}
/* Keep early readers' picture choices dominant; the speaker reads the full label. */
body.is-primary-programme .is-primary-reader.ox94-young .ox94-caption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary092-word-page{justify-content:safe center}

/* 0.9.5: short written directions accompany the pictures and existing audio.
   Typography is scoped to Primary; artwork and the spread wash are unchanged. */
body.is-primary-programme .is-primary-reader{--ox95-ink:#604578;font-family:'Oracy Nunito',Verdana,Arial,sans-serif}
body.is-primary-programme .is-primary-reader :is(button,summary,h1,h2,h3,p,.ox94-caption,.ox94-page-meta){font-family:'Oracy Nunito',Verdana,Arial,sans-serif}
body.is-primary-programme .is-primary-reader .ox94-reading .oxapp081-story-text{letter-spacing:.01em;text-shadow:none;font-weight:600}
body.is-primary-programme .is-primary-reader :is(.oxapp081-task-instruction,.ox95-instruction){display:block;color:var(--ox95-ink);font-size:clamp(18px,1.6vw,22px);font-weight:650;line-height:1.5;letter-spacing:.005em;max-width:52ch;text-wrap:pretty}
body.is-primary-programme .is-primary-reader .oxapp081-task-instruction{margin:0}
body.is-primary-programme .is-primary-reader .oxapp081-task-question{display:block;color:var(--ox95-ink);font-weight:750;line-height:1.4;text-wrap:pretty}
body.is-primary-programme .is-primary-reader .oxapp081-task-card h2{color:var(--ox95-ink);font-weight:800;line-height:1.2;letter-spacing:0}
body.is-primary-programme .is-primary-reader .oxclub header h2{color:var(--ox95-ink);font-weight:800;letter-spacing:0;line-height:1.2}
body.is-primary-programme .is-primary-reader :is(.oxclub header,.oxclub-finish,.ox94-warmup header,.oxprimary093-invitation-copy) .ox95-instruction{margin:8px auto 12px}
body.is-primary-programme .is-primary-reader .ox94-warmup h1{color:var(--ox95-ink);font-size:clamp(26px,3vw,40px);margin:0;line-height:1.2}
body.is-primary-programme .is-primary-reader .ox94-warmup [data-warm-help]{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:52px;border:2px solid #ad8fbe;border-radius:18px;padding:10px 16px;background:#f0e3f3;color:#604578;font-size:18px;font-weight:750;cursor:pointer}
body.is-primary-programme .is-primary-reader .ox94-warmup [data-warm-help] svg{width:28px;height:28px}
body.is-primary-programme .is-primary-reader .oxclub header [data-game-help]{color:#604578;background:#f0e3f3}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader :is(.oxapp081-task-instruction,.ox95-instruction){font-size:18px}
 body.is-primary-programme .is-primary-reader .oxclub header h2{font-size:26px}
}

/* Primary 0.9.6: picture-only mode, a real cover entry, visible game guide and grouped navigation. */
body.is-primary-programme .is-primary-reader .oxprimary092-open-book.is-picture-only .oxprimary092-picture-page:after{background:none;opacity:0}
body.is-primary-programme .is-primary-reader .oxprimary092-open-book.is-picture-only .oxprimary092-word-page{display:none}
body.is-primary-programme .is-primary-reader .oxprimary092-open-book.is-picture-only :is(img,video){filter:none;opacity:1}
body.is-primary-programme .is-primary-reader.ox96-activity-nav .oxapp081-reader-footer{display:flex;justify-content:center;gap:12px}
body.is-primary-programme .is-primary-reader.ox96-activity-nav .oxapp081-reader-footer button{width:132px;min-height:48px;flex:0 1 132px}
body.is-primary-programme .is-primary-reader .oxclub-card b{display:block;font-size:clamp(18px,1.7vw,23px);line-height:1.15;margin:13px 0 7px;overflow-wrap:anywhere}
body.is-primary-programme .is-primary-reader .oxclub-card .oxclub-subtitle{display:block;font-size:14px;line-height:1.4;font-weight:650;white-space:normal}
body.is-primary-programme .is-primary-reader .ox96-instruction-listen{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 0 12px;min-height:46px;min-width:46px;padding:8px 12px;border:2px solid #b69ac8;border-radius:16px;color:#604578;background:#f0e3f3;vertical-align:middle;font-size:15px;cursor:pointer}
body.is-primary-programme .is-primary-reader .ox96-instruction-listen svg{width:24px;height:24px}
body.is-primary-programme .is-primary-reader [data-instruction-listen].is-active,body.is-primary-programme .is-primary-reader [data-game-help].is-active{background:#604578;color:#fff}
body.is-primary-programme .is-primary-reader.ox96-cover-active{grid-template-rows:auto minmax(0,1fr)}
body.is-primary-programme .is-primary-reader.ox96-cover-active .oxapp081-reader-footer{display:none}
body.is-primary-programme .is-primary-reader .ox96-cover-view{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;min-height:100%;padding:28px;overflow:auto;background:radial-gradient(ellipse at 50% 38%,#fff6dd 0,transparent 65%),linear-gradient(130deg,var(--book-wash-a),var(--book-wash-b))}
body.is-primary-programme .is-primary-reader .ox96-book-cover{position:relative;flex:0 0 auto;width:min(490px,70vw);height:min(67vh,710px);min-height:340px;border-radius:8px 28px 28px 8px;overflow:hidden;isolation:isolate;background:var(--book-deep);border:2px solid #ffffffa6;box-shadow:10px 12px 0 -3px #efe5ca,13px 14px 0 -3px #bfaa88,0 24px 46px #34243b33}
body.is-primary-programme .is-primary-reader .ox96-cover-art{position:absolute;inset:0;z-index:-2}
body.is-primary-programme .is-primary-reader .ox96-cover-art .ox94-picture{height:100%;border-radius:0}
body.is-primary-programme .is-primary-reader .ox96-cover-art .ox94-picture img{object-position:42% 35%}
body.is-primary-programme .is-primary-reader .ox96-book-cover:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#23172b85,transparent 25%,transparent 39%,#21142bc2 67%,#21142bf7)}
body.is-primary-programme .is-primary-reader .ox96-cover-brand{position:absolute;left:9%;top:6%;color:#fff4d4;font-size:14px;font-weight:800;letter-spacing:.12em}
body.is-primary-programme .is-primary-reader .ox96-cover-brand span{display:block;margin-top:8px;font-size:11px;letter-spacing:.24em}
body.is-primary-programme .is-primary-reader .ox96-cover-title{position:absolute;left:9%;right:7%;bottom:7%;color:#fff7df}
body.is-primary-programme .is-primary-reader .ox96-cover-title>span{display:inline-block;padding:6px 11px;background:#ffdf88;color:#493457;border-radius:9px;font-size:13px;font-weight:800}
body.is-primary-programme .is-primary-reader .ox96-cover-title h1{font-size:clamp(30px,4vw,52px);line-height:1.06;letter-spacing:-.02em;margin:16px 0 12px;color:#fff7df;text-wrap:balance}
body.is-primary-programme .is-primary-reader .ox96-cover-title p{font-size:clamp(16px,1.7vw,21px);line-height:1.4;margin:0;max-width:30ch;color:#ffe9b4}
body.is-primary-programme .is-primary-reader .ox96-cover-spine{position:absolute;inset:0 auto 0 0;width:24px;background:linear-gradient(90deg,#1510228a,#fff5d72b 72%,transparent);pointer-events:none}
body.is-primary-programme .is-primary-reader [data-open-cover]{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:58px;min-width:230px;font-size:21px}
body.is-primary-programme .is-primary-reader [data-open-cover] svg{width:28px;height:28px}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .ox96-cover-view{gap:22px;padding:24px 24px 30px}
 body.is-primary-programme .is-primary-reader .ox96-book-cover{width:min(100%,360px);height:58vh;min-height:320px}
 body.is-primary-programme .is-primary-reader .oxclub-card b{font-size:18px;min-height:0}
 body.is-primary-programme .is-primary-reader .oxclub-card .oxclub-subtitle{font-size:13px}
 body.is-primary-programme .is-primary-reader .ox96-instruction-listen{margin-left:0;display:flex;width:max-content}
}
@media(max-height:520px) and (min-width:650px){
 body.is-primary-programme .is-primary-reader .ox96-cover-view{flex-direction:row;gap:40px;padding:18px}
 body.is-primary-programme .is-primary-reader .ox96-book-cover{height:74vh;min-height:230px;width:240px}
 body.is-primary-programme .is-primary-reader .ox96-cover-title h1{font-size:28px;margin:8px 0}
 body.is-primary-programme .is-primary-reader .ox96-cover-title p{font-size:14px}
 body.is-primary-programme .is-primary-reader .ox96-cover-brand{font-size:10px;top:5%}
 body.is-primary-programme .is-primary-reader .ox96-cover-brand span{font-size:9px;margin-top:3px}
}

body.is-primary-programme .is-primary-reader .ox96-cover-title h1:focus{outline:none}
@media(max-width:649px){body.is-primary-programme .is-primary-reader.ox94-wordless .oxapp081-task-card{padding-top:58px}}
/* Primary 0.9.7 — a viewport-sized activity stage and an eight-game gallery. */
body.is-primary-programme .is-primary-reader [hidden]{display:none!important}
body.is-primary-programme .is-primary-reader.ox96-activity-nav .oxapp081-activity-layout{display:block;overflow:hidden}
body.is-primary-programme .is-primary-reader .ox97-task{width:100%;height:100%;padding:clamp(12px,2vw,26px);overflow:hidden!important;grid-column:1/-1}
body.is-primary-programme .is-primary-reader.ox94-wordless .ox97-task{padding:clamp(12px,2vw,26px)}
body.is-primary-programme .is-primary-reader .ox97-task-grid{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(10px,1.8vh,20px);min-height:0;max-width:1560px;margin:0 auto}
body.is-primary-programme .is-primary-reader .ox97-task-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;min-width:0}
body.is-primary-programme .is-primary-reader .ox97-task-copy{flex:1;min-width:0}
body.is-primary-programme .is-primary-reader .ox97-task-copy .oxapp081-task-instruction{font-size:clamp(17px,1.5vw,23px);line-height:1.35;max-width:80ch;margin:0 0 7px;color:#725389}
body.is-primary-programme .is-primary-reader .ox97-task-copy .oxapp081-task-question{font-size:clamp(22px,2.1vw,34px);line-height:1.3;max-width:68ch;font-weight:800}
body.is-primary-programme .is-primary-reader .ox97-task-audio{display:flex;align-items:center;gap:10px;flex-shrink:0}
body.is-primary-programme .is-primary-reader .ox97-task-audio .oxprimary091-listen-row{margin:0;display:flex;gap:8px}
body.is-primary-programme .is-primary-reader .ox97-task-audio :is([data-instruction-listen],[data-activity-listen]){margin:0;min-height:52px;min-width:52px;padding:10px 14px;border-radius:18px;gap:7px;font-size:15px;box-shadow:0 3px 0 #43255f22}
body.is-primary-programme .is-primary-reader .ox97-task-audio svg{height:28px;width:28px}
body.is-primary-programme .is-primary-reader .ox97-task-board{min-width:0;min-height:0;display:flex;align-items:stretch;justify-content:center}
body.is-primary-programme .is-primary-reader .ox97-task-board>:is(.oxapp081-options,.oxapp081-match-grid,.oxapp084-pair-board,.oxapp081-sequence){width:100%;height:100%;min-height:0;max-height:100%;margin:0;gap:clamp(9px,1.4vw,20px);align-items:stretch}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-match-column,.oxapp084-pair-bank,.oxapp084-pair-targets){display:grid;grid-template-rows:repeat(var(--ox97-items,3),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:10px;min-height:0}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-options{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxprimary091-choice-wrap,.ox94-match-wrap){height:100%;min-height:0;position:relative}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){min-width:0;min-height:44px;height:100%;width:100%;margin:0;padding:10px;border-radius:22px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:6px;font-size:clamp(17px,1.7vw,25px);line-height:1.25;border:2px solid #b79bc9;box-shadow:0 3px 0 #53316616;overflow:hidden}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture{height:0;min-height:0;flex:1;width:100%;border-radius:14px;overflow:hidden}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture :is(img,.ox94-picture-fallback){width:100%;height:100%;object-fit:contain}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-caption{font-size:clamp(16px,1.3vw,21px);line-height:1.2;flex-shrink:0;padding-right:44px;max-width:100%}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-label-listen{width:44px;height:44px;min-height:44px;min-width:44px;padding:8px;right:8px;bottom:8px;box-shadow:0 2px 7px #422d4b30}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-label-listen svg{width:25px;height:25px}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-position{font-size:23px;line-height:1.1;flex-shrink:0}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-empty{height:0;min-height:0;flex:1;display:grid;place-items:center;font-size:36px}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp084-pair-board{grid-template-columns:1fr 1fr!important}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-sequence{grid-template-columns:1fr 1fr;display:grid}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-token-zone{display:flex;flex-direction:column;min-height:0;gap:8px;padding:10px}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-token-zone .oxapp081-token{height:auto;flex:1}
body.is-primary-programme .is-primary-reader .ox97-task-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:52px;min-width:0}
body.is-primary-programme .is-primary-reader .ox97-task-actions .oxapp081-feedback{margin:0 auto 0 0;font-size:17px;line-height:1.25;padding:9px 13px;min-height:0;max-width:60%;border-radius:14px}
body.is-primary-programme .is-primary-reader .ox97-task-actions .oxapp081-feedback:not(.is-visible){display:none}
body.is-primary-programme .is-primary-reader .ox97-task-actions :is([data-check],[data-pair-reset],[data-read-story-again],[data-try-activity-again]){min-height:48px;min-width:48px;padding:9px 15px;border-radius:16px;margin:0;font-size:16px;display:inline-flex;align-items:center;justify-content:center}
body.is-primary-programme .is-primary-reader .ox97-task-actions .orl085-revisit-actions{margin:0;display:flex;gap:8px;flex-wrap:nowrap}
body.is-primary-programme .is-primary-reader .ox97-task-actions :is(.is-correct,.is-wrong):after{font-size:27px}
body.is-primary-programme .is-primary-reader.ox96-activity-nav .oxapp081-evidence:after{background:linear-gradient(115deg,#fff4dcd9,#f1e9f4ed 55%,#e1f4e4e8)}
body.is-primary-programme .is-primary-reader.ox96-activity-nav .oxapp081-evidence-caption{display:none}
body.is-primary-programme .is-primary-reader.ox96-activity-nav .oxapp081-evidence>.oxprimary091-media-placeholder{opacity:.08}
body.is-primary-programme .is-primary-reader.ox96-activity-nav .oxapp081-step-label{display:none}
body.is-primary-programme .is-primary-reader.ox94-wordless .oxapp081-reader-title{visibility:visible}
body.is-primary-programme .is-primary-reader [data-reader-full]{font-size:0}
body.is-primary-programme .is-primary-reader [data-reader-full]:before{content:'⛶';display:block;font-size:25px;line-height:1}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .ox97-task,body.is-primary-programme .is-primary-reader.ox94-wordless .ox97-task{padding:12px}
 body.is-primary-programme .is-primary-reader .ox97-task-heading{display:block}
 body.is-primary-programme .is-primary-reader .ox97-task-copy .oxapp081-task-instruction{font-size:17px;line-height:1.3;margin-bottom:6px}
 body.is-primary-programme .is-primary-reader .ox97-task-copy .oxapp081-task-question{font-size:21px;line-height:1.25}
 body.is-primary-programme .is-primary-reader .ox97-task-audio{justify-content:center;margin-top:10px}
 body.is-primary-programme .is-primary-reader .ox97-task-audio :is([data-instruction-listen],[data-activity-listen]){min-height:46px;padding:7px 11px}
 body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){padding:6px;border-radius:16px;gap:4px;font-size:17px}
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-caption{font-size:16px}
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-label-listen{right:4px;bottom:4px}
 body.is-primary-programme .is-primary-reader .ox97-task-actions{gap:6px;min-height:48px}
 body.is-primary-programme .is-primary-reader .ox97-task-actions [data-check]{font-size:14px;padding:8px;min-width:48px}
 body.is-primary-programme .is-primary-reader .ox97-task-actions :is([data-read-story-again],[data-try-activity-again]){font-size:13px;padding:6px;max-width:90px;white-space:normal}
 body.is-primary-programme .is-primary-reader .ox97-task-actions .oxapp081-feedback{font-size:14px;padding:6px;max-width:42%}
}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task{padding:10px 14px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-grid{grid-template-columns:minmax(190px,.8fr) minmax(0,2fr);grid-template-rows:minmax(0,1fr) 44px;gap:8px 16px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-heading{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;justify-content:center;gap:12px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-copy{flex:0}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-copy .oxapp081-task-instruction{font-size:16px;line-height:1.2;margin-bottom:8px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-copy .oxapp081-task-question{font-size:18px;line-height:1.25}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio{flex-wrap:wrap;justify-content:center;gap:6px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio :is([data-instruction-listen],[data-activity-listen]){min-height:44px;min-width:44px;padding:6px 9px;font-size:13px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board{grid-column:2;grid-row:1}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board :is(.oxapp081-options,.oxapp081-match-grid,.oxapp084-pair-board,.oxapp081-sequence,.oxapp081-match-column,.oxapp084-pair-bank,.oxapp084-pair-targets){gap:6px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){padding:4px 7px;flex-direction:row;align-items:center;font-size:16px;border-radius:12px;gap:6px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .ox94-picture{height:100%;width:auto;min-width:0;flex:1}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .ox94-caption{font-size:15px;line-height:1.15;padding:0 38px 0 0;flex:1}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .ox94-empty{height:100%;font-size:26px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-actions{grid-column:2;grid-row:2;min-height:44px;gap:6px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-actions :is([data-check],[data-pair-reset],[data-read-story-again],[data-try-activity-again]){min-height:44px;font-size:13px;padding:5px 9px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-actions .oxapp081-feedback{font-size:14px;padding:4px 7px}
/* The menu shares a stable grid; the artwork demonstrates each game's action. */
body.is-primary-programme .is-primary-reader.ox97-menu-active{grid-template-rows:auto minmax(0,1fr)}
body.is-primary-programme .is-primary-reader.ox97-menu-active>.oxapp081-reader-footer{display:none}
body.is-primary-programme .is-primary-reader .ox97-game-home{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(10px,1.8vh,22px);padding:clamp(12px,2.4vw,30px);scrollbar-gutter:auto}
body.is-primary-programme .is-primary-reader .ox97-game-home .ox97-club-heading{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:15px;align-items:center;margin:0;width:100%;max-width:1500px;justify-self:center;text-align:center}
body.is-primary-programme .is-primary-reader .ox97-club-heading h2{font-size:clamp(25px,3vw,44px);line-height:1.1;margin:0 0 5px;outline:none}
body.is-primary-programme .is-primary-reader .ox97-club-heading .ox95-instruction{font-size:clamp(15px,1.4vw,21px);line-height:1.25;margin:0;max-width:none}
body.is-primary-programme .is-primary-reader .ox97-club-heading button{min-height:48px;min-width:48px;padding:8px;border-radius:17px;background:#fff8e4;border:2px solid #cbb19d;box-shadow:0 3px 0 #7e5c6120}
body.is-primary-programme .is-primary-reader .ox97-club-heading button svg{width:26px;height:26px}
body.is-primary-programme .is-primary-reader .ox97-earned{display:flex;gap:7px;align-items:center;padding:10px 13px;border-radius:18px;background:#fff4bc;color:#755527;font-size:18px;white-space:nowrap}
body.is-primary-programme .is-primary-reader .ox97-earned svg{height:25px;width:25px}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-menu{width:100%;height:100%;max-width:1500px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(10px,1.6vw,22px);margin:0 auto;min-height:0}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card{--card-ink:#624282;--card-tint:#ece0fa;position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto auto;align-items:stretch;justify-items:stretch;text-align:left;gap:9px;min-height:0;height:100%;padding:12px;border:2px solid #fff9e9;border-radius:24px;transform:none;background:linear-gradient(145deg,#fffdf5,var(--card-tint));box-shadow:0 4px 0 color-mix(in srgb,var(--card-ink) 28%,#fff),0 8px 18px #53375712;color:var(--card-ink);overflow:hidden}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card-1{--card-ink:#24604e;--card-tint:#dff4e6}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card-2{--card-ink:#845121;--card-tint:#fff0b6}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card-3{--card-ink:#275b7d;--card-tint:#dcedfc}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card-4{--card-ink:#995437;--card-tint:#ffe2ca}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card-5{--card-ink:#5b5392;--card-tint:#e8e7ff}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card-6{--card-ink:#914d67;--card-tint:#ffe3e9}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card-7{--card-ink:#345879;--card-tint:#e0ebf5}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card:is(:hover,:focus-visible){transform:translateY(-2px);border-color:var(--card-ink)}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card:active{transform:translateY(2px);box-shadow:0 1px 0 var(--card-ink)}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card.is-played{border-color:#83bca1}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card b{font-size:clamp(18px,1.65vw,26px);margin:0 0 4px;display:block;line-height:1.12;color:var(--card-ink);min-height:0}
body.is-primary-programme .is-primary-reader .ox97-card-copy{min-width:0;display:block}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-subtitle{display:block;font-size:clamp(13px,1.2vw,17px);font-weight:700;line-height:1.25;min-height:0;color:#645372}
body.is-primary-programme .is-primary-reader .ox97-card-skill{display:block;margin-top:5px;font-size:12px;color:#746780;line-height:1.2;font-weight:650}
body.is-primary-programme .is-primary-reader .ox97-game-home .ox97-card-state{display:block;min-height:0;text-align:right;font-size:14px;color:var(--card-ink);line-height:1.1;margin:0;font-weight:850}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-finish{display:flex;align-items:center;justify-content:center;gap:20px;margin:0}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-finish p{margin:0;font-size:17px;line-height:1.3}
body.is-primary-programme .is-primary-reader .ox97-game-home [data-finish-book]{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 20px;margin:0;border-radius:18px;font-size:17px;white-space:nowrap}
body.is-primary-programme .is-primary-reader .ox97-game-home [data-finish-book] svg{width:25px;height:25px}
body.is-primary-programme .is-primary-reader .ox97-game-home .ox97-game-art{position:relative;min-height:0;height:100%;width:100%;background:radial-gradient(ellipse at 40% 30%,#fff9dc,transparent 70%),var(--card-tint);border:0;border-radius:15px;overflow:hidden;box-shadow:none}
body.is-primary-programme .is-primary-reader .ox97-game-art .oxclub-emblem{width:39px;height:39px;right:4px;bottom:4px;padding:5px;border-radius:13px;transform:none;color:var(--card-ink);background:#fffbeb;border:2px solid #fff8e9;box-shadow:0 3px 7px #413a481d}
body.is-primary-programme .is-primary-reader .ox97-game-art .oxclub-emblem svg{width:100%;height:100%}
body.is-primary-programme .is-primary-reader .ox97-art-tile{display:block;position:relative;overflow:hidden;min-height:0;background:#d8eadb;border:3px solid #fffdf3;border-radius:12px;box-shadow:0 4px 0 #5e426623}
body.is-primary-programme .is-primary-reader .ox97-art-tile .ox94-picture{height:100%;width:100%;min-height:0;border-radius:0}
body.is-primary-programme .is-primary-reader .ox97-art-tile .ox94-picture img{object-fit:cover}
body.is-primary-programme .is-primary-reader .ox97-art-spark{position:absolute;right:17%;top:5%;font-size:27px;font-style:normal;font-weight:900;color:#b6801f;text-shadow:0 2px #fff4d0}
body.is-primary-programme .is-primary-reader .ox97-memory-mini{height:72%;width:80%;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:center}
body.is-primary-programme .is-primary-reader .ox97-train-mini{height:60%;width:94%;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;border-bottom:4px solid #568976;position:relative;padding-bottom:12px}
body.is-primary-programme .is-primary-reader .ox97-train-mini:after{content:'';position:absolute;bottom:-2px;left:4%;right:4%;height:18px;background:radial-gradient(circle,#3a6055 0 6px,transparent 7px) 0 0/25% 18px repeat-x}
body.is-primary-programme .is-primary-reader .ox97-train-mini .ox97-art-tile{border-color:#f7bf61;border-radius:9px 9px 3px 3px}
body.is-primary-programme .is-primary-reader .ox97-puzzle-mini{height:84%;width:88%;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
body.is-primary-programme .is-primary-reader .ox97-puzzle-mini .ox97-art-tile{border-radius:7px;box-shadow:none;position:relative}
body.is-primary-programme .is-primary-reader .ox97-puzzle-mini .ox94-picture{width:300%;position:absolute;top:0;left:0}
body.is-primary-programme .is-primary-reader .ox97-puzzle-mini .part-b .ox94-picture{left:-100%}
body.is-primary-programme .is-primary-reader .ox97-puzzle-mini .part-c .ox94-picture{left:-200%}
body.is-primary-programme .is-primary-reader .ox97-window-mini{height:88%;aspect-ratio:1;max-width:75%;border:8px solid #b89160;border-radius:50% 50% 15px 15px;overflow:hidden;box-shadow:0 4px 0 #795d4640}
body.is-primary-programme .is-primary-reader .ox97-window-mini .ox97-art-tile{height:100%;border:0;border-radius:0}
body.is-primary-programme .is-primary-reader .ox97-window-mini .ox94-picture{transform:scale(1.35)}
body.is-primary-programme .is-primary-reader .ox97-basket-mini{height:82%;width:85%;display:grid;grid-template-columns:1fr 1fr;gap:18px;position:relative}
body.is-primary-programme .is-primary-reader .ox97-basket-mini .ox97-art-tile{border-bottom:22px solid #b88c56;border-radius:12px 12px 28px 28px}
body.is-primary-programme .is-primary-reader .ox97-basket-mini:after{content:'';position:absolute;bottom:7px;left:0;right:0;height:10px;background:repeating-linear-gradient(90deg,transparent 0 9px,#ffdc9388 9px 12px);pointer-events:none}
body.is-primary-programme .is-primary-reader .ox97-listen-mini{width:82%;height:86%;position:relative;padding:12px 0 0}
body.is-primary-programme .is-primary-reader .ox97-listen-mini .ox97-art-tile{width:90%;height:100%}
body.is-primary-programme .is-primary-reader .ox97-listen-mini>i{position:absolute;top:-4px;left:10%;font-style:normal;font-size:23px;color:#c99626;text-shadow:0 1px #fff}
body.is-primary-programme .is-primary-reader .ox97-listen-mini>i:nth-of-type(2){left:43%;top:0}
body.is-primary-programme .is-primary-reader .ox97-listen-mini>i:nth-of-type(3){left:76%}
body.is-primary-programme .is-primary-reader .ox97-stage-mini{height:92%;width:91%;padding:8px 18px;border-radius:25px 25px 8px 8px;background:linear-gradient(90deg,#b65f7d 0 15%,#e5ab99 16% 19%,transparent 20% 80%,#e5ab99 81% 84%,#b65f7d 85%);border-top:8px solid #b65f7d;border-bottom:8px solid #865c63}
body.is-primary-programme .is-primary-reader .ox97-stage-mini .ox97-art-tile{height:100%;border:0}
body.is-primary-programme .is-primary-reader .ox97-spot-mini{height:100%;width:100%;background:#273558;padding:12px 26px}
body.is-primary-programme .is-primary-reader .ox97-spot-mini .ox97-art-tile{height:100%;border:2px solid #f1cc72;border-radius:50%;box-shadow:0 0 28px #ffe6a985}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .ox97-game-home{padding:12px;gap:10px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .ox97-club-heading{grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}
 body.is-primary-programme .is-primary-reader .ox97-club-heading h2{font-size:24px}
 body.is-primary-programme .is-primary-reader .ox97-club-heading .ox95-instruction{font-size:14px}
 body.is-primary-programme .is-primary-reader .ox97-club-heading button{min-width:44px;min-height:44px;padding:6px}
 body.is-primary-programme .is-primary-reader .ox97-earned{font-size:12px;padding:7px 4px;flex-direction:column;gap:2px;border-radius:13px}
 body.is-primary-programme .is-primary-reader .ox97-earned svg{height:20px;width:20px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-menu{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:10px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card{padding:7px;gap:5px;border-radius:17px;grid-template-rows:minmax(35px,1fr) auto}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card b{font-size:16px;line-height:1.08;margin-bottom:3px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-subtitle{font-size:12px;line-height:1.15}
 body.is-primary-programme .is-primary-reader .ox97-game-home .ox97-card-state{position:absolute;top:8px;right:8px;background:#fff7dbe8;font-size:10px;padding:4px 6px;border-radius:8px;z-index:3}
 body.is-primary-programme .is-primary-reader .ox97-game-home .ox97-card-skill{display:none}
 body.is-primary-programme .is-primary-reader .ox97-game-art .oxclub-emblem{width:29px;height:29px;border-radius:9px;right:1px;bottom:1px;padding:3px}
 body.is-primary-programme .is-primary-reader .ox97-art-spark{font-size:18px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-finish{gap:10px;justify-content:space-between}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-finish p{font-size:13px;line-height:1.25;max-width:50%}
 body.is-primary-programme .is-primary-reader .ox97-game-home [data-finish-book]{min-height:46px;font-size:13px;padding:8px 10px;gap:5px}
 body.is-primary-programme .is-primary-reader .ox97-game-home [data-finish-book] svg{width:19px;height:19px}
}
@media(max-height:520px) and (min-width:650px){
 body.is-primary-programme .is-primary-reader .ox97-game-home{padding:8px 16px;gap:8px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .ox97-club-heading{grid-template-columns:44px minmax(0,1fr) auto;gap:10px}
 body.is-primary-programme .is-primary-reader .ox97-club-heading h2{font-size:23px;margin:0}
 body.is-primary-programme .is-primary-reader .ox97-club-heading .ox95-instruction{font-size:13px}
 body.is-primary-programme .is-primary-reader .ox97-club-heading button{min-height:44px;min-width:44px;padding:6px}
 body.is-primary-programme .is-primary-reader .ox97-earned{font-size:14px;padding:6px 10px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-menu{gap:8px 12px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card{padding:6px;gap:6px;border-radius:14px;grid-template-columns:58px minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:center}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card b{font-size:15px;margin-bottom:3px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-subtitle{font-size:11px;line-height:1.15}
 body.is-primary-programme .is-primary-reader .ox97-game-home :is(.ox97-card-state,.ox97-card-skill){display:none}
 body.is-primary-programme .is-primary-reader .ox97-game-art .oxclub-emblem{width:24px;height:24px;border-radius:8px;right:1px;bottom:1px;padding:3px}
 body.is-primary-programme .is-primary-reader .ox97-game-art{min-height:45px}
 body.is-primary-programme .is-primary-reader .ox97-memory-mini{gap:4px;width:95%}
 body.is-primary-programme .is-primary-reader .ox97-art-tile{border-width:1px;border-radius:5px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-finish{gap:14px}
 body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-finish p{font-size:14px}
 body.is-primary-programme .is-primary-reader .ox97-game-home [data-finish-book]{min-height:44px;padding:6px 16px;font-size:14px}
}
/* Resolve inherited compact-control rules at the activity/menu boundary. */
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-grid{grid-template-rows:minmax(0,1fr) auto}
body.is-primary-programme .is-primary-reader :is(.ox97-task,.ox97-game-home) .ox94-picture:has(>img) .ox94-picture-fallback{visibility:hidden}
body.is-primary-programme .is-primary-reader .ox97-game-home .ox97-club-heading h2:focus{outline:none!important}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card small.ox97-card-state{font-size:14px}
body.is-primary-programme .is-primary-reader [data-reader-full]:before{content:none}
@media(max-width:649px){body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card small.ox97-card-state{font-size:10px}}
body.is-primary-programme .is-primary-reader .ox97-task-actions .oxapp081-feedback{min-width:0;flex:1;max-width:none}
body.is-primary-programme .is-primary-reader .ox97-task-actions .orl085-revisit-actions{flex-shrink:0}
body.is-primary-programme .is-primary-reader .ox97-task-actions button svg{width:24px;height:24px;flex-shrink:0}
body.is-primary-programme .is-primary-reader .ox97-task-actions button{gap:6px}
@media(max-width:649px),(max-height:520px){body.is-primary-programme .is-primary-reader .ox97-task-actions .ox97-action-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}body.is-primary-programme .is-primary-reader .ox97-task-actions :is([data-read-story-again],[data-try-activity-again]){width:44px;min-width:44px;min-height:44px;padding:8px}}
/* Older learners keep complete sentences; give long story excerpts the space they need. */
body.is-primary-programme .is-primary-reader:not(.ox94-young) .ox97-task-board .oxapp081-choice-media{display:flex;flex-direction:column;gap:8px;width:100%;height:100%;min-height:0;justify-content:center}
body.is-primary-programme .is-primary-reader:not(.ox94-young) .ox97-task-board .oxapp081-choice-media img{width:100%;height:35%;max-height:130px;min-height:35px;flex:1;object-fit:contain}
body.is-primary-programme .is-primary-reader:not(.ox94-young) .ox97-task-board .oxapp081-choice-media>span{flex-shrink:0;width:100%}
body.is-primary-programme .is-primary-reader .ox97-long-pairs>:is(.oxapp081-match-grid,.oxapp084-pair-board){grid-template-columns:minmax(0,3fr) minmax(0,1fr)!important}
body.is-primary-programme .is-primary-reader .ox97-long-pairs .oxapp084-pair-target{word-break:normal;overflow-wrap:normal}
body.is-primary-programme .is-primary-reader .ox97-long-pairs .oxapp084-pair-target>strong{font-size:clamp(14px,1.4vw,22px)}
body.is-primary-programme .is-primary-reader .ox97-long-pairs [data-pair-item]{position:relative;padding-left:35px}
body.is-primary-programme .is-primary-reader .ox97-card-code{position:absolute;left:6px;top:6px;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#674984;color:#fff;font-size:14px;font-style:normal}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader:not(.ox94-young) .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token){font-size:16px;line-height:1.25}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs .oxapp084-pair-image{display:none}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs [data-pair-item]{padding-left:34px}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs .oxapp084-pair-target{padding:5px}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs .oxapp084-pair-target>span{font-size:24px}
}
body.is-primary-programme .is-primary-reader.ox97-short:not(.ox94-young) .ox97-task-grid{grid-template-columns:190px minmax(0,1fr)}
body.is-primary-programme .is-primary-reader.ox97-short:not(.ox94-young) .ox97-task-copy .oxapp081-task-question{font-size:17px}
body.is-primary-programme .is-primary-reader.ox97-short:not(.ox94-young) .ox97-task-board .oxapp081-choice-media img{display:none}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-pairs .oxapp084-pair-image{display:none}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-pairs [data-pair-item]{padding-left:34px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-pairs .oxapp084-pair-target{flex-direction:column;gap:3px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-actions button{line-height:1}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio{flex-wrap:nowrap}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio :is([data-instruction-listen],[data-activity-listen]),body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-actions button{height:44px;min-height:44px;box-sizing:border-box;padding:6px 9px;line-height:1}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio [data-activity-listen]{width:44px;min-width:44px;padding:6px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio [data-activity-listen]>span:last-child{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio .oxprimary093-speaker{font-size:25px;line-height:1}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio svg{height:25px;width:25px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task .oxapp081-task-inner button{min-height:44px!important}
body.is-primary-programme .is-primary-reader .ox97-game-home .oxclub-card.is-played .oxclub-art:after{content:'✓';position:absolute;top:4px;left:4px;width:24px;height:24px;display:grid;place-items:center;background:#2e775e;color:#fff;border:2px solid #fff9e8;border-radius:50%;font-size:15px;font-weight:900}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .ox97-long-choices>.oxapp081-options{grid-template-columns:minmax(0,1fr)}
 body.is-primary-programme .is-primary-reader:not(.ox94-young) .ox97-long-choices .oxapp081-choice-media{flex-direction:row;align-items:center;gap:9px}
 body.is-primary-programme .is-primary-reader:not(.ox94-young) .ox97-long-choices .oxapp081-choice-media img{width:52px;height:64px;min-height:0;flex:0 0 52px;object-fit:cover}
 body.is-primary-programme .is-primary-reader:not(.ox94-young) .ox97-long-choices .oxapp081-choice-media>span{width:auto;flex:1}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs [data-pair-item]{padding-left:7px}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs [data-pair-item]>span{text-indent:29px}
}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-choices>.oxapp081-options{grid-template-columns:minmax(0,1fr)}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-pairs :is(.oxapp081-token,.oxapp081-match){padding-top:2px;padding-bottom:2px;line-height:1.2}
body.is-primary-programme .is-primary-reader .ox97-task-actions:has([data-revisit-actions]:not([hidden])) [data-pair-reset]{display:none}
body.is-primary-programme .is-primary-reader .ox97-task-board [data-pair-item]:disabled{opacity:.8}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp084-pair-bank,.oxapp084-pair-targets){grid-template-columns:minmax(0,1fr)!important}
body.is-primary-programme .is-primary-reader .ox97-long-pairs .oxapp084-pair-target>span{font-size:18px;line-height:1.15}

/* 0.9.8: a little more text room for Primary stories on short landscape screens. */
@media(max-height:520px) and (min-width:650px){
 body.is-primary-programme .is-primary-reader .ox94-reading .oxprimary092-word-page{padding:12px 20px}
 body.is-primary-programme .is-primary-reader .ox94-reading .oxapp081-story-text{line-height:1.35;max-width:none}
}

body.is-primary-programme .is-primary-reader .ox98-moment{position:relative;width:100%}
body.is-primary-programme .is-primary-reader .ox98-moment>summary{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px;border:2px solid #88a68b;border-radius:18px;background:#e6f3dc;color:#345443;font-size:18px;font-weight:750;cursor:pointer}
body.is-primary-programme .is-primary-reader .ox98-moment>.oxprimary090-moment{position:absolute;right:0;top:54px;width:300px;max-width:calc(100vw - 24px);max-height:180px;overflow:auto;z-index:20;box-shadow:0 6px 20px #293d3433;background:#f0f8e9}
/* In picture-only portrait reading, keep the complete illustration/video visible. */
@media(max-width:649px) and (orientation:portrait){
 body.is-primary-programme .is-primary-reader .oxprimary092-open-book.is-picture-only{background:var(--book-paper,#fff8ed)}
 body.is-primary-programme .is-primary-reader .oxprimary092-open-book.is-picture-only .oxprimary092-picture-page{background:var(--book-paper,#fff8ed)}
 body.is-primary-programme .is-primary-reader .oxprimary092-open-book.is-picture-only .oxprimary092-picture-page :is(img,video){object-fit:contain;object-position:center}
}

/* 0.9.9 — Primary picture cards, clear listening controls and touch navigation. */
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture{background:var(--book-wash-a,#f8e9d5);min-width:0;flex-basis:0;isolation:isolate}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture>img{display:block;object-fit:contain;object-position:center;max-width:100%;max-height:100%;border-radius:10px}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-fallback{position:absolute;inset:0;min-height:0;background:linear-gradient(150deg,#fff4cf,#e0f1df)}
body.is-primary-programme .is-primary-reader .ox99-fallback-label{display:none}
body.is-primary-programme .is-primary-reader .ox99-no-image .ox99-fallback-label{display:block;position:absolute;bottom:5px;left:5px;right:5px;padding:5px 7px;border-radius:10px;background:#fff9ebf2;color:#5a4169;font-size:clamp(13px,1.3vw,18px);font-weight:750;line-height:1.15;z-index:2}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox99-no-image .ox94-picture-fallback{padding-bottom:32px}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxprimary091-choice-wrap,.ox94-match-wrap):has(>.ox94-label-listen){display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:5px;align-items:stretch}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-label-listen{position:static;align-self:center;justify-self:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:2px;border:2px solid #bba6ce;border-radius:17px;background:#fff9e9;color:#5d4274;box-shadow:0 3px 0 #6a497c22}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-label-listen svg{width:40px;height:40px;max-width:100%}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-caption{padding-right:0}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){touch-action:manipulation}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token){padding:4px}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-choice-media .ox94-picture{width:100%;min-height:48px;flex:1;max-height:none}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-choice-media .ox94-picture img{height:100%;min-height:0;max-height:none;width:100%}
body.is-primary-programme .is-primary-reader .ox99-picture-slot{display:grid;place-items:center;min-height:0;height:0;flex:1;width:100%;border-radius:13px;background:linear-gradient(145deg,#fdf2d9,#e0f0e4)}
body.is-primary-programme .is-primary-reader .ox99-picture-slot svg{display:block;width:100%;height:100%;max-width:150px;max-height:110px}
body.is-primary-programme .is-primary-reader .ox94-picture-pairs .oxapp084-pair-target{position:relative}
body.is-primary-programme .is-primary-reader .ox94-picture-pairs .ox94-position{position:absolute;left:6px;top:6px;z-index:2;border-radius:9px;min-width:27px;padding:3px;background:#fff9e4eb;color:#6b4d7e;font-size:18px}
body.is-primary-programme .is-primary-reader :is([data-listen],[data-activity-listen],[data-club-listen],[data-instruction-listen],[data-game-help],[data-warm-help]) .ox99-speaker{width:40px;height:40px;flex-shrink:0;overflow:visible}
body.is-primary-programme .is-primary-reader :is([data-activity-listen],[data-club-listen],[data-instruction-listen],[data-game-help],[data-warm-help]){border:2px solid #bba6ce;background:#fff6db;color:#5c4172;border-radius:18px}
body.is-primary-programme .is-primary-reader :is([data-say94],[data-listen],[data-activity-listen],[data-club-listen],[data-instruction-listen]).is-active{border-color:#358370;background:#dff2e9;color:#285d4c}
body.is-primary-programme .is-primary-reader>.oxapp081-reader-footer{position:relative;z-index:35;isolation:isolate;padding-bottom:max(7px,env(safe-area-inset-bottom));pointer-events:auto}
body.is-primary-programme .is-primary-reader>.oxapp081-reader-footer button{min-height:48px;touch-action:manipulation;position:relative;z-index:1}
body.is-primary-programme .is-primary-reader>.oxapp081-reader-footer .ox99-check-next{background:#fff0bf;color:#5d4274;border:2px solid #bd9f66}
body.is-primary-programme .ox99-child-hint{font-size:18px;line-height:1.3;max-width:calc(100vw - 24px);border:2px solid #d5bc78;background:#fff5cf;color:#563f6c;padding:14px 18px;bottom:74px;pointer-events:none}
body.is-primary-programme .is-primary-reader .oxleaf-overlay{pointer-events:none!important}
body.is-primary-programme .is-primary-reader button:focus-visible{outline:3px solid #337d78;outline-offset:2px}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .ox97-task-board[data-items="2"]>.ox94-picture-options{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr))}
 body.is-primary-programme .is-primary-reader .ox97-task-board[data-items="3"]>.ox94-picture-options{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr))}
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .oxapp081-choice{flex-direction:row;align-items:center}
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .ox94-picture{height:100%;min-height:0;flex:1}
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .ox94-caption{flex:1;min-width:0;font-size:16px}
}
body.is-primary-programme .is-primary-reader.ox97-short.ox94-young .ox97-task-board>.ox94-picture-matches{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:9px}
body.is-primary-programme .is-primary-reader.ox97-short.ox94-young .ox97-task-board>.ox94-picture-matches>.oxapp081-match-column{grid-template-columns:repeat(var(--ox97-items,3),minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:8px}
body.is-primary-programme .is-primary-reader.ox97-short.ox94-young .ox97-task-board>.ox94-picture-pairs{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:repeat(2,minmax(0,1fr));gap:9px}
body.is-primary-programme .is-primary-reader.ox97-short.ox94-young .ox97-task-board :is(.oxapp084-pair-bank,.oxapp084-pair-targets){grid-template-columns:repeat(var(--ox97-items,3),minmax(0,1fr))!important;grid-template-rows:minmax(0,1fr);gap:8px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio :is([data-activity-listen],[data-instruction-listen]){height:48px;min-height:48px;min-width:48px;padding:2px 4px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-audio .ox99-speaker{width:36px;height:36px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .ox99-picture-slot{height:100%;min-height:0;flex:1}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .oxapp081-choice-media .ox94-picture{display:block;min-height:0;height:100%;flex:0 0 35%;width:35%}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .oxapp081-choice-media .ox94-picture img{display:block}
@media(prefers-reduced-motion:reduce){body.is-primary-programme .is-primary-reader .ox99-speaker{animation:none!important;transition:none!important}}
body.is-primary-programme .is-primary-reader button{-webkit-tap-highlight-color:transparent}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-match.is-matched{opacity:1;border-color:#65a58a;background:#e4f3e9}
@media(max-width:649px) and (min-height:740px){
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-match-wrap:has(>.ox94-label-listen){grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) 48px;gap:2px}
}
body.is-primary-programme .is-primary-reader.ox97-short:not(.ox94-young) .ox97-task-board>.ox94-picture-matches{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
body.is-primary-programme .is-primary-reader.ox97-short:not(.ox94-young) .ox97-task-board>.ox94-picture-matches>.oxapp081-match-column{grid-template-columns:repeat(var(--ox97-items,3),minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:6px}
body.is-primary-programme .is-primary-reader.ox97-short:not(.ox94-young) .ox94-picture-matches .oxapp081-match{flex-direction:column;gap:2px}
body.is-primary-programme .is-primary-reader.ox97-short:not(.ox94-young) .ox94-picture-matches .ox94-picture{width:100%;height:0;flex:1}
body.is-primary-programme .is-primary-reader.ox97-short:not(.ox94-young) .ox94-picture-matches .ox94-caption{flex:0;font-size:13px;padding:0}
/* 0.10.0 Secondary: shared reader interactions, age-appropriate editorial skin. */
body.is-primary-programme .is-primary-reader.is-secondary-reader{font-family:Arial,Helvetica,sans-serif;--book-deep:#46306d;--book-accent:#9271ca;--book-paper:#f8f5ff;--book-wash-a:#eee6fa;--book-wash-b:#e7edf7;color:#352b46;background:linear-gradient(135deg,#eee7f7,#f8f6fc 48%,#e8e9f5)}
body.is-primary-programme .is-primary-reader.is-secondary-reader :is(button,summary,input){font-family:Arial,Helvetica,sans-serif;letter-spacing:0;font-weight:600}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-reader-header{background:#f5f0fce8;border-bottom:1px solid #d8cce9;box-shadow:0 3px 20px #3623480a}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-reader-title b{font-weight:700;letter-spacing:-.015em}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-reader-title small{color:#6a587e;letter-spacing:.035em}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-reader-footer{background:#f8f5fdeb;border-color:#d8cce9}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-page-meta{color:#46306d}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-page-meta span{font-size:11px;letter-spacing:.12em;font-weight:700}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-page-meta b{font-size:14px;font-weight:500}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary092-open-book{border-radius:12px;box-shadow:0 18px 44px #31234727,0 2px 7px #31234720}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reading .oxprimary092-word-page{padding:clamp(20px,3vw,52px);gap:22px}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reading .oxapp081-story-text{font-family:Arial,Helvetica,sans-serif;font-size:clamp(19px,1.65vw,28px);font-weight:400;line-height:1.58;letter-spacing:0;max-width:43ch;color:#352b46;text-wrap:pretty}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary090-moment{border-radius:12px;background:#f0e9f6d9;border-color:#c8b4dd;color:#4d3866;box-shadow:none}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary090-moment span{font-size:10px;letter-spacing:.12em}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary090-moment b{font-family:inherit;font-size:clamp(14px,1.15vw,18px);font-weight:500;line-height:1.4}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reader-dock{background:#f4effbdc;border-color:#d4c6e3}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reader-dock>button{background:#523578;color:#fff;border-color:#523578;border-radius:14px}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-settings-panel{background:#f8f5ff;border-color:#cdbce1}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-settings-panel button{border-radius:10px;background:#eee7f7;color:#44305f;border-color:#cdbce1}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox99-speaker>rect:first-child{fill:#e9def8}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox99-speaker>path:first-of-type{fill:#a58bc5;stroke:#4b3669}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox99-speaker>path:last-of-type{stroke:#614784}
body.is-primary-programme .is-primary-reader.is-secondary-reader [aria-pressed=true] .ox99-speaker>rect:nth-child(2){fill:#51336e}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox99-speaker>circle{fill:#a58bc5}
body.is-primary-programme .is-primary-reader.is-secondary-reader :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){border-radius:13px;font-family:inherit;font-size:clamp(15px,1.25vw,20px);font-weight:500;line-height:1.35;color:#3c2c51;border-color:#cdbfdf;background:#f7f1fc;box-shadow:0 3px 10px #50336a0d}
body.is-primary-programme .is-primary-reader.is-secondary-reader :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token).is-selected{background:#e7d9f8;border-color:#735298;box-shadow:0 0 0 2px #9b7bc740}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-task-card{background:linear-gradient(130deg,#f1e9faee,#f9f6fbdf);border-color:#d6c8e5}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-task-question{font-family:inherit;font-size:clamp(18px,1.5vw,25px);font-weight:600;line-height:1.35;color:#3b2855}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-task-instruction{font-family:inherit;font-size:clamp(14px,1.15vw,18px);font-weight:400;color:#675277}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-evidence-caption{background:linear-gradient(transparent,#291c44e6);color:#fff}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-evidence-caption b{font-size:15px}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-caption{font:500 14px/1.3 Arial,Helvetica,sans-serif}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox96-cover-title{background:linear-gradient(transparent,#20182fd9 35%,#20182ff0);color:#fff}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox96-cover-title h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(30px,4.5vw,58px);font-weight:400;letter-spacing:-.025em;line-height:1.05;color:#fff9ff}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox96-cover-title p{font-family:Arial,Helvetica,sans-serif;line-height:1.4;color:#e9dff7;font-weight:400}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox96-cover-brand{background:#30213de0;color:#f4eafa;letter-spacing:.13em}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox96-cover-brand span{color:#cfb3ee}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary093-start{background:#57387b;border-color:#57387b;color:white;border-radius:14px;box-shadow:0 6px 16px #3b235426}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-menu{background:linear-gradient(130deg,#eee4f8,#f8f5fd 52%,#e6e7f6)}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-menu h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#493062}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-grid>button{transform:none!important;rotate:none!important;border-radius:16px;border-color:#d1c2e4;background:#faf7ff;box-shadow:0 5px 16px #50336c12}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-grid>button:hover{translate:0 -3px;box-shadow:0 9px 22px #50336c26}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-grid>button:active{translate:0 1px}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-grid strong{font-family:inherit;font-weight:600;color:#493062}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-grid small{font-weight:400;color:#6d5980}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-emblem{background:#eee5fa;color:#5b3e7b;border-color:#cbb8df}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-finish{background:#5c3d80;border-color:#5c3d80;color:#fff;border-radius:13px}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub header h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#46305f}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub header p{font-family:inherit;font-weight:400;color:#6b547c}
body.is-primary-programme .is-primary-reader.is-secondary-reader button:focus-visible{outline-color:#6a448f}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reading .oxprimary092-word-page{padding:clamp(110px,19vh,165px) 22px 22px}
 body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reading .oxapp081-story-text{font-size:19px;line-height:1.48;max-width:none}
 body.is-primary-programme .is-primary-reader.is-secondary-reader .ox96-cover-title h1{font-size:33px}
 body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary090-moment b{font-size:14px}
 body.is-primary-programme .is-primary-reader.is-secondary-reader :is(.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){font-size:15px}
}
@media(max-height:520px) and (min-width:650px){
 body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reading .oxprimary092-word-page{padding:12px 20px}
 body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reading .oxapp081-story-text{font-size:18px;line-height:1.4;max-width:none}
 body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-task-question{font-size:18px}
 body.is-primary-programme .is-primary-reader.is-secondary-reader :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){font-size:15px}
 body.is-primary-programme .is-primary-reader.is-secondary-reader .ox96-cover-title h1{font-size:30px}
}
@media(prefers-reduced-motion:reduce){body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-grid>button:hover{translate:none}}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-menu>.oxclub-card{transform:none!important;rotate:none!important;border-radius:16px;border-color:#d1c2e4;background:#faf7ff;box-shadow:0 5px 16px #50336c12}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-menu>.oxclub-card:hover{translate:0 -3px;box-shadow:0 9px 22px #50336c26}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-menu>.oxclub-card:active{translate:0 1px}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox97-card-copy b{font-family:Arial,Helvetica,sans-serif;font-weight:600;color:#493062}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox97-card-copy :is(span,small){font-family:Arial,Helvetica,sans-serif;font-weight:400;color:#6d5980}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-finish{background:transparent;color:#6b547c}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-finish [data-finish-book]{background:#5c3d80;border-color:#5c3d80;border-radius:13px;color:#fff}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox97-club-heading h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#493062}
@media(prefers-reduced-motion:reduce){body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-menu>.oxclub-card:hover{translate:none}}

body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-reader-header{color:#44305f}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-reader-title b{color:#44305f}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxapp081-reader-header .oxapp081-icon-button{color:#44305f;background:#ede5f7;border-color:#cebddf}
body.is-primary-programme .is-primary-reader.is-secondary-reader :is(button,summary,input,h1,h2,h3,p,.ox94-caption,.ox94-page-meta){font-family:Arial,Helvetica,sans-serif}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox94-reading .oxapp081-story-text{font-family:Arial,Helvetica,sans-serif;font-weight:400}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox97-club-heading h2,body.is-primary-programme .is-primary-reader.is-secondary-reader .ox96-cover-title h1,body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary093-invitation-copy h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;text-shadow:none}
body.is-primary-programme .is-primary-reader.is-secondary-reader .ox97-game-home{background:linear-gradient(130deg,#e8dff4,#f8f5fd 52%,#e7ebf6)}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxclub-finish [data-finish-book]:disabled{background:#e1d6ec;color:#786585;border-color:#cfc0dd;opacity:1}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary092-picture-page:after{background:linear-gradient(90deg,transparent 22%,rgba(246,239,251,.08) 35%,rgba(246,239,251,.65) 55%,rgba(246,239,251,.92) 83%,rgba(246,239,251,.85))}
@media(max-width:649px){body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary092-picture-page:after{background:linear-gradient(180deg,transparent 8%,rgba(246,239,251,.15) 19%,rgba(246,239,251,.87) 38%,rgba(246,239,251,.95) 85%)}}
body.is-primary-programme .is-primary-reader.is-secondary-reader .oxprimary092-open-book.is-picture-only .oxprimary092-picture-page:after{background:none;opacity:0}
/* 0.10.1: neutral choices, readable story evidence and direct manipulation. */
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){position:relative;user-select:none;color:#493657;font-size:clamp(20px,1.8vw,29px);line-height:1.3;font-weight:650}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target):not(.is-correct):not(.is-wrong):not(.is-matched):not(.is-selected){background:#faf6ff;border-color:#b6a0ca;box-shadow:0 3px 0 #63507814}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token).is-selected:not(.is-correct):not(.is-wrong){background:#eee0fb!important;border-color:#795298!important;color:#503169!important;box-shadow:inset 0 0 0 2px #9977b5}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice.is-correct,.oxapp081-match.is-matched){background:#e6f5ec!important;border-color:#26764f!important;color:#205b40!important;opacity:1;box-shadow:inset 0 0 0 2px #61a580}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-choice.is-wrong{background:#fff3d9!important;border-color:#ac782b!important;color:#74501e!important;box-shadow:inset 0 0 0 2px #d6b471}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox101-state{position:absolute;right:9px;top:9px;display:grid;place-items:center;width:30px;height:30px;background:#26764f;color:white;border-radius:50%;font:800 22px/1 Arial,sans-serif;box-shadow:0 2px 5px #27362622;z-index:1;pointer-events:none}
body.is-primary-programme .is-primary-reader .ox97-task-board .is-wrong .ox101-state{background:#94641e}
body.is-primary-programme .is-primary-reader .ox97-task-board .is-participation .ox101-state{background:#795298}
body.is-primary-programme .is-primary-reader .ox97-task-actions .is-participation{background:#eee3f8;color:#563975;border:1px solid #bea5d3}
body.is-primary-programme .is-primary-reader .ox97-task-board [data-match-side]{touch-action:none;cursor:grab}
body.is-primary-programme .is-primary-reader .ox97-task-board [data-pair-item]{touch-action:none;cursor:grab}
body.is-primary-programme .is-primary-reader .ox97-task-board :is([data-match-side],[data-pair-target]).is-over{border:3px dashed #775194!important;background:#eadef9!important;box-shadow:inset 0 0 0 3px #c0a2d4}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(button:disabled){cursor:default}
body.is-primary-programme .is-primary-reader .ox97-task-board.ox101-text-choices{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(16px,3vw,44px);align-items:stretch}
body.is-primary-programme .is-primary-reader .ox101-story-clue{margin:0;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;border-radius:22px;background:#f1eafa;overflow:hidden;padding:8px;box-shadow:inset 0 0 0 1px #d0c1e0}
body.is-primary-programme .is-primary-reader .ox101-story-clue img{display:block;width:100%;height:100%;object-fit:contain;border-radius:16px}
body.is-primary-programme .is-primary-reader .ox101-text-choices .oxapp081-options{grid-template-columns:1fr;gap:clamp(12px,2vh,24px);align-self:center;height:min(100%,560px)}
body.is-primary-programme .is-primary-reader .ox101-text-choices:not(:has(.ox101-story-clue)){grid-template-columns:1fr}
body.is-primary-programme .is-primary-reader .ox101-text-choices:not(:has(.ox101-story-clue)) .oxapp081-options{max-width:1000px;justify-self:center}
body.is-primary-programme .is-primary-reader .ox101-text-choices .oxapp081-choice{padding:clamp(16px,2vw,30px) 44px clamp(16px,2vw,30px) clamp(16px,2vw,30px);align-items:flex-start;text-align:left;font-size:clamp(22px,2vw,32px);line-height:1.35}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox101-card-art{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;align-self:stretch;flex:1 1 52%;width:52%;height:100%;border-radius:14px;background:#f1eafa;overflow:hidden}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox101-card-art .oxapp084-pair-image{display:block;max-width:none;max-height:none;width:100%!important;height:100%!important;flex:1 1 auto;min-height:0;margin:0;object-fit:contain;object-position:center;border-radius:10px}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-match,.oxapp081-token):has(.ox101-card-art){flex-direction:row;align-items:center;gap:clamp(10px,1.5vw,24px);text-align:left;padding:12px}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.ox101-card-label,[data-pair-item]>.ox101-card-art+span){flex:1 1 48%;min-width:0;max-height:100%;overflow-wrap:break-word}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp084-pair-target:has(.ox101-card-art){display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto minmax(0,1fr);gap:8px 14px;text-align:left}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp084-pair-target:has(.ox101-card-art)>strong{grid-column:1/-1;font-size:.8em;color:#715486}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp084-pair-target .ox101-card-art{width:100%;height:100%}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp084-pair-target>strong{font-size:1.05em;color:#604676}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp084-pair-target>.ox101-card-label{flex:0;font-size:.85em;color:#77608b}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-caption{font-size:clamp(18px,1.55vw,25px)}
.oxapp081-drag-ghost.ox101-drag-ghost{width:180px!important;max-width:180px!important;max-height:160px!important;height:160px!important;padding:8px!important;font-size:16px!important;display:flex!important;flex-direction:column!important;gap:5px!important;opacity:.96!important}
.ox101-drag-ghost :is(.ox94-picture,.ox101-card-art){display:block;min-height:0;flex:1;overflow:hidden;width:100%;height:100%}
.ox101-drag-ghost img{display:block;width:100%;height:100%;object-fit:contain}
.ox101-drag-ghost :is(.ox94-caption,.ox101-card-label){flex:0;font-size:15px;padding:0}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){font-size:18px;line-height:1.25}
 body.is-primary-programme .is-primary-reader .ox97-task-board.ox101-text-choices{grid-template-columns:1fr;grid-template-rows:minmax(0,.7fr) minmax(0,1.3fr);gap:10px}
 body.is-primary-programme .is-primary-reader .ox101-story-clue{padding:4px;border-radius:16px}
 body.is-primary-programme .is-primary-reader .ox101-text-choices .oxapp081-options{height:100%;gap:8px}
 body.is-primary-programme .is-primary-reader .ox101-text-choices .oxapp081-choice{font-size:18px;line-height:1.25;padding:10px 35px 10px 12px}
 body.is-primary-programme .is-primary-reader .ox101-text-choices:not(:has(.ox101-story-clue)){grid-template-rows:minmax(0,1fr)}
 body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-match,.oxapp081-token):has(.ox101-card-art){flex-direction:column;text-align:center;gap:6px;padding:6px}
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox101-card-art{width:100%;height:0;flex:1 1 0}
 body.is-primary-programme .is-primary-reader .ox97-task-board :is(.ox101-card-label,[data-pair-item]>.ox101-card-art+span){flex:0 0 auto}
 body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp084-pair-target:has(.ox101-card-art){display:flex;flex-direction:column;gap:4px}
 body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp084-pair-target .ox101-card-art{height:0}
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-caption{font-size:17px}
 body.is-primary-programme .is-primary-reader .ox97-task-board .ox101-state{width:25px;height:25px;font-size:19px;top:5px;right:5px}
}
body.is-primary-programme .is-primary-reader.ox97-short .ox101-text-choices{grid-template-columns:1fr;grid-template-rows:1fr}
body.is-primary-programme .is-primary-reader.ox97-short .ox101-story-clue{display:none}
body.is-primary-programme .is-primary-reader.ox97-short .ox101-text-choices .oxapp081-options{height:100%;gap:6px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){font-size:16px;line-height:1.2;padding:6px 8px}
body.is-primary-programme .is-primary-reader.ox97-short .ox101-text-choices .oxapp081-choice{padding-right:36px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .ox101-card-art{flex:0 0 36%;width:36%;height:100%;border-radius:6px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .oxapp084-pair-target:has(.ox101-card-art){display:flex;flex-direction:row;gap:6px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .oxapp084-pair-target:has(.ox101-card-art)>strong{font-size:14px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .oxapp084-pair-target>.ox101-card-label{font-size:14px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .ox94-caption{font-size:15px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .ox101-state{width:22px;height:22px;font-size:17px;top:3px;right:3px}
@media(prefers-reduced-motion:reduce){body.is-primary-programme .is-primary-reader .ox97-task-board *{animation:none!important;transition:none!important}}

body.is-primary-programme .is-primary-reader .ox101-story-clue{align-self:center;aspect-ratio:3/2;width:100%;height:auto;max-height:100%;box-sizing:border-box}
body.is-primary-programme .is-primary-reader .ox97-long-pairs .ox101-card-art:has(img[style*="display: none"]){display:none}
@media(max-width:649px){body.is-primary-programme .is-primary-reader .ox101-story-clue{height:100%;width:100%;aspect-ratio:auto}}

/* Long legacy accounts receive space before type is reduced. */
body.is-primary-programme .is-primary-reader .ox101-text-choices.ox97-long-choices .oxapp081-options{height:100%;width:100%;max-width:none}
body.is-primary-programme .is-primary-reader .ox101-text-choices.ox97-long-choices .oxapp081-choice{font-size:clamp(19px,1.5vw,26px);padding:14px 36px 14px 16px}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxapp081-token-zone{flex-wrap:nowrap}
body.is-primary-programme .is-primary-reader .ox97-long-pairs [data-pair-item]{padding-left:36px}
body.is-primary-programme .is-primary-reader .ox97-long-pairs .oxapp084-pair-target .ox101-card-label{font-size:24px}
@media(max-width:649px){
 body.is-primary-programme .is-primary-reader .ox101-text-choices.ox97-long-choices{grid-template-rows:1fr}
 body.is-primary-programme .is-primary-reader .ox101-text-choices.ox97-long-choices .ox101-story-clue{display:none}
 body.is-primary-programme .is-primary-reader .ox101-text-choices.ox97-long-choices .oxapp081-choice{font-size:17px;line-height:1.25;padding:8px 30px 8px 10px}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs .ox101-card-art{display:none!important}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs [data-pair-item]{padding:6px!important;font-size:16px!important;line-height:1.22!important}
 body.is-primary-programme .is-primary-reader .ox97-long-pairs .oxapp084-pair-target:has(.ox101-card-art){display:flex;flex-direction:column}
}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-pairs .ox101-card-art{display:none!important}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-pairs [data-pair-item]{font-size:16px;line-height:1.2;padding:4px 8px 4px 33px;flex-direction:row}
body.is-primary-programme .is-primary-reader.ox97-short .ox101-text-choices.ox97-long-choices .oxapp081-choice{font-size:16px;line-height:1.2;padding:5px 32px 5px 8px}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board[data-activity="matching"]:not(:has(img)) .oxapp081-match-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-task-board .oxapp081-token-zone{padding:4px;gap:3px}
body.is-primary-programme .is-primary-reader .ox97-task-board .oxprimary091-choice-wrap:not(:has(>.ox94-label-listen,>.oxprimary091-option-audio)){display:flex}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-pairs>.oxapp084-pair-board{grid-template-columns:minmax(0,5fr) minmax(60px,1fr)!important}
body.is-primary-programme .is-primary-reader.ox97-short .ox97-long-pairs [data-pair-item]{line-height:1.1;padding:2px 6px 2px 33px}
/* 0.11.0 — touch navigation, media-clock highlighting and page recordings. */
html.orl086-installed .oxapp081-root,body .oxapp081-root{height:var(--oxapp081-height);max-height:var(--oxapp081-height)}
body.is-primary-programme .is-primary-reader>.oxapp081-reader-footer{z-index:80;flex-shrink:0;padding-bottom:max(8px,env(safe-area-inset-bottom));}
body.is-primary-programme .is-primary-reader>.oxapp081-reader-footer button{min-width:48px;min-height:48px;touch-action:manipulation}
.oxprimary092-open-book{touch-action:pan-y}
.ox110-word{border-radius:.18em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.ox110-word.is-speaking110{background:#ffe16a!important;color:#302039!important;box-shadow:0 2px 0 #aa7b16;font-weight:900}
body.is-primary-programme .is-primary-reader [data-record-panel110]{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:8px;max-width:100%;min-width:0}
body.is-primary-programme .is-primary-reader [data-record-panel110] audio{width:260px;max-width:100%;height:42px}
body.is-primary-programme .is-primary-reader [data-record-status110]{flex-basis:100%;font-size:14px;line-height:1.35;letter-spacing:normal}
body.is-primary-programme .is-primary-reader .oxprimary090-moment [data-record110],body.is-primary-programme .is-primary-reader .oxprimary090-moment [data-send110]{min-height:44px;font-size:15px;padding:8px 12px;white-space:normal;background:#4b326a;color:white;border:0;border-radius:13px}
body.is-primary-programme .is-primary-reader .oxprimary090-moment button:disabled{opacity:.6}
body.is-primary-programme .is-primary-reader .ox98-moment>.oxprimary090-moment{max-height:calc(var(--oxapp081-height) - 130px);top:auto;bottom:54px;z-index:90}
@media(max-width:649px){body.is-primary-programme .is-primary-reader .oxprimary090-moment b{font-size:16px;line-height:1.35}body.is-primary-programme .is-primary-reader [data-record-panel110] audio{width:100%}}

body.is-primary-programme .is-primary-reader .ox98-moment .oxprimary090-moment b{font-size:16px;line-height:1.35}
body.is-primary-programme .is-primary-reader .ox98-moment .oxprimary090-moment>span{font-size:12px}
/* 0.12: visible, child-friendly microphone with automatic saving. */
body.is-primary-programme .is-primary-reader .oxprimary090-moment [data-record110]{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:6px 12px 6px 6px;border-radius:20px;font-size:17px;min-height:60px;box-shadow:0 4px 0 #322345}
.ox120-mic{width:48px;height:48px;flex:0 0 48px}
.ox120-auto-note{display:block;flex-basis:100%;font-size:12px;line-height:1.35;color:#365b48}
[data-record-panel110] [data-record-status110]{font-size:15px}
@media(max-height:520px){body.is-primary-programme .is-primary-reader .ox98-moment .oxprimary090-moment{max-height:calc(var(--oxapp081-height) - 100px)}.ox120-mic{width:40px;height:40px;flex-basis:40px}}
body.is-primary-programme .is-primary-reader .oxprimary090-moment [data-record110]>span{color:#fff!important;font-size:16px!important;line-height:1.2;letter-spacing:normal!important;text-transform:none}
body.is-primary-programme .is-primary-reader .oxprimary090-moment .ox120-auto-note{color:#365b48;font-size:12px;letter-spacing:normal}
body.is-primary-programme .is-primary-reader .oxprimary090-moment [data-record-status110]{letter-spacing:normal;text-transform:none}

/* 0.12.1: cover-first preparation with measured task progress. */
.ox121-opening{display:grid!important;place-items:center;overflow:auto!important;background:radial-gradient(ellipse at top,#fff1c3,#eef6ef 65%)}
.ox121-loader{width:min(440px,90%);text-align:center;padding:20px 0;color:#234e64;margin:auto}
.ox121-loading-cover{position:relative;margin:0 auto 16px;width:min(220px,48vw);aspect-ratio:3/4;border-radius:10px 18px 18px 10px;overflow:hidden;box-shadow:0 14px 28px #244e642b,5px 3px 0 #fff,8px 5px 0 #bdc9c1;background:#fff2cf;transform:rotate(-2deg)}
.ox121-loading-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.ox121-loading-cover .oxapp081-cover-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:16px}
.ox121-loader h2{font-size:clamp(20px,3vw,28px);line-height:1.2;margin:12px 0 18px;color:#234e64}
.ox121-progress{position:relative;height:22px;background:#dce6df;border:3px solid #fff;border-radius:30px;overflow:hidden;box-shadow:0 2px 8px #234e641a}
.ox121-progress>span{position:relative;display:block;width:0;height:100%;border-radius:30px;background:linear-gradient(90deg,#765092,#a174bc);transition:width .5s ease}
.ox121-progress>span:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff65 50%,transparent 75%);animation:ox121-shimmer 1.7s infinite;transform:translateX(-100%)}
.ox121-progress.is-ready>span{background:#43866a}.ox121-progress.is-ready>span:after{animation:none;opacity:0}
.ox121-percent{display:block;font-size:27px;color:#644085;margin-top:10px}.ox121-loader p{margin:5px 0 0;font-size:15px;line-height:1.4;min-height:2.8em}
@keyframes ox121-shimmer{to{transform:translateX(100%)}}
@media(max-height:600px){.ox121-loader{padding:10px 0}.ox121-loading-cover{width:105px;margin-bottom:8px}.ox121-loader h2{font-size:20px;margin:6px 0 10px}.ox121-percent{font-size:22px;margin-top:4px}.ox121-loader p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.ox121-progress>span{transition:none}.ox121-progress>span:after{animation:none}}

/* Grade1–4 library: same paper, purple and green palette as the reader. */
body.is-primary-programme .oxapp081-main{background:#f4f7ed}
body.is-primary-programme .oxprimary091-dashboard{max-width:1250px;margin:0 auto;padding:24px;gap:24px}
.ox122-story-welcome{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:30px 36px;border-radius:30px;background:linear-gradient(115deg,#fff0bf,#fff8e3 58%,#ddecda);border:2px solid #fff;box-shadow:0 8px 0 #dae5d7;color:#285569;overflow:hidden}
.ox122-grade{display:inline-block;background:#fff;padding:6px 14px;border-radius:30px;color:#745090;font-size:14px;font-weight:900}
.ox122-story-welcome h1{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:12px 0 8px;color:#285569}.ox122-story-welcome p{font-size:19px;margin:0}
.ox122-journey{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.ox122-journey span{padding:8px 12px;background:#ffffffbd;border-radius:14px;font-weight:800;color:#584375}
.ox122-story-art{position:relative;flex:0 0 200px;padding-top:25px;transform:rotate(5deg)}.ox122-story-art svg{width:200px;height:150px}.ox122-sun{position:absolute;right:5px;top:-22px;color:#d79a25;font-size:72px}.ox122-star{position:absolute;left:-12px;top:18px;color:#9270ad;font-size:38px}
body.is-primary-programme .oxprimary091-dashboard .oxprimary091-section{background:#fffdf7;border:2px solid #fff;border-radius:28px;padding:24px;box-shadow:0 5px 0 #e2e9dc}
body.is-primary-programme .oxprimary091-dashboard h2{color:#594075;font-size:25px}
body.is-primary-programme .oxprimary091-dashboard .oxapp081-book{border-radius:23px;overflow:hidden;box-shadow:0 6px 0 #dbdfd0;border:2px solid #eee4cd;transition:transform .15s}
body.is-primary-programme .oxprimary091-dashboard .oxapp081-book:hover{transform:translateY(-4px)}
body.is-primary-programme .oxprimary091-dashboard .oxapp081-book:nth-child(3n+2){border-color:#dcd0e9}body.is-primary-programme .oxprimary091-dashboard .oxapp081-book:nth-child(3n+3){border-color:#cadfcf}
body.is-primary-programme .oxprimary091-dashboard .oxapp081-count{background:#ede2f4;color:#654382;border-radius:18px;padding:8px 14px}
body.is-primary-programme .oxprimary091-dashboard .oxprimary091-today{box-shadow:none;border-radius:23px}
body.is-primary-programme .oxprimary091-dashboard .oxprimary091-play-card{border-radius:22px;background:#e8f1e4;border:2px solid #d4e3cb}
body.is-primary-programme .oxprimary091-dashboard .oxprimary091-stickers{background:#fff0c7}
@media(max-width:649px){body.is-primary-programme .oxprimary091-dashboard{padding:14px;gap:18px}.ox122-story-welcome{padding:20px;gap:6px;border-radius:24px}.ox122-story-art{flex-basis:90px}.ox122-story-art svg{width:90px;height:90px}.ox122-sun{font-size:43px;top:-5px}.ox122-star{font-size:24px;top:18px}.ox122-story-welcome h1{font-size:27px}.ox122-story-welcome p{font-size:16px}.ox122-journey{gap:5px;margin-top:14px}.ox122-journey span{font-size:13px;padding:6px 8px}body.is-primary-programme .oxprimary091-dashboard .oxprimary091-section{padding:16px;border-radius:24px}body.is-primary-programme .oxprimary091-dashboard h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){body.is-primary-programme .oxprimary091-dashboard .oxapp081-book{transition:none}}

.ox122-journey span{display:inline-flex;align-items:center;gap:5px}.ox122-journey svg{width:18px;height:18px;flex:none}

/*0.12.3: persistent activity return, shared speaker controls, larger clue artwork.*/
body.is-primary-programme .is-primary-reader .oxapp081-reader-footer .orl085-story-return{display:inline-flex!important;align-items:center;justify-content:center;min-height:44px;padding:5px 8px;font-size:13px;line-height:1.15;background:#ffe8a7;color:#4b326a;border:2px solid #ad91be;border-radius:14px;white-space:normal;max-width:100%}
body.is-primary-programme .is-primary-reader :is(.oxprimary091-option-audio,[data-game-listen]){display:inline-flex;align-items:center;justify-content:center;gap:6px}
body.is-primary-programme .is-primary-reader .oxprimary091-option-audio .ox99-speaker{width:36px;height:36px}
body.is-primary-programme .is-primary-reader .ox101-story-clue{align-self:center;aspect-ratio:3/2;height:auto;max-height:100%;padding:0;background:transparent;box-shadow:none}
body.is-primary-programme .is-primary-reader .ox101-story-clue img{width:100%;height:auto;max-height:100%;object-fit:contain}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.ox94-caption,.ox101-card-label){text-align:center;align-self:center;justify-content:center}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox101-card-art{background:transparent;flex-basis:62%;width:62%;align-self:center;aspect-ratio:3/2;height:auto;max-height:100%}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.oxapp081-match,.oxapp081-token):has(.ox101-card-art){text-align:center}
body.is-primary-programme .is-primary-reader .oxclub-grid .ox94-picture{height:clamp(155px,27vh,310px)}
body.is-primary-programme .is-primary-reader .oxclub-grid.memory .ox94-picture{height:clamp(120px,23vh,240px)}
body.is-primary-programme .is-primary-reader .oxclub-grid{gap:12px}
@media(max-width:649px){body.is-primary-programme .is-primary-reader .oxclub-grid .ox94-picture{height:145px;min-height:100px}body.is-primary-programme .is-primary-reader .oxclub-grid.memory .ox94-picture{height:120px}body.is-primary-programme .is-primary-reader .ox97-task-board .ox101-card-art{width:100%;flex:1 1 0;min-height:0;max-height:100%;height:auto}}
@media(max-height:520px) and (min-width:650px){body.is-primary-programme .is-primary-reader .oxclub-grid .ox94-picture{height:115px;min-height:80px}body.is-primary-programme .is-primary-reader .oxclub-grid.memory .ox94-picture{height:90px}body.is-primary-programme .is-primary-reader .ox97-task-board .ox101-card-art{width:48%;flex-basis:48%}}
body.is-primary-programme .is-primary-reader .ox99-fallback-label{text-align:center;justify-content:center}
body.is-primary-programme .is-primary-reader .ox97-task-board button:has(>.ox94-caption) .ox99-fallback-label{display:none}
body.is-primary-programme .is-primary-reader .ox97-task-board button:has(>.ox94-caption)>.ox99-no-image{display:none}
body.is-primary-programme .is-primary-reader .ox97-task-board button:has(>.ox99-no-image)>.ox94-caption{display:flex;align-items:center;justify-content:center;flex:1;width:100%;font-size:clamp(20px,2.5vw,32px);text-align:center}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture:has(>img){background:transparent}
body.is-primary-programme .is-primary-reader .oxclub-board{max-width:1200px}
body.is-primary-programme .is-primary-reader .oxclub-grid .ox94-picture{width:100%;height:auto;aspect-ratio:3/2;min-height:0;max-height:310px;background:transparent}
body.is-primary-programme .is-primary-reader .oxclub-grid .ox94-picture>img{object-fit:contain;width:100%;height:100%}
@media(max-width:649px){body.is-primary-programme .is-primary-reader .oxclub-grid:not(.memory){grid-template-columns:repeat(2,minmax(0,1fr))}body.is-primary-programme .is-primary-reader .oxclub-grid:not(.memory)>:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 6px);justify-self:center}body.is-primary-programme .is-primary-reader .oxclub-grid .ox94-picture{height:auto;min-height:0}}

/* 0.12.4: every picture-choice layout, including non-board activities. */
body.is-primary-programme .is-primary-reader .ox94-picture-options{justify-content:center;align-content:center}
body.is-primary-programme .is-primary-reader .ox94-picture-options .oxprimary091-choice-wrap{width:100%;max-width:540px;justify-self:center}
body.is-primary-programme .is-primary-reader .ox94-picture-options .oxapp081-choice{width:100%;text-align:center;align-items:center;justify-content:center}
body.is-primary-programme .is-primary-reader .ox94-picture-options .ox94-picture:has(img){background:transparent!important;width:100%;height:auto!important;aspect-ratio:3/2;min-height:0;display:flex;align-items:center;justify-content:center}
body.is-primary-programme .is-primary-reader .ox94-picture-options .ox94-picture img{display:block;width:100%;height:100%;object-fit:contain}
body.is-primary-programme .is-primary-reader .ox94-caption{display:block;width:100%;text-align:center!important;align-self:center}
@media(min-width:900px){body.is-primary-programme .is-primary-reader .ox94-picture-options:has(>.oxprimary091-choice-wrap:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-height:600px){body.is-primary-programme .is-primary-reader .ox94-picture-options .oxprimary091-choice-wrap{max-width:320px}}

body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options{align-items:center;justify-items:center}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .oxprimary091-choice-wrap{max-width:480px;height:auto;align-self:center}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .oxapp081-choice{height:auto;min-height:0;flex-direction:column;padding:5px;gap:8px}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .ox94-picture:has(img){flex:0 0 auto;min-height:0;height:auto!important;aspect-ratio:3/2;width:100%}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .ox94-picture>img{position:static;width:100%;height:auto;max-height:none;aspect-ratio:3/2;object-fit:contain}
@media(min-width:900px){body.is-primary-programme .is-primary-reader .ox97-task-board[data-items="3"]>.ox94-picture-options{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:minmax(0,1fr)}}
@media(max-width:649px){body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .oxprimary091-choice-wrap{max-width:310px}body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .oxapp081-choice{flex-direction:row}body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .ox94-picture:has(img){width:52%;flex:0 0 52%}}
@media(max-height:600px) and (min-width:650px){body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-options .oxprimary091-choice-wrap{max-width:255px}}

/* Fit matching and sequencing cards to the artwork rather than the full column. */
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-matches .ox94-match-wrap{width:100%;max-width:calc((100dvh - 320px) / var(--ox97-items,3) * 1.5 + 62px);justify-self:center}
body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-pairs :is(.oxapp081-token,.oxapp084-pair-target){width:100%;max-width:calc((100dvh - 320px) / var(--ox97-items,3) * 1.5 + 16px);justify-self:center}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.ox94-picture-matches,.ox94-picture-pairs) .ox94-picture:has(img){background:transparent;min-width:0;width:100%}
body.is-primary-programme .is-primary-reader .ox97-task-board :is(.ox94-picture-matches,.ox94-picture-pairs) .ox94-picture>img{width:100%;height:100%;object-fit:contain}
@media(max-width:649px),(max-height:600px){body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-matches .ox94-match-wrap,body.is-primary-programme .is-primary-reader .ox97-task-board .ox94-picture-pairs :is(.oxapp081-token,.oxapp084-pair-target){max-width:100%}}
.ox126-speaking{height:100%;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:24px;gap:20px;text-align:center;background:var(--book-paper,#fff8ed);overflow:auto}
.ox126-speaking header p{color:#775396;font-size:22px;font-weight:750;margin:0 0 12px}.ox126-speaking h2{font-size:clamp(24px,3vw,38px);margin:0;color:#533b70}
.ox126-speaking-card{width:min(500px,100%);padding:30px;border:2px solid #bda8cc;border-radius:28px;background:#fff9e8}
.ox126-speaking-card [data-record110]{display:flex;align-items:center;justify-content:center;gap:14px;margin:auto;min-height:72px;background:#755096;color:white;border:0;border-radius:22px;padding:10px 25px;font-size:24px;font-weight:800}
.ox126-speaking-card .ox120-mic{width:64px;height:64px}.ox126-speaking-card [data-record-panel110]{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:18px}.ox126-speaking-card audio{width:100%}
.ox126-speaking button{cursor:pointer}.ox126-speaking footer{display:flex;gap:16px}.ox126-speaking footer button,.ox126-speaking [data-send110]{display:flex;align-items:center;gap:8px;border:2px solid #bda8cc;border-radius:16px;background:#fff0bb;color:#543b70;padding:12px 20px;font-size:18px}.ox126-speaking .ox99-speaker{width:40px;height:40px}
@media(max-height:550px){.ox126-speaking{gap:8px;padding:10px}.ox126-speaking-card{padding:10px}.ox126-speaking header p{font-size:16px;margin-bottom:4px}.ox126-speaking h2{font-size:23px}.ox126-speaking-card [data-record110]{min-height:48px;font-size:18px}.ox126-speaking-card .ox120-mic{width:42px;height:42px}}


/* 0.12.15: isolated activity environments; the original story reader is unchanged. */
#oracyx-app .ox135-lab{--lab-bg:#fff2cd;--lab-accent:#e6a343;--lab-wash:#fff9e8;--lab-ink:#5b3588;box-sizing:border-box;height:100%;min-height:0;min-width:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) 34px;gap:14px;padding:22px 32px 12px;position:relative;isolation:isolate;overflow:hidden;background:var(--lab-bg);color:var(--lab-ink);font-family:'Oracy Nunito',Verdana,Arial,sans-serif;text-align:center}
#oracyx-app .ox135-lab *,#oracyx-app .ox135-lab *:before,#oracyx-app .ox135-lab *:after{box-sizing:border-box}
#oracyx-app .ox135-lab:before,#oracyx-app .ox135-lab:after{content:'';position:absolute;z-index:-1;pointer-events:none;border-radius:50%;width:360px;height:360px;opacity:.48;background:var(--lab-wash)}
#oracyx-app .ox135-lab:before{left:-170px;bottom:-160px}#oracyx-app .ox135-lab:after{right:-130px;top:-160px}
#oracyx-app .ox135-lab[data-lab-mode='listening']{--lab-bg:#dff4ec;--lab-accent:#3f9d99;--lab-wash:#f4fffa;background:radial-gradient(circle at 14% 70%,#f7fffc 0 7px,transparent 8px),radial-gradient(circle at 85% 32%,#bde4d5 0 9px,transparent 10px),var(--lab-bg)}
#oracyx-app .ox135-lab[data-lab-mode='meaning']{--lab-bg:#ece4fa;--lab-accent:#9a79c4;--lab-wash:#fff7e7;background:radial-gradient(circle at 10% 38%,#d5c5ee 0 10px,transparent 11px),radial-gradient(circle at 86% 77%,#fff1c6 0 10px,transparent 11px),var(--lab-bg)}
#oracyx-app .ox135-lab[data-lab-mode='speaking']{--lab-bg:#ffe5da;--lab-accent:#db8b83;--lab-wash:#fff2e5}
#oracyx-app .ox135-head{display:flex;align-items:center;justify-content:space-between;gap:18px;text-align:left;min-width:0;position:relative;z-index:1}
#oracyx-app .ox135-head>div{min-width:0;flex:1}#oracyx-app .ox135-head h2{font-family:inherit;font-size:clamp(22px,2.2vw,34px);line-height:1.12;margin:0;font-weight:900;color:var(--lab-ink)}
#oracyx-app .ox135-instruction{font-size:clamp(15px,1.35vw,19px);line-height:1.3;font-weight:750;margin:6px 0 0;color:#74548e}
#oracyx-app .ox135-early .ox135-instruction{display:none}
#oracyx-app .ox135-lab button{font-family:inherit;cursor:pointer;touch-action:manipulation;min-height:44px;margin:0;line-height:1.1;font-weight:850;color:var(--lab-ink);transition:box-shadow .16s,background-color .16s;outline-offset:3px}
#oracyx-app .ox135-lab button:focus-visible{outline:3px solid #7141a0;outline-offset:3px}
#oracyx-app .ox135-help{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:2px solid #bea7d1;border-radius:18px;background:#fff9f3;padding:5px 12px;font-size:15px;min-width:44px;box-shadow:0 3px 0 #c5b4d333}
#oracyx-app .ox135-help .ox99-speaker{width:30px;height:30px;flex:none}
#oracyx-app .ox135-cue{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0}
#oracyx-app .ox135-listen{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:64px;padding:8px 28px;border:0;border-radius:30px 30px 30px 12px;background:#7349a2;color:#fff!important;font-size:24px;box-shadow:0 5px 0 #58327f;flex:none}
#oracyx-app .ox135-listen .ox99-speaker{width:40px;height:40px;flex:none;color:inherit}
#oracyx-app .ox135-listen[aria-pressed='true']{background:#603890;box-shadow:0 5px 0 #472464,0 0 0 4px #ffffff8c}
#oracyx-app .ox135-question{margin:0;max-width:940px;font-weight:850;font-size:clamp(18px,1.8vw,27px);line-height:1.25;color:var(--lab-ink)}
#oracyx-app .ox135-board{min-width:0;min-height:0;width:100%;height:100%;container-type:size;position:relative;display:grid;place-items:center}
#oracyx-app .ox135-choices{--ox135-items:3;display:flex;align-items:center;justify-content:center;gap:24px;width:100%;height:100%;min-width:0;min-height:0}
#oracyx-app .ox135-picture-choice{position:relative;flex:0 1 calc((100% - (var(--ox135-items) - 1)*24px)/var(--ox135-items));width:calc((100% - (var(--ox135-items) - 1)*24px)/var(--ox135-items));max-width:calc(150cqh - 12px);aspect-ratio:3/2;min-width:44px;min-height:44px;padding:7px;border:0;border-radius:34px 22px 32px 16px;background:#fffaf0;box-shadow:0 0 0 3px var(--lab-accent),0 7px 0 #467b6c28;overflow:visible;display:grid;place-items:center}
#oracyx-app .ox135-picture-choice img{display:block;max-width:none;width:100%;height:100%;min-height:0;object-fit:contain;border-radius:26px 16px 24px 12px;pointer-events:none}
#oracyx-app .ox135-lab[data-lab-mode='meaning'] .ox135-picture-choice{border-radius:20px 36px 20px 36px;box-shadow:0 0 0 3px var(--lab-accent),0 7px 0 #ae92c72e}
#oracyx-app .ox135-lab[data-lab-mode='meaning'] .ox135-picture-choice img{border-radius:13px 29px 13px 29px}
#oracyx-app .ox135-picture-choice.is-selected{box-shadow:0 0 0 5px #7447a3,0 7px 0 #7447a333}
#oracyx-app .ox135-picture-choice.is-correct{box-shadow:0 0 0 5px #3b9973,0 7px 0 #3b997333}
#oracyx-app .ox135-picture-choice.is-wrong{box-shadow:0 0 0 5px #d78071,0 7px 0 #d7807133}
#oracyx-app .ox135-picture-choice:is(.is-selected,.is-correct,.is-wrong):after{content:'✓';position:absolute;right:8px;top:8px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#7548a2;color:#fff;font-size:21px;box-shadow:0 0 0 3px #fff;pointer-events:none}
#oracyx-app .ox135-picture-choice.is-correct:after{background:#3b9973}#oracyx-app .ox135-picture-choice.is-wrong:after{content:'↻';background:#bf675c}
#oracyx-app .ox135-feedback{height:34px;min-height:34px;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1.15;font-weight:850;color:#715286;overflow:hidden}
#oracyx-app .ox135-feedback.is-correct{color:#287451}#oracyx-app .ox135-feedback.is-wrong{color:#9d534c}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary'] .ox135-board{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:20px}
#oracyx-app .ox135-vocab-bank{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;min-width:0;min-height:0;width:100%;order:2}
#oracyx-app .ox135-word-tile{padding:10px 22px;font-size:clamp(19px,2vw,28px);min-width:92px;min-height:52px;border:2px solid #d99738;border-radius:16px 16px 10px 16px;background:#ffc970;color:#68431b;box-shadow:0 4px 0 #da9c42;touch-action:none!important;user-select:none}
#oracyx-app .ox135-word-tile:disabled{opacity:.45;cursor:default;box-shadow:0 4px 0 #da9c4280}
#oracyx-app .ox135-word-tile.is-selected{background:#fff1b9;box-shadow:0 0 0 3px #8050a7,0 4px 0 #8050a7}
#oracyx-app .ox135-vocab-targets{--ox135-items:4;display:grid;grid-template-columns:repeat(var(--ox135-items),minmax(0,1fr));gap:24px;width:min(100%,1150px);height:100%;min-height:0;min-width:0;order:1}
#oracyx-app .ox135-vocab-target{display:grid;grid-template-rows:minmax(0,1fr) 52px;gap:10px;align-items:center;justify-items:center;min-width:0;min-height:0;padding:12px;border:2px solid #e8bf73;border-radius:28px 16px 28px 16px;background:#fff9e8;box-shadow:0 6px 0 #e8bf7340;position:relative;overflow:visible}
#oracyx-app .ox135-noun-art{display:block;width:100%;height:100%;max-width:280px;max-height:280px;min-width:0;min-height:0;object-fit:contain;pointer-events:none}
#oracyx-app .ox135-vocab-target:before{content:'✦';position:absolute;left:8px;top:-11px;color:#c9973d;font-size:24px;text-shadow:0 2px #fff9e8;pointer-events:none}
#oracyx-app .ox135-drop-slot{display:flex;align-items:center;justify-content:center;width:100%;height:52px;min-height:44px;padding:5px 8px;border:2px dashed #cba263;border-radius:12px;background:#fff0cb;font-size:clamp(18px,2vw,25px);line-height:1.1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
#oracyx-app .ox135-drop-slot>span{font-size:25px;color:#d1a650}
#oracyx-app .ox135-vocab-target.is-over,#oracyx-app .ox135-ear-target.is-over{box-shadow:0 0 0 4px #8050a7,0 6px 0 #8050a733;background:#f8edff}
#oracyx-app .ox135-early[data-lab-mode='vocabulary'] .ox135-board{grid-template-rows:minmax(0,1fr) minmax(70px,.8fr);gap:18px}
#oracyx-app .ox135-early .ox135-vocab-bank{order:0;flex-wrap:nowrap;height:100%;gap:22px}
#oracyx-app .ox135-picture-tile{display:grid;place-items:center;flex:0 1 240px;aspect-ratio:1;max-width:min(26%,52cqh);max-height:100%;width:100%;height:auto;min-width:44px;min-height:44px;padding:8px;border:3px solid #dfb56a;border-radius:30px 16px 30px 16px;background:#fff9e8;box-shadow:0 5px 0 #dfb56a44;touch-action:none!important;user-select:none}
#oracyx-app .ox135-picture-tile.is-selected{box-shadow:0 0 0 4px #8050a7,0 5px 0 #8050a744}
#oracyx-app .ox135-ear-target{display:grid;place-items:center;aspect-ratio:1;height:100%;max-height:100%;width:auto;max-width:100%;padding:6px;border:0;border-radius:34px;background:#fff6de;box-shadow:0 0 0 3px #e8bf73;align-self:center;justify-self:center}
#oracyx-app .ox135-ear-target>svg{display:block;width:100%;height:100%;max-height:none;max-width:none;pointer-events:none}
.ox135-drag-ghost{box-sizing:border-box!important;margin:0!important;transform:none!important;display:grid!important;place-items:center!important;font-family:'Oracy Nunito',Verdana,Arial,sans-serif!important;font-weight:850!important;font-size:25px!important;color:#68431b!important;border:3px solid #8050a7!important;border-radius:18px!important;background:#fff0bc!important;box-shadow:0 10px 20px #4c286755!important;opacity:.94!important;overflow:hidden!important;user-select:none!important}
.ox135-drag-ghost svg{width:100%;height:100%;display:block;pointer-events:none}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-board{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
#oracyx-app .ox135-speaking-art{display:grid;place-items:center;position:relative;min-width:0;min-height:0;width:min(850px,100%);flex:1;overflow:hidden;border-radius:28px 28px 15px 15px;background:#fff5e9;box-shadow:0 0 0 3px #d78d8a,0 6px 0 #d78d8a33}
#oracyx-app .ox135-speaking-art img{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
#oracyx-app .ox135-record-row{flex:none;min-height:60px;display:flex;align-items:center;justify-content:center;gap:12px;max-width:100%;width:auto}
#oracyx-app .ox135-record-row [data-record110],#oracyx-app .ox135-record-row [data-send110]{display:flex;align-items:center;justify-content:center;gap:8px;min-height:56px;border:0;border-radius:18px;background:#77509c;color:white;padding:7px 20px;font-size:21px;flex:none}
#oracyx-app .ox135-record-row .ox120-mic{width:40px;height:40px;flex:none}
#oracyx-app .ox135-record-row [data-record-panel110]{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;min-width:0;max-width:460px;font-size:15px;line-height:1.25}
#oracyx-app .ox135-record-row [data-record-panel110]:empty{display:none}
#oracyx-app .ox135-record-row [data-record-panel110] p{margin:0}
#oracyx-app .ox135-record-row audio{height:44px;max-width:100%;width:260px}
#oracyx-app .ox135-kitsune{height:100%;min-height:0;min-width:0;display:flex;flex-direction:column;gap:8px;padding:8px;background:#ede5fa}
#oracyx-app .ox135-kitsune>header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none;min-height:44px;color:#5b3588}
#oracyx-app .ox135-kitsune>header h2{margin:0;font-size:clamp(16px,2vw,25px);line-height:1.15;text-align:center;min-width:0}
#oracyx-app .ox135-kitsune>header button{min-height:44px;min-width:44px;border:2px solid #bba5d2;border-radius:14px;background:#fff8e8;color:#5b3588;font-family:inherit;font-weight:850;padding:6px 12px}
#oracyx-app .ox135-kitsune iframe{flex:1;width:100%;min-height:0;border:0;border-radius:18px;background:#fff6e6}
#oracyx-app .ox135-kitsune-card-art{display:grid;place-items:center;width:100%;height:100%;min-height:0}
#oracyx-app .ox135-kitsune-card-art svg{display:block;width:100%;height:100%;object-fit:contain}
@media(max-width:649px){
#oracyx-app .ox135-lab{padding:14px 14px 8px;gap:12px;grid-template-rows:auto auto minmax(0,1fr) 34px}
#oracyx-app .ox135-head{gap:8px}#oracyx-app .ox135-head h2{font-size:22px}#oracyx-app .ox135-instruction{font-size:14px;line-height:1.25;margin-top:4px}
#oracyx-app .ox135-help{padding:5px 7px;font-size:12px;border-radius:14px;gap:3px}#oracyx-app .ox135-help .ox99-speaker{width:25px;height:25px}
#oracyx-app .ox135-listen{min-height:56px;font-size:22px;padding:6px 24px;gap:10px}#oracyx-app .ox135-listen .ox99-speaker{width:36px;height:36px}
#oracyx-app .ox135-question{font-size:19px;line-height:1.22}#oracyx-app .ox135-cue{gap:8px}
#oracyx-app .ox135-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;justify-items:center;align-content:center}
#oracyx-app .ox135-picture-choice{width:100%;max-width:calc(75cqh - 16px);padding:5px;border-radius:22px 14px 22px 10px;flex:none}
#oracyx-app .ox135-picture-choice:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 8px)}
#oracyx-app .ox135-choices:has(>:nth-child(2):last-child){grid-template-rows:minmax(0,1fr)}
#oracyx-app .ox135-choices:has(>:nth-child(2):last-child) .ox135-picture-choice{max-width:calc(150cqh - 12px)}
#oracyx-app .ox135-picture-choice img{border-radius:16px 10px 16px 6px}
#oracyx-app .ox135-feedback{font-size:16px}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary'] .ox135-board{gap:14px}
#oracyx-app .ox135-vocab-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
#oracyx-app .ox135-vocab-target{padding:7px;gap:6px;grid-template-rows:minmax(0,1fr) 44px;border-radius:22px 12px 22px 12px}
#oracyx-app .ox135-drop-slot{height:44px;font-size:19px;padding:3px}
#oracyx-app .ox135-vocab-bank{gap:10px}
#oracyx-app .ox135-word-tile{padding:8px 13px;min-width:80px;min-height:44px;font-size:20px;border-radius:13px}
#oracyx-app .ox135-early .ox135-vocab-bank{gap:12px}
#oracyx-app .ox135-picture-tile{max-width:min(30%,52cqh);padding:3px;border-width:2px;border-radius:20px 11px 20px 11px}
#oracyx-app .ox135-record-row{gap:8px;min-height:54px;flex-wrap:wrap}
#oracyx-app .ox135-record-row [data-record110]{min-height:52px;padding:6px 15px;font-size:20px}
#oracyx-app .ox135-record-row [data-record-panel110]{max-width:100%;font-size:13px;gap:6px}
#oracyx-app .ox135-speaking-art{width:100%;border-radius:22px 22px 12px 12px}
#oracyx-app .ox135-kitsune{padding:5px;gap:4px}#oracyx-app .ox135-kitsune>header button{font-size:12px;padding:5px 7px}#oracyx-app .ox135-kitsune>header h2{font-size:17px}
}
@media(max-width:649px) and (min-height:720px){
#oracyx-app .ox135-early .ox135-choices{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:18px}
#oracyx-app .ox135-early .ox135-picture-choice{width:min(100%,calc(50cqh - 16px));max-width:none}
#oracyx-app .ox135-early .ox135-picture-choice:last-child:nth-child(odd){grid-column:auto;width:min(100%,calc(50cqh - 16px))}
#oracyx-app .ox135-early .ox135-choices:has(>:nth-child(2):last-child){grid-template-rows:repeat(2,minmax(0,1fr))}
#oracyx-app .ox135-early .ox135-choices:has(>:nth-child(2):last-child) .ox135-picture-choice{width:min(100%,calc(75cqh - 15px));max-width:none}
}
@media(max-height:440px) and (min-width:480px){
#oracyx-app .ox135-lab{padding:6px 16px 4px;gap:6px;grid-template-rows:auto auto minmax(0,1fr) 24px}
#oracyx-app .ox135-head{gap:8px}#oracyx-app .ox135-head h2{font-size:19px}#oracyx-app .ox135-instruction{font-size:12px;line-height:1.15;margin-top:3px}
#oracyx-app .ox135-help{min-height:44px;font-size:12px;padding:3px 7px}#oracyx-app .ox135-help .ox99-speaker{width:24px;height:24px}
#oracyx-app .ox135-cue{flex-direction:row;gap:14px;min-height:44px}#oracyx-app .ox135-listen{min-height:44px;box-shadow:0 3px 0 #58327f;font-size:19px;padding:3px 16px;gap:7px}#oracyx-app .ox135-listen .ox99-speaker{width:31px;height:31px}
#oracyx-app .ox135-cue .ox135-question{font-size:16px;max-width:370px;line-height:1.17;text-align:left}
#oracyx-app .ox135-choices{display:flex;gap:16px}#oracyx-app .ox135-picture-choice,#oracyx-app .ox135-picture-choice:last-child:nth-child(odd){flex:0 1 calc((100% - (var(--ox135-items) - 1)*16px)/var(--ox135-items));width:calc((100% - (var(--ox135-items) - 1)*16px)/var(--ox135-items));max-width:calc(150cqh - 9px);min-height:44px;padding:4px;border-radius:16px 12px 16px 8px}
#oracyx-app .ox135-picture-choice img{border-radius:12px 8px 12px 4px}
#oracyx-app .ox135-picture-choice:is(.is-selected,.is-correct,.is-wrong):after{width:22px;height:22px;font-size:16px;right:5px;top:5px;box-shadow:0 0 0 2px #fff}
#oracyx-app .ox135-feedback{height:24px;min-height:24px;font-size:14px}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary']{grid-template-columns:160px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 24px;column-gap:16px}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary'] .ox135-head{grid-column:1;grid-row:1;align-self:start;flex-direction:column;align-items:flex-start;gap:8px}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary'] .ox135-head h2{font-size:19px}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary'] .ox135-cue{position:absolute;left:16px;bottom:45px;width:160px}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary'] .ox135-board{grid-column:2;grid-row:1;gap:10px}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary'] .ox135-feedback{grid-column:1/-1;grid-row:2}
#oracyx-app .ox135-vocab-targets{grid-template-columns:repeat(var(--ox135-items),minmax(0,1fr));gap:10px}
#oracyx-app .ox135-vocab-target{padding:5px;gap:4px;grid-template-rows:minmax(0,1fr) 44px;border-radius:15px 9px 15px 9px}
#oracyx-app .ox135-vocab-bank{gap:8px;flex-wrap:nowrap}#oracyx-app .ox135-word-tile{min-width:44px;padding:5px 8px;min-height:44px;font-size:16px;border-width:1px;flex:1}
#oracyx-app .ox135-drop-slot{height:44px;font-size:15px;border-width:1px}
#oracyx-app .ox135-early[data-lab-mode='vocabulary'] .ox135-board{grid-template-columns:minmax(0,1fr) 110px;grid-template-rows:minmax(0,1fr);gap:12px}
#oracyx-app .ox135-early .ox135-vocab-bank{gap:10px;grid-column:1;grid-row:1;flex-wrap:wrap;align-content:center}
#oracyx-app .ox135-picture-tile{max-width:calc(50% - 5px);width:75px;max-height:75px;height:75px;flex:0 1 75px;padding:3px}
#oracyx-app .ox135-ear-target{grid-column:2;grid-row:1;max-height:110px;height:110px;width:110px;border-radius:22px}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-board{display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-rows:minmax(0,1fr) auto;gap:8px 14px}
#oracyx-app .ox135-speaking-art{grid-column:1;grid-row:1/-1;width:100%;height:100%;border-radius:15px}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-question{grid-column:2;grid-row:1;font-size:16px;align-self:end}
#oracyx-app .ox135-record-row{grid-column:2;grid-row:2;min-height:44px;gap:6px;flex-wrap:wrap}
#oracyx-app .ox135-record-row [data-record110]{min-height:44px;padding:3px 12px;font-size:18px}#oracyx-app .ox135-record-row .ox120-mic{width:32px;height:32px}
#oracyx-app .ox135-record-row [data-record-panel110]{font-size:12px;gap:4px}
#oracyx-app .ox135-kitsune{padding:4px;gap:3px}#oracyx-app .ox135-kitsune>header h2{font-size:18px}
}
/* Keep decorative circles within the activity box; they never create scroll ranges. */
#oracyx-app .ox135-lab:before,#oracyx-app .ox135-lab:after{inset:0;width:100%;height:100%;border-radius:0;background:radial-gradient(circle at 0 100%,var(--lab-wash) 0 190px,transparent 191px)}
#oracyx-app .ox135-lab:after{background:radial-gradient(circle at 100% 0,var(--lab-wash) 0 190px,transparent 191px)}
#oracyx-app .ox135-lab .ox135-listen{min-height:64px}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-board{--ox135-scene-reserve:122px}
#oracyx-app .ox135-lab.ox135-early[data-lab-mode='speaking'] .ox135-board{--ox135-scene-reserve:82px}
#oracyx-app .ox135-speaking-art{width:min(850px,100%,calc((100cqh - var(--ox135-scene-reserve))*1.5));aspect-ratio:3/2;height:auto;flex:0 1 auto;max-height:calc(100cqh - var(--ox135-scene-reserve))}
#oracyx-app .ox135-kitsune>header>span{margin:0;font-size:clamp(16px,2vw,25px);line-height:1.15;text-align:center;min-width:0;font-weight:850}
#oracyx-app .ox135-kitsune-active{grid-template-rows:minmax(0,1fr)}
#oracyx-app .ox135-kitsune-active>.oxapp081-reader-header,#oracyx-app .ox135-kitsune-active>.oxapp081-reader-footer{display:none}
#oracyx-app .ox135-kitsune-active>.oxapp081-reader-stage{grid-row:1;height:100%;padding:0}
#oracyx-app .ox135-lab-active>.oxapp081-reader-header .oxapp081-icon-button{min-height:44px;min-width:44px}
@media(max-width:649px){#oracyx-app .ox135-lab .ox135-listen{min-height:56px}#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-board{--ox135-scene-reserve:138px}#oracyx-app .ox135-lab.ox135-early[data-lab-mode='speaking'] .ox135-board{--ox135-scene-reserve:74px}}
@media(max-height:440px) and (min-width:480px){
#oracyx-app .ox135-lab .ox135-listen{min-height:44px}
#oracyx-app .ox135-lab[data-lab-mode='speaking']{grid-template-columns:145px minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) 24px;column-gap:16px}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-head{grid-column:1/-1;grid-row:1}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-cue{grid-column:1;grid-row:2;align-self:start}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-board{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:6px;--ox135-scene-reserve:28px}
#oracyx-app .ox135-lab.ox135-early[data-lab-mode='speaking'] .ox135-board{--ox135-scene-reserve:4px}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-feedback{grid-column:1/-1;grid-row:3}
#oracyx-app .ox135-speaking-art{width:min(100%,calc((100cqh - var(--ox135-scene-reserve))*1.5));height:auto;max-height:calc(100cqh - var(--ox135-scene-reserve));aspect-ratio:3/2;flex:0 1 auto}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-question{font-size:15px;line-height:1.15;align-self:center}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-record-row{position:absolute;left:-161px;bottom:0;width:145px;min-height:44px;max-width:145px}
#oracyx-app .ox135-kitsune>header>span{font-size:17px}
}
/* Confirmed original-game geometry fixes: fixed faces and bounded boards. */
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home){display:grid;grid-template-rows:auto minmax(0,1fr) 30px;gap:12px;height:100%;min-height:0;overflow:hidden;padding:16px 24px 8px;scrollbar-gutter:auto}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header{width:100%;max-width:1200px;margin:0;min-width:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header nav{margin:0 0 6px;gap:8px;flex-wrap:nowrap}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header nav button{min-height:44px;min-width:44px;padding:6px 12px;font-size:14px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header h2{font-size:clamp(23px,2.6vw,32px);margin:4px 0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header p{margin:4px 0 0;font-size:16px;line-height:1.25}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>.oxclub-board{--ox135-game-reserve:0px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:100%;width:100%;max-width:1200px;min-width:0;min-height:0;container-type:size;margin:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>[data-club-status]{position:static;display:flex!important;align-items:center;justify-content:center;width:100%;min-height:30px;height:30px;max-height:30px;padding:2px 6px;margin:0;overflow:hidden;font-size:15px;line-height:1.2;max-width:none}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>[data-club-status]:empty{visibility:hidden}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>[data-club-status]:after{font-size:24px;line-height:1}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid{width:100%;max-width:none;gap:12px;margin:0;min-width:0;min-height:0;flex:1}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid.memory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));height:100%;align-items:center;justify-items:center;max-width:1150px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid.memory>button{display:block;position:relative;width:100%;height:auto;aspect-ratio:3/2;max-width:calc(75cqh - 12px);max-height:100%;min-height:44px;padding:6px;overflow:hidden;border-width:2px;border-radius:20px}
#oracyx-app .is-primary-reader .oxclub-grid.memory :is(.oxclub-back,.oxclub-face){position:absolute;inset:6px;display:grid;place-items:center;width:calc(100% - 12px);height:calc(100% - 12px);line-height:1;overflow:hidden}
#oracyx-app .is-primary-reader .oxclub-grid.memory .oxclub-back{font-size:clamp(26px,5vw,55px)}
#oracyx-app .is-primary-reader .oxclub-grid.memory :is(.ox94-picture,.ox99-fallback-art){width:100%;height:100%;max-height:none;min-height:0;aspect-ratio:auto;display:grid;place-items:center}
#oracyx-app .is-primary-reader .oxclub-grid.memory :is(.ox94-picture>img,.ox94-picture-fallback>svg){display:block;width:100%;height:100%;object-fit:contain}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid:not(.memory){display:flex;align-items:center;justify-content:center;gap:14px;min-height:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid:not(.memory)>:is(button,div){position:relative;min-width:44px;min-height:44px;flex:0 1 calc((100% - 28px)/3);width:calc((100% - 28px)/3);max-width:calc((100cqh - var(--ox135-game-reserve))*1.5 - 8px);height:auto;aspect-ratio:3/2;padding:6px;overflow:hidden;align-self:center;grid-column:auto;border-radius:20px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid:not(.memory)>:last-child:nth-child(odd){width:calc((100% - 28px)/3);grid-column:auto;justify-self:auto}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid:not(.memory) .ox94-picture{position:absolute;inset:6px;width:calc(100% - 12px);height:calc(100% - 12px);min-height:0;max-height:none;aspect-ratio:auto;background:transparent}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid .ox94-picture>img{width:100%;height:100%;object-fit:contain}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) [data-club-listen]{min-height:44px;min-width:44px;flex:none;padding:4px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:18px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) [data-club-listen] .ox99-speaker{width:32px;height:32px}
#oracyx-app .is-primary-reader .ox94-club-story_order>.oxclub-board{--ox135-game-reserve:46px}
#oracyx-app .is-primary-reader .oxclub-train{height:34px;min-height:34px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:25px}
#oracyx-app .is-primary-reader .ox94-club-listen_choose>.oxclub-board{--ox135-game-reserve:56px}
#oracyx-app .is-primary-reader .ox94-club-clue_detective>.oxclub-board{--ox135-game-reserve:96px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-mystery-window{flex:none;width:126px;height:84px;max-height:84px;margin:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) blockquote{flex:none;max-width:100%;margin:0;padding:8px 12px;font-size:17px;line-height:1.2;min-height:0;max-height:84px;overflow:auto}
#oracyx-app .is-primary-reader .ox94-club-story_spotlight>.oxclub-board{--ox135-game-reserve:112px}
#oracyx-app .is-primary-reader .ox94-spotlight-top{height:44px;min-height:44px;display:flex;align-items:center;gap:18px;justify-content:center;flex:none}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-spotlight{padding:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) [data-spotlight-confirm]{min-height:44px;flex:none;padding:4px 14px;font-size:18px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets{flex:none;gap:14px;flex-wrap:nowrap}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets button{min-width:44px;min-height:44px;padding:5px 10px;font-size:16px;gap:6px;display:flex;align-items:center;justify-content:center}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-basket-clue{flex:none;aspect-ratio:3/2;width:min(300px,100%,calc((100cqh - 112px)*1.5));height:auto;min-height:0;max-height:calc(100cqh - 112px);margin:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-basket-clue>.ox94-picture{height:100%;min-height:0;width:100%;max-height:none;aspect-ratio:3/2}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-basket-clue img{width:100%;height:100%;object-fit:contain}
#oracyx-app .is-primary-reader .ox94-club-word_builder>.oxclub-board:not(:has(>.ox94-puzzle-result)){display:grid;grid-template-rows:auto minmax(0,1fr) 44px;justify-items:center;gap:10px}
#oracyx-app .is-primary-reader .oxclub-word{min-height:28px;margin:0;font-size:28px;line-height:1.1}
#oracyx-app .is-primary-reader .oxclub-letters{align-items:center;justify-content:center;gap:8px;min-width:0;min-height:0;max-width:100%}
#oracyx-app .is-primary-reader .oxclub-letters button{min-height:44px;min-width:44px;padding:5px;font-size:24px}
#oracyx-app .is-primary-reader .oxclub [data-word-reset]{min-height:44px;padding:5px 12px;font-size:15px}
#oracyx-app .is-primary-reader .ox94-club-word_builder>.oxclub-board:has(>.ox94-puzzle-result){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:64px minmax(0,1fr);gap:12px;justify-items:center}
#oracyx-app .is-primary-reader .ox94-club-word_builder>.oxclub-board>[data-club-listen]{grid-column:1;grid-row:1}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-preview{grid-column:2;grid-row:1;width:96px;height:64px;max-width:none;max-height:none;margin:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-preview>.ox94-picture{width:100%;height:100%;aspect-ratio:auto;min-height:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) :is(.ox94-puzzle-result,.ox94-puzzle-bank){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,calc((100cqh - 76px)*1.5));height:auto;aspect-ratio:3/2;min-width:0;min-height:0;gap:4px;grid-row:2;align-self:center;justify-self:center;margin:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-result{grid-column:1}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-bank{grid-column:2}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) :is(.ox94-puzzle-result>span,.ox94-puzzle-bank>button){height:100%;min-height:44px;min-width:44px;padding:0;border-width:2px;border-radius:8px;overflow:hidden}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-result i{font-size:30px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-piece{display:block;position:relative;overflow:hidden;height:100%;width:100%;min-height:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-piece>.ox94-picture{display:block;position:absolute;left:calc(var(--piece)*-100%);top:0;max-width:none;width:300%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;border-radius:0;background:transparent}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-piece>.ox94-picture>img{display:block;width:100%;height:100%;object-fit:fill;border-radius:0}
#oracyx-app .is-primary-reader .ox94-club-voice_stage>.oxclub-board{--ox135-game-reserve:150px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-voice{flex:none;width:100%;max-width:650px;margin:0;padding:8px 12px;border-radius:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-voice>span{display:none}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-voice p{margin:0;font-size:14px;line-height:1.2;width:100%}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-voice button{min-height:44px;min-width:44px;margin:0;padding:5px 10px;font-size:14px}
#oracyx-app .is-primary-reader .oxclub-menu .oxclub-art>img{object-fit:contain}
#oracyx-app .is-primary-reader .oxclub-menu .oxclub-art>.ox94-picture{width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;background:transparent}
#oracyx-app .is-primary-reader .oxclub-menu .oxclub-art>.ox94-picture>img{width:100%;height:100%;object-fit:contain}
#oracyx-app .ox135-vocab-targets>:last-child:nth-child(odd){justify-self:center}
@media(max-width:649px){
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home){padding:10px 12px 6px;gap:10px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header nav button{font-size:12px;padding:5px 7px;gap:4px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header nav button svg{width:26px;height:26px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header h2{font-size:24px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header p{font-size:15px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid.memory{gap:10px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid.memory>button{border-radius:15px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid:not(.memory){gap:8px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid:not(.memory)>:is(button,div),#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid:not(.memory)>:last-child:nth-child(odd){flex-basis:calc((100% - 16px)/3);width:calc((100% - 16px)/3);padding:3px;border-radius:14px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid:not(.memory) .ox94-picture{inset:3px;width:calc(100% - 6px);height:calc(100% - 6px)}
#oracyx-app .is-primary-reader .ox94-club-voice_stage>.oxclub-board{--ox135-game-reserve:130px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-voice{padding:7px;font-size:13px}
#oracyx-app .ox135-vocab-targets>:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 7px)}
}
@media(max-width:649px) and (min-height:720px){
#oracyx-app .is-primary-reader .ox94-club-word_builder>.oxclub-board:has(>.ox94-puzzle-result){grid-template-columns:minmax(0,1fr);grid-template-rows:64px minmax(0,1fr) minmax(0,1fr)}
#oracyx-app .is-primary-reader .ox94-club-word_builder>.oxclub-board>[data-club-listen]{grid-column:1;grid-row:1;justify-self:start;margin-left:20px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-preview{grid-column:1;grid-row:1;justify-self:end;margin-right:20px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) :is(.ox94-puzzle-result,.ox94-puzzle-bank){width:min(100%,calc((100cqh - 88px)*.75));grid-column:1}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-result{grid-row:2}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-bank{grid-row:3}
}
@media(max-height:440px) and (min-width:480px){
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home){grid-template-columns:175px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 24px;padding:6px 12px 4px;gap:8px 14px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header{grid-column:1;grid-row:1;align-self:start}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin:0 0 7px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header nav button{min-height:44px;min-width:44px;font-size:11px;padding:3px 5px;gap:3px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header nav button svg{width:24px;height:24px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header nav button:last-child{grid-column:1/-1}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header h2{font-size:20px;margin:3px 0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>header p{font-size:12px;line-height:1.15;margin:3px 0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>.oxclub-board{grid-column:2;grid-row:1;gap:8px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home)>[data-club-status]{grid-column:1/-1;grid-row:2;height:24px;min-height:24px;max-height:24px;font-size:13px;padding:2px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid.memory{gap:8px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-grid.memory>button{padding:4px;max-width:calc(75cqh - 8px);border-radius:14px}
#oracyx-app .is-primary-reader .oxclub-grid.memory :is(.oxclub-back,.oxclub-face){inset:4px;width:calc(100% - 8px);height:calc(100% - 8px)}
#oracyx-app .is-primary-reader .ox94-club-story_order>.oxclub-board{--ox135-game-reserve:36px}
#oracyx-app .is-primary-reader .oxclub-train{height:28px;min-height:28px;font-size:20px}
#oracyx-app .is-primary-reader .ox94-club-listen_choose>.oxclub-board{--ox135-game-reserve:52px}
#oracyx-app .is-primary-reader .ox94-club-clue_detective>.oxclub-board{--ox135-game-reserve:76px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-mystery-window{width:102px;height:68px;max-height:68px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) blockquote{font-size:14px;line-height:1.15;max-height:68px;padding:5px 8px}
#oracyx-app .is-primary-reader .ox94-club-story_spotlight>.oxclub-board{--ox135-game-reserve:104px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-basket-clue{width:min(100%,calc((100cqh - 104px)*1.5));max-height:calc(100cqh - 104px)}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets{gap:8px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets button{font-size:12px;padding:4px 7px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets svg{width:24px;height:24px}
#oracyx-app .is-primary-reader .ox94-club-word_builder>.oxclub-board:has(>.ox94-puzzle-result){grid-template-rows:44px minmax(0,1fr);gap:8px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-puzzle-preview{width:66px;height:44px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) :is(.ox94-puzzle-result,.ox94-puzzle-bank){width:min(100%,calc((100cqh - 52px)*1.5));gap:3px}
#oracyx-app .is-primary-reader .ox94-club-voice_stage>.oxclub-board{--ox135-game-reserve:110px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-voice{padding:5px;gap:4px;border-radius:14px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-voice p{font-size:11px;line-height:1.1}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-voice button{font-size:11px;padding:4px 7px}
#oracyx-app .is-primary-reader .oxclub-letters{gap:5px}#oracyx-app .is-primary-reader .oxclub-letters button{font-size:21px}
#oracyx-app .is-primary-reader .oxclub-word{font-size:23px}
}
/* Short landscape gives the activity the header space; footer Back remains available. */
@media(max-height:440px) and (min-width:480px){
#oracyx-app .is-primary-reader.ox135-lab-active{grid-template-rows:minmax(0,1fr) auto}
#oracyx-app .is-primary-reader.ox135-lab-active>.oxapp081-reader-header{display:none}
#oracyx-app .is-primary-reader.ox135-lab-active>.oxapp081-reader-stage{grid-row:1}
#oracyx-app .is-primary-reader.ox135-lab-active>.oxapp081-reader-footer{grid-row:2}
}
.ox135-drag-ghost.ox135-word-tile{font-size:clamp(19px,2vw,28px)!important}
@media(max-width:649px){.ox135-drag-ghost.ox135-word-tile{font-size:20px!important}}
@media(max-height:440px) and (min-width:480px){
#oracyx-app .ox135-vocab-targets>:last-child:nth-child(odd){grid-column:auto;width:100%;justify-self:stretch}
#oracyx-app .ox135-early[data-lab-mode='vocabulary'] .ox135-board{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:12px}
#oracyx-app .ox135-early .ox135-vocab-bank{grid-column:1;grid-row:1;flex-wrap:nowrap;gap:12px}
#oracyx-app .ox135-picture-tile{width:100%;height:auto;max-width:min(calc((100% - 24px)/3),45cqh);max-height:100%;flex:0 1 100px;aspect-ratio:1}
#oracyx-app .ox135-ear-target{grid-column:1;grid-row:2;width:100px;height:100px;max-height:100%;max-width:100%}
.ox135-drag-ghost.ox135-word-tile{font-size:16px!important}
}
/* The compact phone keeps every noun visible, including older readers' four-word bank. */
@media(max-width:649px) and (max-height:719px) and (orientation:portrait){
#oracyx-app .ox135-head{gap:8px}
#oracyx-app .ox135-help{width:44px;height:44px;padding:5px;border-radius:14px}
#oracyx-app .ox135-help>span{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#oracyx-app .ox135-head h2{font-size:21px}#oracyx-app .ox135-instruction{font-size:13px;line-height:1.2}
#oracyx-app .ox135-lab:not(.ox135-early) .ox135-vocab-targets{grid-template-columns:repeat(var(--ox135-items),minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:8px}
#oracyx-app .ox135-lab:not(.ox135-early) .ox135-vocab-targets>:last-child:nth-child(odd){grid-column:auto;width:100%;justify-self:stretch}
#oracyx-app .ox135-lab:not(.ox135-early) .ox135-vocab-target{padding:4px;gap:5px;border-radius:17px 9px 17px 9px}
#oracyx-app .ox135-lab:not(.ox135-early) .ox135-drop-slot{font-size:15px;white-space:normal;word-break:break-word}
}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:440px;gap:12px;min-width:0}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets button{display:grid;grid-template-columns:30px minmax(0,1fr);gap:4px;width:100%;min-width:44px;min-height:44px;justify-items:center;align-items:center;padding:5px 9px;font-size:14px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets button>svg{width:28px;height:28px;grid-row:1;grid-column:1}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets .ox94-position{grid-column:2;grid-row:1;font-size:20px;line-height:1.2;letter-spacing:2px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets button>span:last-child{grid-column:1/-1;grid-row:2;font-size:14px;line-height:1.1;max-width:100%;white-space:normal}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-basket-clue{width:min(300px,100%,calc((100cqh - 132px)*1.5));max-height:calc(100cqh - 132px)}
@media(max-height:440px) and (min-width:480px){
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets{gap:8px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets button{padding:4px 5px;grid-template-columns:24px minmax(0,1fr);font-size:12px;gap:2px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets button>svg{width:24px;height:24px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .oxclub-baskets button>span:last-child{font-size:12px}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-basket-clue{width:min(100%,calc((100cqh - 122px)*1.5));max-height:calc(100cqh - 122px)}
}
#oracyx-app .ox135-picture-choice>.ox135-truth-art{display:block;width:100%;height:100%;max-width:none;max-height:none;min-height:0;object-fit:contain;pointer-events:none}
#oracyx-app .ox135-lab-active>.oxapp081-reader-header .oxapp081-reader-title>:is(b,small){width:100%;max-width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
@media(max-height:440px) and (min-width:480px){
#oracyx-app .ox135-choices{gap:12px}
#oracyx-app .ox135-picture-choice,#oracyx-app .ox135-picture-choice:last-child:nth-child(odd){flex-basis:calc((100% - (var(--ox135-items) - 1)*12px)/var(--ox135-items));width:calc((100% - (var(--ox135-items) - 1)*12px)/var(--ox135-items));padding:2px}
}
@media(max-width:649px) and (min-height:720px){
#oracyx-app .ox135-early .ox135-choices{grid-template-rows:repeat(var(--ox135-items,3),minmax(0,1fr))}
#oracyx-app .ox135-early .ox135-picture-choice,#oracyx-app .ox135-early .ox135-picture-choice:last-child:nth-child(odd){width:min(100%,calc((150cqh - (var(--ox135-items,3) - 1)*27px)/var(--ox135-items,3)))}
}
#oracyx-app .is-primary-reader .oxclub:not(.oxclub-home) .ox94-piece>.ox94-picture>img{object-fit:contain}
/* Voice preview uses the reserved status row, so audio controls do not displace the scene. */
#oracyx-app .ox135-record-row{display:grid;grid-template-columns:210px minmax(0,1fr);width:min(680px,100%);min-height:60px;gap:12px}
#oracyx-app .ox135-record-row [data-record110]{width:210px;max-width:100%;min-width:0;min-height:56px}
#oracyx-app .ox135-record-row [data-record-panel110]{width:100%;max-width:100%;min-width:0;justify-content:center}
#oracyx-app .ox135-record-row [data-record-status110]{position:absolute;left:0;bottom:-40px;width:100%;height:34px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1.15;overflow:hidden;color:#74548e}
#oracyx-app .ox135-record-row [data-send110]{min-width:44px;min-height:44px;max-width:100%;padding:5px 10px;font-size:15px}
#oracyx-app .ox135-record-row audio{width:260px;max-width:100%;height:44px}
@media(max-width:649px){
#oracyx-app .ox135-record-row{grid-template-columns:134px minmax(0,1fr);width:100%;gap:8px;min-height:54px}
#oracyx-app .ox135-record-row [data-record110]{width:134px;min-height:52px;padding:6px 8px;font-size:17px;gap:6px}
#oracyx-app .ox135-record-row .ox120-mic{width:32px;height:32px}
#oracyx-app .ox135-record-row [data-record-status110]{font-size:12px}
#oracyx-app .ox135-record-row [data-send110]{font-size:13px;padding:5px 8px}
}
@media(max-height:440px) and (min-width:480px){
#oracyx-app .ox135-lab[data-lab-mode='speaking']{grid-template-rows:auto minmax(0,1fr) 16px}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-feedback{height:16px;min-height:16px;font-size:12px}
#oracyx-app .ox135-lab-active>.oxapp081-reader-footer{padding-top:2px;padding-bottom:2px}
#oracyx-app .ox135-lab-active>.oxapp081-reader-footer button{min-height:44px}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-record-row{display:flex;flex-direction:column;width:145px;max-width:145px;gap:6px;min-height:44px}
#oracyx-app .ox135-lab[data-lab-mode='speaking'] .ox135-record-row [data-record110]{width:145px;min-height:44px;padding:3px 6px;font-size:17px;gap:6px}
#oracyx-app .ox135-record-row [data-record-status110]{left:0;bottom:-24px;width:calc(100cqw + 161px);height:16px;font-size:11px;line-height:1.1}
#oracyx-app .ox135-record-row [data-record-panel110]{gap:6px}
}
/* Authored sound answers carry one clear speaker inside each stable tile. */
#oracyx-app .ox135-choices:has(>.ox135-audio-choice){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:min(800px,100%);max-width:100%;gap:20px;justify-items:center;align-items:center}
#oracyx-app .ox135-lab .ox135-choices>.ox135-audio-choice{width:100%;max-width:calc(50cqh - 15px);aspect-ratio:1;border-radius:30px 20px 30px 20px;padding:8px;background:#fff8e6;grid-column:auto;flex:none}
#oracyx-app .ox135-lab .ox135-choices>.ox135-audio-choice:nth-child(2){background:#eaf7f0}#oracyx-app .ox135-lab .ox135-choices>.ox135-audio-choice:nth-child(3){background:#ffebe3}#oracyx-app .ox135-lab .ox135-choices>.ox135-audio-choice:nth-child(4){background:#f2eafa}
#oracyx-app .ox135-audio-choice>.ox99-speaker{display:block;width:70%;height:70%;max-width:120px;max-height:120px;min-width:44px;min-height:44px;pointer-events:none}
#oracyx-app .ox135-choices:has(>.ox135-audio-choice:nth-child(2):last-child){grid-template-rows:minmax(0,1fr)}
#oracyx-app .ox135-choices:has(>.ox135-audio-choice:nth-child(2):last-child)>.ox135-audio-choice{max-width:calc(100cqh - 12px)}
@media(max-width:649px){#oracyx-app .ox135-choices:has(>.ox135-audio-choice){gap:18px}#oracyx-app .ox135-lab .ox135-choices>.ox135-audio-choice{max-width:calc(50cqh - 14px);border-radius:24px 16px 24px 16px;padding:5px}}
@media(max-height:440px) and (min-width:480px){
#oracyx-app .ox135-choices:has(>.ox135-audio-choice){display:flex;width:100%;max-width:none;gap:12px}
#oracyx-app .ox135-lab .ox135-choices>.ox135-audio-choice{flex:0 1 calc((100% - (var(--ox135-items) - 1)*12px)/var(--ox135-items));width:calc((100% - (var(--ox135-items) - 1)*12px)/var(--ox135-items));max-width:calc(100cqh - 10px);aspect-ratio:1;padding:5px;border-radius:22px 14px 22px 14px}
#oracyx-app .ox135-audio-choice>.ox99-speaker{max-width:92px;max-height:92px}
}
/* Nine adventures share explicit rows: an appended game cannot consume the
   artwork area of the original eight. Smaller galleries scroll independently. */
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card){padding:18px 22px;gap:14px}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox97-club-heading h2{font-size:clamp(24px,2.5vw,36px)}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:12px;min-width:0;min-height:0}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;min-height:0;height:100%;padding:9px;gap:7px;border-radius:20px}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card b{font-size:clamp(17px,1.6vw,21px);line-height:1.12;margin-bottom:4px}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-subtitle{font-size:clamp(12px,1.2vw,15px);line-height:1.2}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox97-card-skill{display:none}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox97-card-state{display:block;position:absolute;z-index:3;right:15px;top:14px;border-radius:9px;padding:5px 7px;background:#fff9e5ed;font-size:11px;line-height:1.1;min-height:0}
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-art{min-width:0;min-height:0;height:100%;max-height:none;align-self:stretch;border-radius:13px;overflow:hidden}
#oracyx-app .is-primary-reader .ox97-game-home .ox135-kitsune-card{--card-ink:#855129;--card-tint:#e8f2d6}
#oracyx-app .is-primary-reader .ox97-game-home .ox135-kitsune-card-art{display:grid;place-items:center;background:#dceac9}
#oracyx-app .is-primary-reader .ox97-game-home .ox135-kitsune-card-art>img{display:block;width:100%;height:100%;min-height:0;object-position:center;object-fit:cover}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-art-tile .ox94-picture img{object-fit:contain;background:transparent}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-window-mini .ox94-picture{transform:none}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-memory-mini{width:90%;height:84%;gap:8px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-spot-mini{display:grid;place-items:center;padding:8px;background:radial-gradient(ellipse,#ffe4a844,#273558 72%)}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-spot-mini .ox97-art-tile{width:auto;max-width:100%;height:100%;aspect-ratio:3/2;border-radius:18px}
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-finish{padding:0}
#oracyx-app .is-primary-reader.ox97-menu-active .oxapp081-reader-title :is(b,small){max-width:100%;width:100%}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini{width:auto;max-width:94%;height:90%;aspect-ratio:3/2;gap:3px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini .ox94-picture{max-width:none;max-height:none}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini .ox94-picture img{object-fit:fill}
@media(max-width:799px),(max-height:650px){
 #oracyx-app .is-primary-reader .ox97-game-home,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card){padding:10px 12px;gap:10px;grid-template-rows:auto minmax(0,1fr) auto}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-menu,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{height:100%;min-height:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:184px;gap:12px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scroll-padding:6px;scrollbar-gutter:stable;padding:3px 4px 7px}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-card,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card{height:100%;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;padding:7px;gap:6px;border-radius:18px;align-items:stretch}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-card b,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card b{font-size:16px;line-height:1.15;margin-bottom:4px}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-subtitle,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-subtitle{font-size:12px;line-height:1.2}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-card-skill{display:none}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-card-state,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox97-card-state{display:block;position:absolute;z-index:3;right:11px;top:11px;border-radius:8px;padding:4px 6px;background:#fff9e5ed;font-size:10px;line-height:1.1}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-club-heading h2,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox97-club-heading h2{font-size:22px;margin-bottom:3px}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-club-heading .ox95-instruction{font-size:13px}
}
@media(max-width:359px){
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-menu,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{grid-auto-rows:174px;gap:10px}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-card b,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card b{font-size:15px}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-club-heading h2,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox97-club-heading h2{font-size:20px}
}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader .ox97-game-home,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card){padding:6px 10px;gap:6px}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-club-heading{grid-template-columns:44px minmax(0,1fr) 62px;gap:8px}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-club-heading h2,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox97-club-heading h2{font-size:21px;line-height:1.1;margin:0}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-club-heading .ox95-instruction{font-size:12px;margin-top:2px}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-club-heading button{min-width:44px;min-height:44px;padding:6px}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-earned{font-size:13px;padding:6px;flex-direction:row;gap:5px}
 #oracyx-app .is-primary-reader .ox97-game-home .ox97-earned svg{width:16px;height:16px}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-menu,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:140px;gap:10px;padding-bottom:4px}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-card b,#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card b{font-size:15px;margin:0;line-height:1.1}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-subtitle{display:none}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-finish p{font-size:12px}
 #oracyx-app .is-primary-reader .ox97-game-home [data-finish-book]{min-height:44px;font-size:13px;padding:6px 12px}
}
/* Core138: a large forest adventure, with eight complete story-game cards. */
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card){padding:18px 22px;gap:14px}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);gap:12px;overflow:auto;min-height:0;min-width:0;align-items:stretch}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card{height:100%;min-height:0;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;padding:9px;gap:7px;border-radius:20px;position:relative;overflow:hidden}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card{grid-column:3/5;grid-row:1/5;padding:18px;border-radius:30px;grid-template-rows:minmax(0,1fr) auto;background:radial-gradient(circle at 80% 10%,#fff9cd80,transparent 45%),#e7f1d5;box-shadow:0 5px 0 #a2b775;border-color:#b1c686}
#oracyx-app .is-primary-reader .ox97-game-home .ox135-kitsune-card-art{width:100%;height:auto;max-height:100%;aspect-ratio:3/2;align-self:center;display:block;background:#dceac9;border-radius:22px;overflow:hidden}
#oracyx-app .is-primary-reader .ox97-game-home .ox135-kitsune-card-art>img{width:100%;height:100%;object-fit:contain!important;object-position:center;display:block}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card b{font-size:clamp(25px,3vw,38px);line-height:1.1;margin-bottom:8px}
#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card .oxclub-subtitle{font-size:clamp(15px,1.4vw,19px);line-height:1.35;display:block}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-memory-mini{height:auto;width:92%;align-self:center;gap:8px;align-items:center}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-train-mini{height:auto;align-self:center;padding-bottom:14px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-basket-mini{height:auto;width:87%;align-self:center;gap:12px}
#oracyx-app .is-primary-reader .ox97-game-home :is(.ox97-memory-mini,.ox97-train-mini,.ox97-basket-mini) .ox97-art-tile{height:auto;min-height:0}
#oracyx-app .is-primary-reader .ox97-game-home :is(.ox97-memory-mini,.ox97-train-mini,.ox97-basket-mini) .ox94-picture{height:auto;aspect-ratio:3/2}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-art-tile .ox94-picture img{object-fit:cover;background:transparent}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-stage-mini{height:auto;max-height:100%;width:91%;align-self:center}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-stage-mini .ox97-art-tile{height:auto}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-stage-mini .ox94-picture{height:auto;aspect-ratio:3/2}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-window-mini .ox94-picture img,#oracyx-app .is-primary-reader .ox97-game-home .ox97-listen-mini .ox94-picture img{object-fit:cover}
@media(max-width:999px),(max-height:650px){
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card){padding:10px 12px;gap:10px;grid-template-rows:auto minmax(0,1fr) auto}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:184px;gap:12px;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:3px 4px 7px;align-content:start}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card{grid-column:auto;grid-row:auto;padding:7px;gap:6px;border-radius:18px}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card{order:-1;grid-column:1/-1;grid-row:auto;height:auto;min-height:0;padding:12px;grid-template-rows:auto auto;align-content:start}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{grid-auto-rows:max-content}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card:not(.ox135-kitsune-card){height:184px}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card b{font-size:25px;margin-bottom:5px}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card .oxclub-subtitle{font-size:14px;line-height:1.25}
 #oracyx-app .is-primary-reader .ox97-game-home .ox135-kitsune-card-art{border-radius:16px}
}
@media(max-width:359px){#oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card:not(.ox135-kitsune-card){height:174px}}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card){padding:6px 10px;gap:6px}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card:not(.ox135-kitsune-card){height:140px}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card{grid-column:1/-1;grid-template-columns:minmax(0,45%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:140px;padding:8px;gap:14px;align-items:center}
 #oracyx-app .is-primary-reader .ox97-game-home .ox135-kitsune-card-art{height:100%;width:auto;max-width:100%;aspect-ratio:3/2;justify-self:center}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card b{font-size:25px}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card .oxclub-subtitle{font-size:13px;display:block}
}
/* Core139 restores the Core0.12.7 dashboard (runtime0.12.6) from the
   unchanged original stylesheet above. Downloads stay on the dashboard. */
/* Authentic story scenes and short context sentences share fixed target bounds. */
#oracyx-app .ox135-lab[data-lab-palette]{background:radial-gradient(circle at 0 0,#ffffff95,transparent 42%),var(--ox138-wash,#f2eafb)}
#oracyx-app .ox135-lab[data-lab-palette] :is(.ox135-picture-choice,.ox135-vocab-target,.ox135-picture-tile):not(.is-selected):not(.is-correct):not(.is-wrong){border-color:var(--ox138-frame,#9d7abb);box-shadow:0 5px 0 color-mix(in srgb,var(--ox138-frame,#9d7abb) 35%,transparent);background:#ffffffce}
#oracyx-app .ox135-lab[data-lab-grade='kindergarten'] :is(.ox135-picture-choice,.ox135-vocab-target,.ox135-picture-tile){border-radius:30px 15px 30px 15px}
#oracyx-app .ox135-lab[data-lab-grade='grade-1'] :is(.ox135-picture-choice,.ox135-vocab-target,.ox135-picture-tile){border-radius:25px 25px 14px 25px}
#oracyx-app .ox135-lab[data-lab-grade='grade-2'] :is(.ox135-picture-choice,.ox135-vocab-target,.ox135-picture-tile){border-radius:21px 13px 21px 13px}
#oracyx-app .ox135-lab[data-lab-grade='grade-3'] :is(.ox135-picture-choice,.ox135-vocab-target,.ox135-picture-tile){border-radius:19px}
#oracyx-app .ox135-lab:is([data-lab-grade='grade-4'],[data-lab-grade='secondary']) :is(.ox135-picture-choice,.ox135-vocab-target,.ox135-picture-tile){border-radius:15px;border-style:solid}
#oracyx-app .ox135-lab[data-lab-grade='secondary']{font-family:Verdana,Arial,sans-serif}
#oracyx-app .ox135-lab[data-lab-grade='secondary'] .ox135-head h2{letter-spacing:-.02em}
#oracyx-app .ox135-vocab-targets:has(>.ox138-context-target){align-items:center}
#oracyx-app .ox135-vocab-target.ox138-context-target{grid-template-rows:auto auto;gap:10px;padding:10px;overflow:hidden;align-items:center;align-content:start;height:auto;max-height:100%}
#oracyx-app .ox135-vocab-target.ox138-context-target:before{display:none}
#oracyx-app .ox138-vocab-picture{display:block;width:100%;height:auto;aspect-ratio:3/2;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;border-radius:13px;background:transparent;pointer-events:none}
#oracyx-app .ox135-picture-tile:has(>.ox138-vocab-picture){aspect-ratio:3/2;height:auto}
#oracyx-app .ox135-ear-target:has(>.ox138-vocab-picture){overflow:hidden}
#oracyx-app .ox135-help>span[aria-hidden]{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;font-size:22px;line-height:1;font-weight:850}
#oracyx-app .ox138-context-line{display:block;min-width:0;width:100%;text-align:center;font-size:clamp(14px,1.35vw,20px);line-height:1.45;font-weight:750;color:#5c4770;overflow-wrap:anywhere;padding:1px 2px 5px}
#oracyx-app .ox138-context-line .ox135-drop-slot{display:inline-flex;vertical-align:middle;width:auto;min-width:80px;max-width:100%;height:44px;min-height:44px;padding:4px 9px;margin:3px 4px;border-radius:10px;font-size:inherit;line-height:1.1;white-space:normal;background:var(--ox138-wash,#f5e7c8);border-color:var(--ox138-frame,#bc965c)}
#oracyx-app .ox135-picture-tile>.ox138-vocab-picture{border-radius:18px}#oracyx-app .ox135-ear-target>.ox138-vocab-picture{border-radius:24px}
#oracyx-app .ox135-lab.ox138-no-top-listen{grid-template-rows:auto minmax(0,1fr) 34px}#oracyx-app .ox135-lab.ox138-no-top-listen>.ox135-cue{display:none}
@media(max-width:649px){#oracyx-app .ox135-vocab-target.ox138-context-target{padding:7px;gap:6px}#oracyx-app .ox138-context-line{font-size:13px;line-height:1.4;padding-bottom:3px}#oracyx-app .ox138-context-line .ox135-drop-slot{min-width:64px;margin:2px;max-width:calc(100% - 4px);padding:3px 6px}#oracyx-app .ox138-vocab-picture{border-radius:10px}}
@media(max-height:440px) and (min-width:480px){#oracyx-app .ox135-lab.ox138-no-top-listen{grid-template-rows:minmax(0,1fr) 24px}#oracyx-app .ox135-vocab-target.ox138-context-target{gap:4px;padding:5px}#oracyx-app .ox138-context-line{font-size:12px;line-height:1.2;padding-bottom:0}#oracyx-app .ox138-context-line .ox135-drop-slot{height:44px;min-height:44px;min-width:54px;margin:1px 2px;padding:2px 5px}}
@media(max-width:649px) and (orientation:portrait){
 #oracyx-app .ox135-lab:not(.ox135-early) .ox135-vocab-targets:has(>.ox138-context-target){grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(var(--ox135-items),minmax(0,1fr));gap:10px;align-items:stretch}
 #oracyx-app .ox135-lab:not(.ox135-early) .ox135-vocab-targets>.ox138-context-target{grid-column:auto;width:100%;grid-template-columns:minmax(0,44%) minmax(0,1fr);grid-template-rows:minmax(0,1fr);height:100%;padding:7px;gap:8px;align-content:normal}
 #oracyx-app .ox138-context-target>.ox138-vocab-picture{align-self:center}#oracyx-app .ox138-context-target>.ox138-context-line{font-size:13px;line-height:1.25;padding:0}
}
@media(max-width:649px) and (max-height:719px) and (orientation:portrait){
 #oracyx-app .is-primary-reader.ox135-lab-active:has(.ox138-context-target){grid-template-rows:minmax(0,1fr) auto}#oracyx-app .is-primary-reader.ox135-lab-active:has(.ox138-context-target)>.oxapp081-reader-header{display:none}#oracyx-app .is-primary-reader.ox135-lab-active:has(.ox138-context-target)>.oxapp081-reader-stage{grid-row:1}#oracyx-app .is-primary-reader.ox135-lab-active:has(.ox138-context-target)>.oxapp081-reader-footer{grid-row:2}
 #oracyx-app .ox135-lab:has(.ox138-context-target){padding-top:10px;gap:8px}#oracyx-app .ox135-lab:has(.ox138-context-target) .ox135-instruction{font-size:12px;line-height:1.2}#oracyx-app .ox135-lab:has(.ox138-context-target) .ox135-board{gap:10px}#oracyx-app .ox138-context-target>.ox138-context-line{font-size:12px}
}
#oracyx-app .ox135-lab.ox135-early[data-lab-mode='vocabulary'] .ox135-board:has(.ox135-picture-tile>.ox138-vocab-picture){grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;align-items:center}
#oracyx-app .ox135-lab.ox135-early .ox135-vocab-bank:has(>.ox135-picture-tile>.ox138-vocab-picture){display:contents}
#oracyx-app .ox135-lab.ox135-early .ox135-picture-tile:has(>.ox138-vocab-picture){width:100%;height:fit-content;aspect-ratio:auto;max-width:calc(75cqh - 30px);max-height:100%;flex:none;justify-self:center;align-self:center;padding:5px}
#oracyx-app .ox135-lab.ox135-early[data-lab-mode='vocabulary'] .ox135-board:has(.ox138-vocab-picture)>.ox135-ear-target{grid-column:auto;grid-row:auto;width:100%;height:fit-content;aspect-ratio:auto;max-width:calc(75cqh - 30px);max-height:100%;justify-self:center;align-self:center;padding:5px}
#oracyx-app .ox135-lab.ox135-early .ox135-ear-target>svg{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}
@media(max-height:440px) and (min-width:480px){#oracyx-app .ox135-lab.ox135-early[data-lab-mode='vocabulary'] .ox135-board:has(.ox138-vocab-picture){gap:12px}}
#oracyx-app .ox135-lab[data-lab-palette] .ox135-picture-choice:has(>img){aspect-ratio:auto;height:fit-content}#oracyx-app .ox135-lab[data-lab-palette] .ox135-picture-choice>img{height:auto;aspect-ratio:3/2}
@media(max-height:440px) and (min-width:480px){#oracyx-app .ox135-lab[data-lab-palette] .ox135-picture-choice:has(>img){max-width:calc(150cqh - 24px)}}
/* Source-sized visual drag copies; destinations reserve all original positions. */
.ox138-drag-fidelity,.ox138-drag-fidelity *{pointer-events:none!important;user-select:none!important}.ox138-drag-fidelity{isolation:isolate;will-change:left,top}
#oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) .oxapp081-drag-help{display:none}
#oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) .ox97-task-board{height:100%;min-height:0}
#oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) .oxapp081-token-zone{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:18px repeat(var(--ox97-items,3),minmax(44px,1fr));grid-auto-rows:44px;align-content:start;gap:8px;min-height:0;overflow:auto}
#oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) .oxapp081-token-zone .oxapp081-token{width:100%;height:100%;min-height:44px;max-height:100%;margin:0;flex:none}
#oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) .oxapp081-zone-title{margin:0;align-self:center;font-size:10px;line-height:1}
#oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) [data-check]{display:none}
#oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) .ox97-task-actions{height:32px;min-height:32px;overflow:hidden}
#oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) .ox97-task-actions [data-feedback]{max-width:100%;font-size:14px;line-height:1.15;padding:3px 6px}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader:has(:is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop)){grid-template-rows:minmax(0,1fr) auto}
 #oracyx-app .is-primary-reader:has(:is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop))>.oxapp081-reader-header{display:none}
 #oracyx-app .is-primary-reader:has(:is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop))>.oxapp081-reader-stage{grid-row:1}
 #oracyx-app .is-primary-reader:has(:is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop))>.oxapp081-reader-footer{grid-row:2}
 #oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop).ox97-task{padding:6px}
 #oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop) .ox97-task-grid{gap:6px}
 #oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop) .ox97-task-heading{flex-direction:row;gap:8px}
 #oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop) .ox97-task-copy .oxapp081-task-instruction{font-size:12px;line-height:1.15;margin-bottom:2px}
 #oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop) .ox97-task-copy .oxapp081-task-question{font-size:15px;line-height:1.2;margin:0}
 #oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop) .ox97-task-audio [data-activity-listen]{min-height:44px;min-width:44px;padding:4px 8px;font-size:14px}
 #oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop) .oxapp081-token-zone{padding:5px;gap:4px;grid-template-rows:14px repeat(var(--ox97-items,3),minmax(44px,1fr))}
 #oracyx-app .is-primary-reader :is(.activity-type-sequence,.activity-type-drag_drop,.activity-type-matching,.activity-type-pair_drop) .ox97-task-actions{height:24px;min-height:24px;overflow:hidden}
 #oracyx-app .is-primary-reader :is(.activity-type-matching,.activity-type-pair_drop) [data-check]{display:none}
 #oracyx-app .is-primary-reader :is(.activity-type-matching,.activity-type-pair_drop) .ox97-task-actions [data-feedback]{max-width:100%;font-size:12px;line-height:1.15;padding:2px 5px}
 #oracyx-app .is-primary-reader .activity-type-matching .ox97-task-board>.oxapp081-match-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
 #oracyx-app .is-primary-reader .activity-type-matching .oxapp081-match-column{grid-template-columns:repeat(var(--ox97-items,3),minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:8px}
 #oracyx-app .is-primary-reader .activity-type-matching .ox94-match-wrap:has(>.ox94-label-listen){display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:minmax(0,1fr);gap:4px;width:100%;max-width:100%}
 #oracyx-app .is-primary-reader .activity-type-matching .ox94-match-wrap>.ox94-label-listen{height:44px;width:44px;min-height:44px;min-width:44px;align-self:center;padding:5px}
 #oracyx-app .is-primary-reader :is(.activity-type-matching,.activity-type-pair_drop) .ox97-task-board :is(.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){min-height:44px;padding:4px;gap:3px;font-size:12px;line-height:1.15}
 #oracyx-app .is-primary-reader :is(.activity-type-matching,.activity-type-pair_drop) .ox97-task-board .ox94-caption{font-size:12px;line-height:1.1;flex:none;padding:0}
 #oracyx-app .is-primary-reader .activity-type-pair_drop .ox97-task-board :is(.oxapp084-pair-bank,.oxapp084-pair-targets){grid-template-rows:repeat(var(--ox97-items,3),minmax(44px,1fr));gap:5px}
 #oracyx-app .is-primary-reader .activity-type-pair_drop [data-pair-reset]{height:44px;min-height:44px;font-size:12px}
 #oracyx-app .is-primary-reader .activity-type-pair_drop .ox97-task-actions{height:44px;min-height:44px}
}
#oracyx-app .is-primary-reader :is([data-lab-item],[data-pair-item],[data-token-zone],[data-match-side]){touch-action:none!important;user-select:none!important;-webkit-user-select:none!important}
/* Dialogic questions reserve a full-width sentence and two clear actions. */
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 9px;align-items:center;min-width:0;margin:0;padding:10px 12px;border-radius:17px}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>span{grid-column:1/-1;font-size:10px;line-height:1.3;letter-spacing:.06em}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>b:not(.ox94-sr){grid-column:1/-1;min-width:0;width:100%;font-size:16px;line-height:1.3;font-weight:750;overflow-wrap:anywhere}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>button{display:flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;height:auto;max-width:100%;padding:6px 8px;border:0;border-radius:14px;font-size:14px;line-height:1.15;box-shadow:0 3px 0 #4b326a30}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>button>span{font-size:12px!important;line-height:1.15;letter-spacing:normal;grid-column:auto;color:inherit!important}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>button:is([data-dialogic-listen138],[data-record110]){min-height:48px;background:#6f478e;color:#fff}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>button:is([data-dialogic-listen138],[data-record110]) :is(.ox99-speaker,.ox120-mic){width:30px;height:30px;min-width:30px;flex-basis:30px;flex-shrink:0}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>[data-record-panel110]{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-column:1/-1;width:100%;gap:6px;align-items:center}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138] [data-record-panel110] audio{grid-column:1;width:100%;height:44px;min-width:0;max-width:100%}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138] [data-send110]{grid-column:2;min-width:44px;min-height:44px;padding:5px 8px;font-size:12px;line-height:1.2}
#oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138] [data-record-status110]{grid-column:1/-1;margin:0;font-size:12px;line-height:1.3;letter-spacing:normal;font-weight:650}
#oracyx-app .is-primary-reader .ox94-reading .ox94-reader-dock [data-reader-status]{position:static;inset:auto;max-width:100%;width:100%;min-height:0;margin:0;padding:5px 7px;border-radius:10px;background:#fff6e4;color:#705b80;font-size:12px;line-height:1.35;overflow-wrap:anywhere;pointer-events:none}
#oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxprimary092-word-page{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;max-height:100%;height:100%;gap:14px;overflow:hidden;align-content:normal}
#oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxapp081-story-text{min-height:0;max-height:100%;overflow:auto;overscroll-behavior:contain;align-self:center}
@media(max-width:649px) and (orientation:portrait){
 #oracyx-app .is-primary-reader .ox94-reading .ox94-reader-dock{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center}
 #oracyx-app .is-primary-reader .ox94-reading .ox94-reader-dock [data-reader-status]{grid-column:1/-1;grid-row:2;text-align:left}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxprimary092-open-book{overflow:hidden}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxprimary092-word-page{padding:24px 14px 10px;gap:10px}
 #oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]{padding:8px 10px;gap:6px 8px}
 #oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>b:not(.ox94-sr){font-size:15px;line-height:1.25}
 #oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>button{font-size:13px;padding:5px 6px}
}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader:has([data-dialogic138]){grid-template-rows:44px minmax(0,1fr) 48px}
 #oracyx-app .is-primary-reader:has([data-dialogic138])>.oxapp081-reader-header{padding:0 8px;min-height:44px;gap:8px}
 #oracyx-app .is-primary-reader:has([data-dialogic138])>.oxapp081-reader-header .oxapp081-icon-button{min-height:44px;height:44px;font-size:12px}
 #oracyx-app .is-primary-reader:has([data-dialogic138])>.oxapp081-reader-footer{padding:2px 8px;min-height:48px}
 #oracyx-app .is-primary-reader:has([data-dialogic138])>.oxapp081-reader-footer button{min-height:44px;height:44px}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]){grid-template-columns:minmax(0,1fr) 100px;grid-template-rows:22px minmax(0,1fr);padding:4px 6px;gap:5px}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxprimary092-story-rail{grid-column:1/-1;grid-row:1;min-height:22px}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .ox94-page-meta b{font-size:11px}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxprimary092-open-book{grid-column:1;grid-row:2;display:block;overflow:hidden}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxprimary092-word-page{padding:6px 8px;gap:6px;min-height:0;overflow:hidden}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxapp081-story-text{font-size:18px;line-height:1.3;max-width:none}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .ox94-reader-dock{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:5px;padding:0;align-items:stretch;justify-content:flex-start;overflow:auto}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .ox94-reader-dock [data-listen],#oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .ox94-settings>summary{min-height:44px;min-width:44px;height:44px;padding:4px;font-size:12px!important}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .ox94-reader-dock [data-reader-status]{font-size:11px;line-height:1.2;padding:4px}
 #oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]{padding:5px 7px;gap:4px 7px;border-radius:12px}
 #oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>span{font-size:9px;line-height:1.15}
 #oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>b:not(.ox94-sr){font-size:13px;line-height:1.2}
 #oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138]>button:is([data-dialogic-listen138],[data-record110]){min-height:44px;height:44px;padding:3px 6px;font-size:13px}
 #oracyx-app .is-primary-reader .oxprimary090-moment[data-dialogic138] [data-record-status110]{font-size:11px;line-height:1.2}
 /* Fixed to the viewport, this popover cannot be clipped by the dock scroll. */
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .ox94-settings-panel{position:fixed;inset:auto 8px 54px auto;width:min(260px,calc(100vw - 16px));max-height:calc(100dvh - 105px);overflow:auto;z-index:100;padding:12px;border-radius:18px;background:#fff4dd;box-shadow:0 8px 28px #39254e40}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .ox94-settings-panel button{min-height:44px;min-width:44px}
}
#oracyx-app .is-primary-reader:has([data-dialogic138])>.oxapp081-reader-header .oxapp081-reader-title{flex:1;min-width:0;max-width:100%;overflow:hidden}
#oracyx-app .is-primary-reader:has([data-dialogic138])>.oxapp081-reader-header .oxapp081-reader-title>:is(b,small){display:block;width:100%;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Each miniature uses its actual scene ratio inside the decorative frame. */
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-art:not(.ox135-kitsune-card-art){container-type:size}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-stage-mini{height:auto;width:min(91%,calc((92cqh - 24px)*1.5 + 32px));max-height:100%;padding:6px 16px;border-top-width:6px;border-bottom-width:6px;flex-shrink:0}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-stage-mini .ox94-picture{height:auto;aspect-ratio:3/2}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-listen-mini .ox97-art-tile{width:auto;max-width:100%;height:100%;aspect-ratio:3/2}
#oracyx-app>.oxapp081-main .oxapp081-welcome-badge>*{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;font-size:16px;line-height:1.2;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}

/* Class interface choice affects the shell; story level and activities remain authoritative. */
#oracyx-app [data-reader-root][data-ui-programme138="primary"]{font-family:'Oracy Nunito',Verdana,Arial,sans-serif}
#oracyx-app [data-reader-root][data-ui-programme138="primary"]>.oxapp081-reader-header{background:#fff6e5;color:#674a7a;border-bottom:1px solid #ecd9b8}
#oracyx-app [data-reader-root][data-ui-programme138="primary"]>.oxapp081-reader-header .oxapp081-icon-button{background:#f0e1f7;color:#654579;border-radius:15px}
#oracyx-app [data-reader-root][data-ui-programme138="primary"]>.oxapp081-reader-footer{background:#fff6e5;border-top:1px solid #ecd9b8;color:#715687}
#oracyx-app [data-reader-root][data-ui-programme138="primary"]>.oxapp081-reader-footer button{border-radius:15px;font-family:inherit}
#oracyx-app [data-reader-root][data-ui-programme138="secondary"]{font-family:Arial,Helvetica,sans-serif}
#oracyx-app [data-reader-root][data-ui-programme138="secondary"]>.oxapp081-reader-header{background:#f8f5fc;color:#49335f;border-bottom:1px solid #e4d8ed}
#oracyx-app [data-reader-root][data-ui-programme138="secondary"]>.oxapp081-reader-header .oxapp081-icon-button{background:#ece4f5;color:#594074;border-radius:10px;font-family:inherit}
#oracyx-app [data-reader-root][data-ui-programme138="secondary"]>.oxapp081-reader-header .oxapp081-reader-title b{font-family:inherit;font-weight:700}
#oracyx-app [data-reader-root][data-ui-programme138="secondary"]>.oxapp081-reader-footer{background:#f8f5fc;border-top:1px solid #e4d8ed;color:#68517b}
#oracyx-app [data-reader-root][data-ui-programme138="secondary"]>.oxapp081-reader-footer button{border-radius:10px;font-family:inherit}
/* A saved voice adds an audio row; keep a readable, scrollable story line above it. */
@media(max-width:649px) and (min-height:441px){
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138] [data-record-panel110] audio) .oxprimary092-word-page{padding:12px 14px 10px;gap:8px}
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138] [data-record-panel110] audio) .oxapp081-story-text{margin:0;min-height:44px}
}
/* In short landscape screens the popover opens beside its trigger, so it can close again. */
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .ox94-settings-panel{right:116px;width:min(260px,calc(100vw - 128px))}
}
/* Keep the title and the spoken word legible over the warm shell and story artwork. */
#oracyx-app [data-reader-root][data-ui-programme138="primary"]>.oxapp081-reader-header .oxapp081-reader-title>b{color:#674a7a}
#oracyx-app [data-reader-root][data-ui-programme138="primary"]>.oxapp081-reader-header .oxapp081-reader-title>small{color:#87699b}
#oracyx-app [data-reader-root][data-ui-programme138="secondary"]>.oxapp081-reader-header .oxapp081-reader-title>b{color:#49335f}
#oracyx-app [data-reader-root][data-ui-programme138="secondary"]>.oxapp081-reader-header .oxapp081-reader-title>small{color:#725983}
#oracyx-app .is-primary-reader .ox94-reading:has([data-dialogic138]) .oxapp081-story-text{padding:6px 8px;border-radius:12px;background:#fff9ecef;color:#5b426e;text-shadow:none}

/* Core139: larger story artwork for the eight ordinary game cards.
   These thumbnails are decorative; the games and Kitsune hero are unchanged. */
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-card:not(.ox135-kitsune-card){padding:5px;gap:5px}
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-card:not(.ox135-kitsune-card) .oxclub-subtitle{display:none}
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-card:not(.ox135-kitsune-card) .ox97-card-copy{padding:0 4px 3px}
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-card:not(.ox135-kitsune-card) b{font-size:clamp(16px,1.5vw,20px);line-height:1.12;margin:0}
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-card:not(.ox135-kitsune-card) .ox97-game-art{display:grid;place-items:center;min-height:0;padding:2px;overflow:hidden}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-game-art>:is(.ox97-memory-mini,.ox97-train-mini,.ox97-basket-mini,.ox97-listen-mini){display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);width:100%;height:100%;min-height:0;max-height:100%;align-self:stretch;gap:0}
#oracyx-app .is-primary-reader .ox97-game-home :is(.ox97-memory-mini,.ox97-train-mini,.ox97-basket-mini)>.ox97-art-tile:nth-child(n+2){display:none}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-game-art :is(.ox97-memory-mini,.ox97-train-mini,.ox97-basket-mini,.ox97-listen-mini)>.ox97-art-tile{width:100%;height:100%;min-height:0;max-width:100%;max-height:100%;aspect-ratio:auto;overflow:hidden;box-sizing:border-box}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-memory-mini{padding:3px 8px 7px 3px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-memory-mini>.ox97-art-tile{box-shadow:5px 4px 0 #c3a9db}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-train-mini{padding:2px 2px 12px;border-bottom-width:3px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-basket-mini{padding:2px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-basket-mini>.ox97-art-tile{border-bottom-width:8px;border-radius:12px 12px 19px 19px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-basket-mini:after{bottom:2px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-listen-mini{padding:4px 2px 2px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-game-art .ox94-picture{width:100%;height:100%;min-height:0;max-height:100%;aspect-ratio:auto}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-game-art .ox94-picture>img{width:100%;height:100%;object-fit:contain;object-position:center;background:transparent}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-window-mini{width:100%;height:100%;aspect-ratio:auto;max-width:100%;max-height:100%;border-width:4px;border-radius:20px 20px 10px 10px;box-sizing:border-box}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-window-mini>.ox97-art-tile{width:100%;height:100%}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-stage-mini{width:100%;height:100%;max-height:100%;padding:3px 8px;border-top-width:4px;border-bottom-width:4px;border-radius:18px 18px 8px 8px;box-sizing:border-box}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-stage-mini>.ox97-art-tile{height:100%;min-height:0}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-spot-mini{width:100%;height:100%;padding:3px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-spot-mini>.ox97-art-tile{width:100%;height:100%;aspect-ratio:auto;border-radius:16px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini{width:100%;height:100%;max-width:100%;aspect-ratio:auto;gap:2px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini .ox94-picture{max-height:none;width:300%;height:100%}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini .ox94-picture>img{object-fit:fill}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-game-art .oxclub-emblem{width:30px;height:30px;right:3px;bottom:3px;padding:3px;border-radius:10px}
@media(max-width:649px){
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-card:not(.ox135-kitsune-card) .ox97-card-copy{padding:0 3px 3px}
 #oracyx-app .is-primary-reader .ox97-game-home .oxclub-card:not(.ox135-kitsune-card) b{font-size:16px}
}
/* Activity illustrations keep one consistent containment contract. Cropped
   puzzle pieces retain their own geometry; their complete preview is fitted. */
#oracyx-app :is(.ox135-lab,.ox97-task-board) :is(.ox135-truth-art,.ox138-vocab-picture,.ox94-picture>img){max-width:100%;object-fit:contain;object-position:center;pointer-events:none}
#oracyx-app :is(.ox135-picture-choice,.ox135-picture-tile,.ox135-vocab-target,.ox135-ear-target,.ox97-task-board .oxapp081-choice,.ox97-task-board .oxapp081-match,.ox97-task-board .oxapp084-pair-target){min-width:0;overflow:hidden;box-sizing:border-box}
/* Core139: label the actual illustrated objects. The image and its authored
   targets share one intrinsic-ratio canvas, with no crop or letterboxing. */
#oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']{--lab-bg:#fff1ce;--lab-accent:#c19345;--lab-wash:#fff9e9;grid-template-rows:auto minmax(0,1fr) 34px}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']>.ox135-cue{display:none}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']>.ox135-board{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:12px;align-items:stretch}
#oracyx-app .ox139-word-picture-area{width:100%;height:100%;min-width:0;min-height:0;container-type:size;display:grid;place-items:center;overflow:visible}
#oracyx-app .ox139-word-scene{--ox139-scene-ratio:1.5;position:relative;width:min(100cqw,calc(100cqh * var(--ox139-scene-ratio)));height:auto;max-width:100%;min-width:0;min-height:0;aspect-ratio:var(--ox139-scene-ratio);padding:0;border:0;border-radius:22px;overflow:hidden;background:#fff9e9;box-shadow:0 0 0 3px #e5c784,0 6px 0 #c1934533;isolation:isolate}
#oracyx-app .ox139-word-scene-art{display:block;width:100%;height:100%;max-width:100%;max-height:100%;padding:0;margin:0;object-fit:contain;object-position:center;border-radius:inherit;pointer-events:none;user-select:none}
#oracyx-app .ox139-word-hotspot{position:absolute;left:var(--ox139-x);top:var(--ox139-y);width:var(--ox139-w);height:var(--ox139-h);min-width:44px;min-height:44px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;padding:4px;border:2px dashed #755398;border-radius:14px;background:#fff9ed88;color:#583474;box-shadow:inset 0 0 0 2px #ffffff77;overflow:hidden;z-index:1;transition:background-color .16s,border-color .16s}
#oracyx-app .ox139-word-hotspot.is-over{background:#f1e0ffc7;border-style:solid;border-color:#71439e}
#oracyx-app .ox139-word-hotspot.is-filled{background:#fff9e9e8;border-style:solid;border-color:#9b75b6}
#oracyx-app .ox139-word-outline{display:block;font-size:clamp(17px,2vw,28px);line-height:1;color:#7d5b9b;pointer-events:none}
#oracyx-app .ox139-word-placed{display:block;max-width:100%;font-size:clamp(14px,1.6vw,24px);line-height:1.12;overflow-wrap:anywhere;pointer-events:none}
#oracyx-app .ox135-lab .ox139-word-bank{width:100%;max-width:100%;min-width:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:4px 3px 2px;min-height:50px}
#oracyx-app .ox139-word-bank>.ox135-word-tile{width:auto;max-width:100%;min-width:54px;min-height:44px;height:auto;flex:0 1 auto;margin:0;padding:10px 16px;font-size:clamp(18px,1.8vw,25px);line-height:1.1;overflow-wrap:anywhere;border-radius:15px;box-sizing:border-box}
#oracyx-app .ox139-word-bank>.ox135-word-tile:disabled{opacity:.5;pointer-events:none;box-shadow:none}
@media(max-width:649px){
 #oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']{padding:12px 14px 8px;gap:12px}
 #oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']>.ox135-board{gap:10px}
 #oracyx-app .ox139-word-scene{border-radius:17px}
 #oracyx-app .ox139-word-hotspot{border-radius:11px;padding:3px}
 #oracyx-app .ox139-word-placed{font-size:15px}
 #oracyx-app .ox139-word-bank>.ox135-word-tile{font-size:20px;padding:8px 12px}
}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']{padding:6px 12px 4px;grid-template-columns:minmax(130px,24%) minmax(0,1fr);grid-template-rows:minmax(0,1fr) 24px;column-gap:12px;row-gap:6px}
 #oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']>.ox135-head{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;align-self:center}
 #oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']>.ox135-board{grid-column:2;grid-row:1;gap:6px}
 #oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']>.ox135-feedback{grid-column:1/-1;grid-row:2}
 #oracyx-app .ox139-word-bank{gap:6px;padding:2px 2px 0;min-height:44px}
 #oracyx-app .ox139-word-bank>.ox135-word-tile{font-size:17px;padding:6px 9px;min-width:44px}
 #oracyx-app .ox139-word-hotspot{border-radius:9px;padding:2px}
 #oracyx-app .ox139-word-placed{font-size:13px}
}
#oracyx-app .is-primary-reader .ox97-game-home .oxclub-card:not(.ox135-kitsune-card) .ox97-game-art{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
/* Keep the larger adventure visible while ordinary game artwork gets real
   picture-sized rows. Only this game menu scrolls; book controls stay fixed. */
@media(min-width:1000px) and (min-height:651px){
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-menu{container-type:size;grid-template-rows:repeat(4,minmax(190px,1fr));align-content:start}
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .ox135-kitsune-card{height:100cqh;position:sticky;top:0;align-self:start}
}
@media(max-width:999px),(max-height:650px){
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card:not(.ox135-kitsune-card){height:206px}
}
@media(max-width:359px){
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card:not(.ox135-kitsune-card){height:194px}
}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader .ox97-game-home:has(.ox135-kitsune-card) .oxclub-card:not(.ox135-kitsune-card){height:166px}
}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-spot-mini{padding:0}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-spot-mini>.ox97-art-tile{border-width:1px}
/* Keep the restored dashboard controls comfortable on touch screens. */
#oracyx-app>.oxapp081-main :is(.oxapp084-download,.oxapp081-filter){min-height:44px;min-width:44px}
#oracyx-app>.oxapp081-main .oxapp081-primary,#oracyx-app>.oxapp081-bottom-nav .oxapp081-nav-button{min-height:44px;min-width:44px}
/* A requested page waits behind the current complete page; this small notice
   sits inside the reader stage and leaves Library and other shell controls free. */
#oracyx-app .ox139-page-wait{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);z-index:50;display:flex;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:calc(100% - 28px);min-height:44px;padding:11px 17px;border:1px solid #cfbade;border-radius:18px;background:#fffaf6f5;color:#64467e;box-shadow:0 5px 20px #48275d24;font-family:inherit;font-size:15px;font-weight:800;line-height:1.25;text-align:center;pointer-events:none}
#oracyx-app .ox139-page-wait:before{content:'';flex:none;display:block;width:16px;height:16px;border:3px solid #ddcdeb;border-top-color:#79539a;border-radius:50%;animation:ox139-page-turn-wait .8s linear infinite}
@keyframes ox139-page-turn-wait{to{transform:rotate(360deg)}}
@media(max-width:649px){#oracyx-app .ox139-page-wait{bottom:10px;max-width:calc(100% - 20px);font-size:14px;padding:10px 13px;border-radius:15px}}
@media(max-height:440px) and (min-width:480px){#oracyx-app .ox139-page-wait{bottom:7px;font-size:13px;padding:8px 12px;min-height:40px}}
@media(prefers-reduced-motion:reduce){#oracyx-app .ox139-page-wait:before{animation:none}}
/* Authored picture targets and the word bank have explicit grid locations,
   independent of the older kindergarten picture-bank layout. */
#oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']>.ox135-board>.ox139-word-picture-area{grid-column:1;grid-row:1}
#oracyx-app .ox135-lab[data-lab-mode='vocabulary-hotspot']>.ox135-board>.ox139-word-bank{grid-column:1;grid-row:2}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini{width:min(100%,calc(100cqh * 1.5));height:auto;max-height:100%;aspect-ratio:3/2;grid-template-rows:minmax(0,1fr)}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini .ox94-picture>img{object-fit:cover}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini{gap:0;overflow:hidden;border-radius:10px}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini>.ox97-art-tile{border:0;border-radius:0;box-shadow:none}
#oracyx-app .is-primary-reader .ox97-game-home .ox97-puzzle-mini>.ox97-art-tile:not(:last-child):after{content:'';position:absolute;right:0;top:0;bottom:0;width:2px;background:#fff8e8;pointer-events:none;z-index:1}
#oracyx-app :is(.ox97-task-board,.oxapp081-task-card) :is(.oxapp081-choice-media>img,.oxapp084-pair-image){max-width:100%;object-fit:contain;object-position:center}
/* Short phone landscapes use the card width for picture and label, so a
   caption cannot squeeze the illustration into a thin horizontal strip. */
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader .ox97-task-board :is(.oxapp081-choice,.oxapp081-match,.oxapp081-token,.oxapp084-pair-target){flex-direction:row;align-items:center;gap:6px}
 #oracyx-app .is-primary-reader .ox97-task-board .ox94-picture:has(img){width:52%!important;height:100%!important;flex:0 1 52%;aspect-ratio:auto;min-height:0}
 #oracyx-app .is-primary-reader .ox97-task-board .ox94-picture>img{width:100%;height:100%;max-height:100%;object-fit:contain}
 #oracyx-app .is-primary-reader .ox97-task-board .ox94-caption{width:auto;flex:1;min-width:0;padding:0 34px 0 0;font-size:14px;line-height:1.15}
 #oracyx-app .is-primary-reader .ox97-task-board .ox94-empty{height:100%;min-height:0}
}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader .ox97-task{padding:8px 12px}
 #oracyx-app .is-primary-reader .ox97-task-grid{grid-template-columns:minmax(110px,.65fr) minmax(0,2fr);grid-template-rows:minmax(0,1fr) 44px;gap:6px 12px}
 #oracyx-app .is-primary-reader .ox97-task-heading{grid-column:1;grid-row:1/3;display:flex;flex-direction:column;justify-content:center;gap:8px;min-height:0}
 #oracyx-app .is-primary-reader .ox97-task-copy{flex:0;min-width:0}
 #oracyx-app .is-primary-reader .ox97-task-copy .oxapp081-task-instruction{font-size:13px;line-height:1.2;margin-bottom:6px}
 #oracyx-app .is-primary-reader .ox97-task-copy .oxapp081-task-question{font-size:16px;line-height:1.2}
 #oracyx-app .is-primary-reader .ox97-task-audio{margin:0;display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
 #oracyx-app .is-primary-reader .ox97-task-audio :is([data-instruction-listen],[data-activity-listen]){min-height:44px;min-width:44px;padding:6px;font-size:13px}
 #oracyx-app .is-primary-reader .ox97-task-board{grid-column:2;grid-row:1;min-height:0}
 #oracyx-app .is-primary-reader .ox97-task-actions{grid-column:2;grid-row:2;min-height:44px;gap:6px}
 #oracyx-app .is-primary-reader .ox97-task-actions :is([data-check],[data-pair-reset],[data-read-story-again],[data-try-activity-again]){min-height:44px;min-width:44px;font-size:13px;padding:5px 9px}
 #oracyx-app .is-primary-reader .ox97-task-actions .oxapp081-feedback{font-size:13px;padding:4px 6px;max-width:55%}
 #oracyx-app .is-primary-reader .ox97-task-board .oxapp081-token-zone{padding:4px;gap:4px}
 #oracyx-app .is-primary-reader .ox97-task-board .oxapp081-zone-title{font-size:10px;line-height:1.1;margin:0;flex:none}
 #oracyx-app .is-primary-reader .ox97-task-board .oxapp081-token-zone .oxapp081-token{min-height:44px;height:auto;flex:1;padding:4px 6px}
}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader .ox97-task-board>.oxapp081-options{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(44px,1fr));gap:6px;align-items:stretch;align-content:stretch}
 #oracyx-app .is-primary-reader .ox97-task-board[data-items='2']>.oxapp081-options{grid-template-rows:minmax(44px,1fr)}
 #oracyx-app .is-primary-reader .ox97-task-board .oxprimary091-choice-wrap{height:100%;min-height:0;align-self:stretch;grid-template-columns:minmax(0,1fr) 44px;gap:4px}
 #oracyx-app .is-primary-reader .ox97-task-board .oxapp081-choice{height:100%;min-height:44px}
}
@media(max-height:440px) and (min-width:480px){
 #oracyx-app .is-primary-reader .ox97-task .ox97-task-heading{flex-direction:column;align-items:stretch}
 #oracyx-app .is-primary-reader .ox97-task .ox97-task-copy{flex:none;width:100%;min-width:0}
}

/* 0.12.26: story art remains visible behind text; imported white text fills cannot become a box. */
#oracyx-app .ox94-reading .oxprimary092-word-page,
#oracyx-app .ox94-reading .oxapp081-story-text,
#oracyx-app .ox94-reading .oxapp081-story-text :not(.is-speaking110){background:transparent!important;box-shadow:none!important}
#oracyx-app .ox94-reading .oxapp081-story-text{border:0!important;border-radius:0!important}
#oracyx-app .ox94-reading .oxprimary092-picture-page:after{background:linear-gradient(90deg,transparent 22%,rgba(255,246,217,.12) 35%,rgba(255,246,217,.94) 55%,rgba(255,246,217,.96) 83%,rgba(255,246,217,.94))}
#oracyx-app .is-secondary-reader .ox94-reading .oxprimary092-picture-page:after{background:linear-gradient(90deg,transparent 22%,rgba(246,239,251,.12) 35%,rgba(246,239,251,.94) 55%,rgba(246,239,251,.96) 83%,rgba(246,239,251,.94))}
@media(max-width:649px){
 #oracyx-app .ox94-reading .oxprimary092-picture-page:after{background:linear-gradient(180deg,transparent 8%,rgba(255,244,213,.12) 19%,rgba(255,244,213,.94) 38%,rgba(255,244,213,.96) 85%)}
 #oracyx-app .is-secondary-reader .ox94-reading .oxprimary092-picture-page:after{background:linear-gradient(180deg,transparent 8%,rgba(246,239,251,.12) 19%,rgba(246,239,251,.94) 38%,rgba(246,239,251,.96) 85%)}
}
#oracyx-app .ox94-reading .oxprimary092-open-book.is-picture-only .oxprimary092-picture-page:after{background:none;opacity:0}
/* Keep help beside the task heading, not over the story artwork. */
#oracyx-app .ox135-head .ox135-help{position:static;align-self:flex-start;min-width:44px;min-height:44px;width:auto;height:auto;gap:7px;flex-shrink:0}
#oracyx-app .ox135-head .ox135-help>span{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
#oracyx-app .ox135-head .ox135-help>b{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1;flex-shrink:0}
#oracyx-app .ox140-story-evidence{margin:0 auto 12px;max-width:480px;width:100%}
#oracyx-app .ox140-story-evidence img{display:block;width:100%;max-height:230px;object-fit:contain;border-radius:16px}
/* Assigned-story pathway: presentation only; no assignment or access mutations. */
.ox140-island-path{background:linear-gradient(145deg,#e9f8f4,#edf4ff);border-radius:24px;padding:24px}
.ox140-island-path ol{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:24px}
.ox140-island-path li{position:relative;text-align:center}
.ox140-island-path li button{width:100%;border:2px solid transparent;border-radius:24px;background:#fff;padding:16px;color:#234451;cursor:pointer;box-shadow:0 8px 20px #315b6c14}
.ox140-island-path li.is-current button{border-color:#398b77;box-shadow:0 0 0 4px #398b771a}
.ox140-island-path li button:focus-visible{outline:3px solid #315b6c;outline-offset:4px}
.ox140-island-path b,.ox140-island-path small{display:block;margin-top:10px}
.ox140-island-cover{display:block;position:relative;height:110px;overflow:hidden;border-radius:50% 50% 36% 36%;background:#d6ece1}
.ox140-island-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ox140-island-step{display:inline-grid;place-items:center;min-width:32px;height:32px;border-radius:50%;background:#315b6c;color:#fff;margin-bottom:8px}
.ox140-island-path .is-complete .ox140-island-step{background:#398b77}
@media(max-width:480px){.ox140-island-path{padding:16px}.ox140-island-path ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
/* Reading world: book covers hover over terrain, rather than white cards. */
#oracyx-app .ox140-island-path{position:relative;isolation:isolate;background:radial-gradient(ellipse at 15% 4%,#eaffff 0,transparent 30%),linear-gradient(160deg,#b8e6ed,#7dc9db 45%,#9badde);border:2px solid #ffffffb3;border-radius:32px;overflow:hidden;padding:28px}
#oracyx-app .ox140-island-path .oxapp081-section-head{position:relative;z-index:1;color:#203f61}
.ox140-world-guide{font-size:54px;filter:drop-shadow(0 6px 3px #32597933)}
.ox140-world-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #fff8;color:#193d59;font-weight:800}
.ox140-world-navigation button{min-height:44px;border:2px solid #ffffffb3;border-radius:18px;background:#fff7dc;color:#203f61;padding:10px 16px;font:inherit;cursor:pointer}
.ox140-world-navigation button:disabled{opacity:.4;cursor:default}
.ox140-world-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.24;z-index:-1;pointer-events:none}
#oracyx-app .ox140-island-path ol{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px 30px;align-items:start}
#oracyx-app .ox140-island-path li{min-width:0;min-height:260px;padding:0 6px 38px;isolation:isolate}
#oracyx-app .ox140-island-path li:before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:4px;height:104px;border-radius:50%;background:radial-gradient(ellipse at 50% 20%,#bce39b 0 35%,#6cad74 36% 54%,#8d6b73 55% 66%,transparent 67%);filter:drop-shadow(0 16px 8px #23486638);transform:rotate(-4deg)}
#oracyx-app .ox140-island-path li:nth-child(3n+2){margin-top:35px}
#oracyx-app .ox140-island-path li:nth-child(3n):before{transform:rotate(6deg)}
#oracyx-app .ox140-island-path li button{position:relative;z-index:1;background:transparent;border:0;box-shadow:none;padding:8px;color:#193d59;min-height:200px}
#oracyx-app .ox140-island-cover{height:145px;max-width:116px;margin:auto;border-radius:7px 14px 14px 7px;box-shadow:-5px 3px 0 #fff4dc,0 13px 18px #304c7540;animation:ox140-book-float 5s ease-in-out infinite;overflow:hidden;background:#f9f1d5;transform:rotate(-5deg)}
#oracyx-app .ox140-island-path li:nth-child(2n) .ox140-island-cover{animation-delay:-2s}
#oracyx-app .ox140-island-path li.is-current button{box-shadow:none;border:0}
#oracyx-app .ox140-island-path li.is-current .ox140-island-cover{outline:4px solid #ffdc75;outline-offset:5px}
#oracyx-app .ox140-island-path b{font-size:16px;line-height:1.25;text-wrap:balance;margin:18px auto 0;max-width:190px}
#oracyx-app .ox140-island-path small{font-size:12px;margin-top:5px}
#oracyx-app .ox140-island-step{position:absolute;top:0;left:8px;z-index:3;background:#5c4e8b;border:2px solid #fff4d3}
@keyframes ox140-book-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-9px) rotate(-2deg)}}
@media(max-width:480px){#oracyx-app .ox140-island-path{padding:18px 12px}#oracyx-app .ox140-island-path ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#oracyx-app .ox140-island-path li{min-height:240px}#oracyx-app .ox140-island-path li:nth-child(3n+2){margin-top:0}#oracyx-app .ox140-island-path li:nth-child(2n){margin-top:30px}#oracyx-app .ox140-island-cover{height:128px;max-width:100px}#oracyx-app .ox140-island-path b{font-size:14px}.ox140-world-guide{font-size:40px}}
@media(prefers-reduced-motion:reduce){#oracyx-app .ox140-island-cover{animation:none}}
/* One landscape and a connected, numbered trail instead of individual card islands. */
#oracyx-app .ox140-island-path{background:radial-gradient(ellipse at 15% 30%,#d0f7ed88,transparent 50%),linear-gradient(145deg,#87d9df,#59b9ce 60%,#80cbd6);padding:22px;box-shadow:inset 0 0 70px #e8ffff55}
#oracyx-app .ox140-world-art{opacity:.08}
#oracyx-app .ox141-island-map{position:relative;height:670px;max-width:1100px;margin:0 auto;isolation:isolate}
.ox141-terrain{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 12px 10px #20567e33);pointer-events:none}
.ox141-trail-mobile{display:none}
#oracyx-app .ox141-island-map ol{display:block;position:absolute;inset:0;margin:0;padding:0}
#oracyx-app .ox141-island-map li{position:absolute;width:20%;min-height:0;height:155px;margin:0!important;padding:0;left:4%;top:11%;isolation:auto}
#oracyx-app .ox141-island-map li:before{display:none}
#oracyx-app .ox141-island-map li:nth-child(4n+2){left:28%}
#oracyx-app .ox141-island-map li:nth-child(4n+3){left:52%}
#oracyx-app .ox141-island-map li:nth-child(4n){left:76%}
#oracyx-app .ox141-island-map li:nth-child(n+5):nth-child(-n+8){top:38%}
#oracyx-app .ox141-island-map li:nth-child(5){left:76%}
#oracyx-app .ox141-island-map li:nth-child(6){left:52%}
#oracyx-app .ox141-island-map li:nth-child(7){left:28%}
#oracyx-app .ox141-island-map li:nth-child(8){left:4%}
#oracyx-app .ox141-island-map li:nth-child(n+9){top:65%}
#oracyx-app .ox141-island-map li button{min-height:0;padding:0 4px;width:100%}
#oracyx-app .ox141-island-map .ox140-island-cover{height:96px;max-width:76px;box-shadow:-3px 2px 0 #fff4dc,0 14px 15px #203e6550}
#oracyx-app .ox141-island-map b{font-size:14px;margin:13px auto 0;max-width:170px;padding:3px 6px;border-radius:10px;background:#fff8dcda;color:#234938}
#oracyx-app .ox141-island-map small{font-size:10px;color:#28483a;margin-top:3px}
#oracyx-app .ox141-island-map .ox140-island-step{left:calc(50% - 65px);top:65px;min-width:28px;height:28px;font-size:12px;box-shadow:0 2px 4px #203e6533}
@media(max-width:600px){
 #oracyx-app .ox140-island-path{padding:16px 5px}
 #oracyx-app .ox140-island-path .oxapp081-section-head{padding:0 12px}
 #oracyx-app .ox141-island-map{height:1120px}
 .ox141-trail-desktop{display:none}.ox141-trail-mobile{display:block}
 #oracyx-app .ox141-island-map li{width:42%;left:4%!important;top:7%}
 #oracyx-app .ox141-island-map li:nth-child(4n+2),#oracyx-app .ox141-island-map li:nth-child(4n+3){left:54%!important}
 #oracyx-app .ox141-island-map li:nth-child(3),#oracyx-app .ox141-island-map li:nth-child(4){top:22%}
 #oracyx-app .ox141-island-map li:nth-child(5),#oracyx-app .ox141-island-map li:nth-child(6){top:37%}
 #oracyx-app .ox141-island-map li:nth-child(7),#oracyx-app .ox141-island-map li:nth-child(8){top:52%}
 #oracyx-app .ox141-island-map li:nth-child(9),#oracyx-app .ox141-island-map li:nth-child(10){top:67%}
 #oracyx-app .ox141-island-map li:nth-child(11),#oracyx-app .ox141-island-map li:nth-child(12){top:82%}
 #oracyx-app .ox141-island-map b{font-size:12px;max-width:135px}
}

/* 0.12.39: keep two-answer Story Clue artwork readable without letting each
   answer fill half of a desktop screen. Audio-only answer tiles are excluded. */
#oracyx-app .ox135-lab[data-lab-palette] .ox135-choices:has(>.ox135-picture-choice:nth-child(2):last-child):not(:has(>.ox135-audio-choice)){
  width:min(920px,100%);
  gap:18px;
  margin-inline:auto;
}
#oracyx-app .ox135-lab[data-lab-palette] .ox135-choices:has(>.ox135-picture-choice:nth-child(2):last-child):not(:has(>.ox135-audio-choice))>.ox135-picture-choice{
  flex:0 1 440px;
  width:min(440px,calc((100% - 18px)/2));
  max-width:440px;
}
@media(max-width:649px){
  #oracyx-app .ox135-lab[data-lab-palette] .ox135-choices:has(>.ox135-picture-choice:nth-child(2):last-child):not(:has(>.ox135-audio-choice))>.ox135-picture-choice{
    width:min(100%,440px);
  }
}

/* Core 0.13.0: one continuous island, 36 weekly discoveries. */
#oracyx-app .ox156-world{overflow:hidden;padding:0!important;border:2px solid #fff!important;border-radius:30px!important;background:#eef8f4!important;box-shadow:0 7px 0 #dce9dc!important;color:#315447}
.ox156-world-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 16px;background:linear-gradient(110deg,#f8fff1,#effaf5)}
.ox156-eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;color:#7d6a91}
#oracyx-app .ox156-world-heading h2{margin:5px 0 5px;color:#3d6350;font-size:28px;line-height:1.1}
.ox156-world-heading p{margin:0;font-size:13px;color:#667b69}.ox156-guide{font-size:44px;line-height:1}
.ox156-map-toolbar{display:flex;align-items:center;gap:14px;padding:12px 26px;background:#fffdf1;border-top:1px solid #e0ebd7;border-bottom:1px solid #deead6}
.ox156-week-pill{display:flex;align-items:baseline;gap:6px;background:#6d598d;border-radius:14px;padding:7px 12px;font-weight:900;color:#fff;font-size:14px;white-space:nowrap}.ox156-week-pill small{font-size:11px;font-weight:700;opacity:.7}
.ox156-map-tally{font-size:12px;font-weight:800;color:#648060}
.ox156-map-toolbar button{margin-left:auto;padding:8px 12px;border:1px solid #d8e4d2;border-radius:12px;background:#fff;color:#476a53;font:inherit;font-size:12px;font-weight:900;cursor:pointer}.ox156-map-toolbar button span{margin-left:4px}
.ox156-map-viewport{position:relative;height:min(690px,75vh);min-height:400px;overflow:auto;scrollbar-width:thin;scrollbar-color:#80b8b5 #d5eef0;overscroll-behavior-y:contain;background:radial-gradient(ellipse at 20% 2%,#dcfff688,transparent 45%),linear-gradient(125deg,#80d0d5,#67b9cc 65%,#86c5d6);scroll-behavior:smooth}
.ox156-map-viewport:focus-visible{outline:3px solid #6d598d;outline-offset:-4px}
.ox156-island{position:relative;height:calc(var(--pathway-weeks)*370px + 290px);max-width:1050px;margin:0 auto;isolation:isolate}
.ox156-terrain{position:absolute;z-index:-1;inset:0;width:100%;height:100%;pointer-events:none}.ox156-terrain-mobile{display:none}
#oracyx-app ol.ox156-weeks,#oracyx-app ol.ox156-story-nodes{list-style:none;padding:0;margin:0}
.ox156-week{position:relative;height:370px;min-width:0;content-visibility:auto;contain-intrinsic-size:auto 370px}
.ox156-week-sign{position:absolute;top:24px;left:50%;transform:translateX(-50%) rotate(-2deg);display:flex;align-items:center;gap:7px;padding:7px 15px;border-radius:9px;background:#fff4d6;box-shadow:0 3px 0 #b2a07866;color:#68543e;font-size:13px;font-weight:950;z-index:2;white-space:nowrap}.ox156-week-sign:after{content:'';position:absolute;left:50%;top:100%;height:15px;width:5px;background:#b69a78;border-radius:0 0 3px 3px}.ox156-week-sign span{color:#9171a5;font-size:15px}
.ox156-week.is-current-week .ox156-week-sign{background:#fff1b4;outline:3px solid #fff7d280;outline-offset:3px}
.ox156-week.is-undiscovered .ox156-week-sign{background:#dce1da;color:#87948b;box-shadow:0 3px 0 #9caaa566;font-size:12px;filter:grayscale(1)}.ox156-week.is-undiscovered .ox156-week-sign:after{background:#9caaa5}.ox156-week.is-undiscovered .ox156-week-sign span{font-size:12px}
.ox156-story-node{position:absolute;top:74px;left:18%;width:18%;transform:translateX(-50%);text-align:center;z-index:3}
.ox156-story-node:nth-child(2){top:130px;left:39%}.ox156-story-node:nth-child(3){left:60%}.ox156-story-node:nth-child(4){top:130px;left:81%}
.ox156-week:nth-child(even) .ox156-story-node:nth-child(1){left:81%}.ox156-week:nth-child(even) .ox156-story-node:nth-child(2){left:60%}.ox156-week:nth-child(even) .ox156-story-node:nth-child(3){left:39%}.ox156-week:nth-child(even) .ox156-story-node:nth-child(4){left:18%}
.ox156-book{display:block;position:relative;appearance:none;border:0;padding:0;width:100%;background:none;color:#355940;font:inherit;cursor:pointer;text-align:center}
.ox156-book-cover{position:relative;display:block;height:111px;width:85px;margin:0 auto;overflow:hidden;border-radius:5px 10px 10px 5px;background:#fff8dc;box-shadow:-4px 2px 0 #fef4d1,0 11px 10px #36534633;transform:rotate(-5deg);transition:transform .18s,box-shadow .18s}
.ox156-book-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ox156-book-cover .oxapp081-cover-fallback{width:100%;height:100%;padding:6px;font-size:8px}.ox156-book-cover .oxapp081-cover-fallback strong{font-size:11px}.ox156-book-cover .oxapp081-cover-fallback i{font-size:24px}.ox156-book-cover .oxapp081-cover-fallback small,.ox156-book-cover .oxapp081-cover-fallback em{display:none}
.ox156-story-node:nth-child(even) .ox156-book-cover{transform:rotate(5deg)}
.ox156-story-node.is-next .ox156-book-cover{outline:3px solid #ffe4a1;outline-offset:5px;box-shadow:-4px 2px 0 #fff6d8,0 12px 18px #586a433d}
.ox156-book:hover .ox156-book-cover{transform:rotate(0deg) translateY(-5px)}
.ox156-book-number{position:absolute;top:79px;left:calc(50% - 58px);display:grid;place-items:center;height:27px;width:27px;background:#82649f;border:2px solid #fff6d4;border-radius:50%;color:#fff;font-size:12px;font-weight:950;box-shadow:0 2px 5px #35504044}
.ox156-story-node.is-read .ox156-book-number{background:#488668}
.ox156-book b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:175px;min-height:37px;margin:14px auto 0;padding:3px 6px;border-radius:8px;background:#ffffeacc;color:#34513f;font-size:13px;font-weight:900;line-height:1.22;text-wrap:balance}
.ox156-book small{display:block;margin:4px 0;color:#456953;font-size:10px;font-weight:800}
.ox156-game-house{appearance:none;display:block;width:88px;padding:0;margin:2px auto 0;border:0;background:none;cursor:pointer;font:inherit;color:#715488}.ox156-game-house svg{display:block;width:68px;height:64px;margin:0 auto;filter:drop-shadow(0 4px 2px #3c634a1f);transition:transform .18s}.ox156-game-house span{display:block;font-size:10px;line-height:1.25;font-weight:900;padding:2px 5px;border-radius:8px;background:#fff2d8d9}.ox156-game-house.is-open:hover svg{transform:translateY(-3px)}.ox156-game-house:disabled{cursor:default;color:#7b8c7e}.ox156-game-house:disabled svg{filter:grayscale(1);opacity:.42}.ox156-game-house:disabled span{background:#eef0dec4;font-size:9px}
.ox156-tree{position:absolute;pointer-events:none;z-index:1;width:60px;height:75px}.ox156-tree svg{width:100%;height:100%}.ox156-tree-a{left:7%;top:240px;transform:rotate(-4deg)}.ox156-tree-b{right:7%;top:40px;width:50px;height:60px}
.ox156-awaiting{position:absolute;top:150px;left:20%;right:20%;text-align:center;color:#587752;font-size:13px}
.ox156-mist{position:absolute;inset:60px 10% 0;opacity:.65;pointer-events:none}.ox156-mist i{position:absolute;top:110px;left:10%;width:45%;height:48px;background:radial-gradient(ellipse,#f5faf2aa,transparent 72%);border-radius:50%}.ox156-mist i:nth-child(2){top:190px;left:42%;width:40%}.ox156-mist i:nth-child(3){top:45px;left:42%;width:40%;height:80px}
.ox156-castle{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);width:250px;text-align:center;filter:grayscale(1);opacity:.48;color:#50635b}.ox156-castle svg{width:180px;height:160px}.ox156-castle b{display:block;font-size:16px;margin-top:3px}.ox156-castle small{display:block;font-size:10px;margin-top:4px}.ox156-castle.is-discovered{filter:none;opacity:1;color:#705789}
.ox156-map-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:14px 23px;background:#fffef4;border-top:1px solid #e0ebd7;font-size:10px;font-weight:800;color:#688267}.ox156-map-legend span{display:flex;align-items:center;gap:5px}.ox156-map-legend i{font-style:normal;font-size:17px;color:#8c68a5}.ox156-map-legend b{margin-left:auto;color:#8b6c9e}
.ox156-book:focus-visible,.ox156-game-house:focus-visible,.ox156-map-toolbar button:focus-visible{outline:3px solid #71558e;outline-offset:5px;border-radius:10px}
.ox156-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 18px;background:#fff4dc;color:#775b2e;border:1px solid #e9d5a8;border-radius:14px;font-size:12px}.ox156-preview-banner b{white-space:nowrap}.ox156-preview-banner span{font-size:11px}
@media(max-width:649px){
 #oracyx-app .ox156-world{border-radius:24px!important}.ox156-world-heading{padding:17px 17px 13px;gap:10px}#oracyx-app .ox156-world-heading h2{font-size:23px}.ox156-world-heading p{font-size:11px;line-height:1.4}.ox156-eyebrow{font-size:8px;letter-spacing:1.6px}.ox156-guide{font-size:35px}.ox156-map-toolbar{padding:10px 13px;gap:9px}.ox156-week-pill{font-size:12px;padding:6px 9px}.ox156-map-tally{font-size:10px}.ox156-map-toolbar button{font-size:10px;padding:7px 8px}.ox156-map-viewport{height:min(720px,78vh);min-height:440px}.ox156-island{height:calc(var(--pathway-weeks)*600px + 290px)}.ox156-terrain-desktop{display:none}.ox156-terrain-mobile{display:block}.ox156-week{height:600px;contain-intrinsic-size:auto 600px}.ox156-week-sign{font-size:11px;top:25px;padding:7px 13px}.ox156-story-node,.ox156-week:nth-child(even) .ox156-story-node:nth-child(1){top:82px;left:26%;width:41%}.ox156-story-node:nth-child(2),.ox156-week:nth-child(even) .ox156-story-node:nth-child(2){top:82px;left:74%}.ox156-story-node:nth-child(3),.ox156-week:nth-child(even) .ox156-story-node:nth-child(3){top:338px;left:74%}.ox156-story-node:nth-child(4),.ox156-week:nth-child(even) .ox156-story-node:nth-child(4){top:338px;left:26%}.ox156-book-cover{height:117px;width:88px}.ox156-book b{max-width:145px;font-size:12px;min-height:35px;margin-top:13px}.ox156-book small{font-size:9px}.ox156-book-number{top:87px}.ox156-game-house{width:83px;margin-top:3px}.ox156-game-house svg{width:65px;height:61px}.ox156-tree-a{left:7%;top:297px;width:46px;height:57px}.ox156-tree-b{right:8%;top:550px;width:43px;height:55px}.ox156-mist{inset:55px 10% 0}.ox156-mist i{top:160px}.ox156-mist i:nth-child(2){top:350px;height:90px}.ox156-mist i:nth-child(3){top:65px;height:140px}.ox156-map-legend{gap:7px 13px;padding:10px 15px;font-size:9px}.ox156-map-legend b{display:none}.ox156-map-legend i{font-size:15px}.ox156-preview-banner{display:block;font-size:11px}.ox156-preview-banner span{display:block;margin-top:3px}
}
@media(prefers-reduced-motion:reduce){.ox156-map-viewport{scroll-behavior:auto}.ox156-book-cover,.ox156-game-house svg{transition:none}}

.ox156-week-pagination{position:absolute;top:24px;right:12%;display:flex;align-items:center;gap:5px;z-index:4;padding:3px;border-radius:11px;background:#fffae4b3;font-size:10px;font-weight:900;color:#6d6e53}.ox156-week-pagination button{width:24px;height:24px;border:0;border-radius:8px;background:#fff8df;color:#6d598d;font:inherit;font-size:20px;cursor:pointer}.ox156-week-pagination button:disabled{opacity:.3;cursor:default}@media(max-width:649px){.ox156-week-pagination{right:6%;font-size:9px;gap:3px}.ox156-week-pagination button{width:20px;height:23px}}
#oracyx-app .is-primary-reader .ox94-spotlight-top:has(>.ox155-story-clue){height:auto;min-height:44px;max-height:90px;gap:10px}
#oracyx-app .is-primary-reader .ox94-spotlight-top>.ox155-story-clue{flex:1 1 auto;min-width:0;max-height:76px;font-size:14px}

/* Core 0.13.1: one proportionate 3D island, always-visible welcome and resume. */
#oracyx-app .ox161-dashboard-scroll{padding:12px 16px!important;overflow:hidden!important;scrollbar-gutter:auto;background:linear-gradient(135deg,#eef5ec,#f7f3ea)!important}
#oracyx-app .ox161-dashboard{width:100%;max-width:none;margin:0;height:100%;padding:0!important;display:flex!important;flex-direction:column;gap:13px;min-height:0}
.ox161-dashboard-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.55fr);gap:14px;flex:none;min-width:0}
#oracyx-app .ox161-dashboard-top .ox122-story-welcome{padding:15px 23px;border-radius:23px;box-shadow:0 4px 0 #d9e4d5;min-height:110px;gap:12px}
#oracyx-app .ox161-dashboard-top .ox122-story-welcome h1{font-size:29px;margin:5px 0 3px;line-height:1.1}.ox161-dashboard-top .ox122-story-welcome p{font-size:14px}.ox161-dashboard-top .ox122-grade{font-size:9px;letter-spacing:1.5px}.ox161-dashboard-top .ox122-journey{margin-top:8px;gap:6px}.ox161-dashboard-top .ox122-journey span{font-size:10px;padding:3px 8px}.ox161-dashboard-top .ox122-story-art{flex-basis:102px}.ox161-dashboard-top .ox122-story-art svg{width:100px;height:75px}.ox161-dashboard-top .ox122-sun{font-size:40px;top:-17px;left:55px}
.ox161-recent{display:grid;grid-template-columns:57px minmax(0,1fr);gap:13px;align-items:center;padding:12px 15px;border-radius:23px;background:#fffdfa;border:2px solid #fff;box-shadow:0 4px 0 #e1e5d8;cursor:pointer;min-width:0;color:#5d486f}.ox161-recent-cover{position:relative;height:77px;width:57px;overflow:hidden;border-radius:5px 8px 8px 5px;box-shadow:-3px 2px 0 #f1e4c9,0 7px 10px #35434926;background:#f2e9d5}.ox161-recent-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ox161-recent small{font-size:8px;letter-spacing:1.5px;font-weight:900;color:#8f8295}.ox161-recent h3{font-size:16px;line-height:1.15;margin:5px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ox161-recent span{font-size:10px;font-weight:900;color:#85709b}.ox161-recent-progress{height:4px;background:#eee6f4;border-radius:8px;margin-bottom:7px;overflow:hidden}.ox161-recent-progress i{display:block;height:100%;background:#9479b2;border-radius:8px}.ox161-recent-empty{display:grid;place-items:center;font-size:12px;background:#fffdf6;border-radius:20px;color:#8b8590}
.ox161-world{display:grid;grid-template-columns:minmax(300px,1fr) minmax(350px,.88fr);min-height:0;flex:1;gap:16px;overflow:hidden}
.ox161-camera{position:relative;display:grid;place-items:center;overflow:hidden;min-height:0;border-radius:25px;background:radial-gradient(ellipse,#52b7bc,#1b7c99 65%,#176584);box-shadow:0 6px 0 #b9d6d3;border:2px solid #fff9;isolation:isolate}
.ox161-island-world{position:relative;aspect-ratio:2/3;width:100%;height:auto;flex:none;max-width:none;max-height:none;overflow:visible}.ox161-island-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:none!important}.ox161-island-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ox161-camera-title{position:absolute;top:18px;left:20px;z-index:6;background:#ecfffae0;border:1px solid #ffffff8f;box-shadow:0 5px 25px #165d7733;border-radius:16px;padding:12px 15px;color:#235063;backdrop-filter:blur(8px)}.ox161-camera-title>span{font-size:7px;font-weight:900;letter-spacing:1.8px;color:#64838c}.ox161-camera-title h2{font-size:25px!important;line-height:1.1;margin:4px 0!important;color:#254f58!important;font-weight:800}.ox161-camera-title small{font-size:9px;color:#547f87}
.ox161-map-hint{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);z-index:7;padding:7px 12px;border-radius:12px;background:#e8fff6d9;border:1px solid #ffffff7a;color:#345f65;font-size:9px;font-weight:800;white-space:nowrap;backdrop-filter:blur(8px)}.ox161-map-hint span{color:#917093;margin-right:4px}
#oracyx-app .ox161-stages{position:absolute;inset:0;list-style:none;margin:0;padding:0}.ox161-stage{position:absolute;z-index:2;transform:translate(-50%,-50%)}.ox161-stage button{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;padding:0;border:1.5px solid #f6f8ea;background:#89938adb;color:#fafff9;font:inherit;font-size:8px;font-weight:900;box-shadow:0 2px 4px #23413555}.ox161-stage.is-released button{background:#9874b2;color:white;cursor:pointer}.ox161-stage.is-read button{background:#528a68}.ox161-stage.is-selected{z-index:3}.ox161-stage.is-selected button{width:27px;height:27px;background:#8760a6;color:#fff8dd;font-size:11px;border:2px solid #ffe0a2;box-shadow:0 0 0 5px #ffe8b242,0 4px 9px #26494088}.ox161-stage.is-locked button{background:#a1aba499;border-color:#dfe5e299;color:#eaf0e9;cursor:default}
.ox161-book-anchor{position:absolute;z-index:5;transform:translate(-50%,-50%);width:43px;height:53px;display:flex;align-items:flex-start}.ox161-mini-book{position:relative;appearance:none;width:25px;height:34px;padding:0;border:0;background:none;cursor:pointer;transform:rotate(-5deg);filter:drop-shadow(0 4px 2px #314d4255)}.ox161-mini-cover{display:block;position:relative;width:25px;height:34px;border-radius:2px 4px 4px 2px;background:#fff1d1;overflow:hidden;border-left:2px solid #f4e3bc}.ox161-mini-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ox161-mini-cover .oxapp081-cover-fallback{font-size:8px!important}.ox161-mini-cover .oxapp081-cover-fallback small,.ox161-mini-cover .oxapp081-cover-fallback strong,.ox161-mini-cover .oxapp081-cover-fallback em{display:none!important}.ox161-mini-number{position:absolute;left:-5px;bottom:-5px;width:12px;height:12px;display:grid;place-items:center;border-radius:50%;background:#81629e;color:#fff;font-size:7px;border:1px solid #ffedb3}.ox161-mini-house{appearance:none;position:absolute;width:35px;height:34px;border:0;padding:0;left:15px;top:23px;background:none;cursor:pointer;filter:drop-shadow(0 3px 1px #315e4455)}.ox161-mini-house img{width:100%;height:100%;object-fit:contain;max-width:none!important}.ox161-mini-house:disabled{filter:grayscale(1);opacity:.55;cursor:default}
.ox161-castle{position:absolute;left:53%;top:11%;transform:translate(-50%,-50%);width:75px;z-index:3;text-align:center;filter:grayscale(1);opacity:.5}.ox161-castle img{width:100%;height:auto;max-width:none!important;filter:drop-shadow(0 5px 2px #30534255)}.ox161-castle span{display:block;font-size:7px;color:#ecf6ef;text-shadow:0 1px 3px #254738;font-weight:900;margin-top:-2px}.ox161-castle.is-open{filter:none;opacity:1}
.ox161-week-panel{display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0;overflow:auto;border-radius:25px;background:#faf8ed;border:2px solid #fff;padding:18px;box-shadow:0 6px 0 #dce4d4}
.ox161-week-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:none}.ox161-week-heading>div>span{font-size:8px;letter-spacing:1.6px;color:#a391aa;font-weight:900}.ox161-week-heading h2{font-size:25px!important;line-height:1;margin:5px 0 6px!important;color:#705782!important}.ox161-week-heading h2 small{font-size:12px;color:#b3a0bc}.ox161-week-heading p{margin:0;font-size:11px;color:#71836b;font-weight:800}.ox161-week-heading button{padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #e4d9e9;font:inherit;font-size:10px;font-weight:900;color:#806790;cursor:pointer;white-space:nowrap}
#oracyx-app .ox161-story-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(175px,1fr));list-style:none;margin:0;padding:0;gap:12px;flex:1;min-height:0}.ox161-story-card{position:relative;min-width:0;border-radius:19px;background:linear-gradient(145deg,#fffdf7,#f4efd9);border:1px solid #e9e3ce;box-shadow:0 4px 0 #e5e2d0;overflow:hidden}.ox161-story-card:nth-child(2){background:linear-gradient(145deg,#fffdf9,#eee5f3);border-color:#e4d9ed}.ox161-story-card:nth-child(3){background:linear-gradient(145deg,#fdfffb,#e9f1e0);border-color:#dce7d0}.ox161-story-card:nth-child(4){background:linear-gradient(145deg,#fffdf8,#f7e9d4);border-color:#eeddc4}.ox161-story-book{display:grid;grid-template-columns:75px minmax(0,1fr);gap:12px;width:100%;height:100%;padding:18px 13px;text-align:left;border:0;background:none;font:inherit;color:#624d6b;cursor:pointer;align-content:start;align-items:start}.ox161-cover{position:relative;display:block;height:102px;width:75px;overflow:hidden;border-radius:4px 8px 8px 4px;transform:rotate(-5deg);box-shadow:-3px 2px 0 #f5e5bf,0 8px 12px #49534738;background:#fff6da}.ox161-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ox161-cover .oxapp081-cover-fallback{font-size:12px}.ox161-cover .oxapp081-cover-fallback small,.ox161-cover .oxapp081-cover-fallback em{display:none}.ox161-cover .oxapp081-cover-fallback strong{font-size:10px;padding:4px}.ox161-card-copy{display:block;min-width:0;position:relative;z-index:2}.ox161-card-copy>small{font-size:7px;letter-spacing:1.2px;color:#a694ab;font-weight:900}.ox161-card-copy>b{display:block;margin:7px 0 9px;font-size:14px;line-height:1.2;text-wrap:balance;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.ox161-card-copy>span{display:block;font-size:8px;font-weight:900;color:#96809f}.ox161-house{position:absolute;right:13px;bottom:9px;width:87px;appearance:none;padding:0;border:0;background:none;text-align:center;font:inherit;cursor:pointer;z-index:3;color:#7f6193}.ox161-house img{display:block;width:87px;height:79px;object-fit:contain;max-width:none!important;filter:drop-shadow(0 5px 2px #514a5b33)}.ox161-house span{display:block;margin-top:-2px;font-size:8px;font-weight:900;color:#8f779e}.ox161-house:disabled{cursor:default;color:#8e9b8c}.ox161-house:disabled img{filter:grayscale(1);opacity:.45}.ox161-house:disabled span{color:#98a08f}.ox161-house.is-open:hover img{transform:translateY(-3px)}.ox161-story-book:hover .ox161-cover{transform:rotate(0) translateY(-3px)}
.ox161-no-stories{grid-column:1/-1;display:grid;place-items:center;padding:30px;color:#a091a8;font-size:13px;text-align:center}.ox161-week-footer{display:flex;justify-content:center;gap:20px;flex:none;font-size:10px;color:#929580;font-weight:800;padding-top:6px}.ox161-more-stories{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#857490}.ox161-more-stories button{border:1px solid #e4d9e9;border-radius:10px;background:white;color:#7f6990;padding:7px;font:inherit;font-weight:800;cursor:pointer}.ox161-more-stories button:disabled{opacity:.35;cursor:default}.ox161-preview .ox156-preview-banner{padding:5px 12px}
.ox161-recent:focus-visible,.ox161-story-book:focus-visible,.ox161-house:focus-visible,.ox161-mini-book:focus-visible,.ox161-mini-house:focus-visible,.ox161-stage button:focus-visible{outline:3px solid #bc91d9;outline-offset:3px}
@media(min-width:1450px){.ox161-story-book{grid-template-columns:95px minmax(0,1fr);padding:22px 19px;gap:17px}.ox161-cover{width:95px;height:128px}.ox161-card-copy>b{font-size:17px}.ox161-house{width:112px;right:18px;bottom:10px}.ox161-house img{width:112px;height:101px}.ox161-house span{font-size:10px}}
@media(max-width:1000px) and (min-width:650px){.ox161-world{grid-template-columns:minmax(270px,.8fr) minmax(320px,1fr);gap:10px}.ox161-week-panel{padding:13px;gap:9px}.ox161-story-book{display:block;padding:12px}.ox161-cover{width:66px;height:90px}.ox161-card-copy{margin-top:10px}.ox161-card-copy>b{font-size:12px;-webkit-line-clamp:2;margin:5px 0}.ox161-house{top:12px;right:9px;bottom:auto;width:64px}.ox161-house img{width:64px;height:62px}.ox161-house span{font-size:7px}.ox161-dashboard-top{grid-template-columns:minmax(0,1fr) minmax(240px,.6fr)}.ox161-camera-title{padding:9px 11px;left:11px;top:12px}.ox161-camera-title h2{font-size:20px!important}.ox161-camera-title small{font-size:8px}}
@media(max-width:649px){
 #oracyx-app .ox161-dashboard-scroll{padding:8px 10px!important}#oracyx-app .ox161-dashboard{gap:10px}.ox161-dashboard-top{grid-template-columns:minmax(0,1fr) minmax(135px,.85fr);gap:8px}#oracyx-app .ox161-dashboard-top .ox122-story-welcome{min-height:93px;padding:11px 12px;border-radius:18px;gap:0}#oracyx-app .ox161-dashboard-top .ox122-story-welcome h1{font-size:20px;margin:5px 0}.ox161-dashboard-top .ox122-story-welcome p{font-size:9px;line-height:1.25}.ox161-dashboard-top .ox122-grade{font-size:6px;letter-spacing:.9px}.ox161-dashboard-top .ox122-journey{margin-top:6px;gap:3px}.ox161-dashboard-top .ox122-journey span{font-size:7px;padding:2px 4px}.ox161-dashboard-top .ox122-story-art{display:none}.ox161-recent{grid-template-columns:36px minmax(0,1fr);padding:9px 8px;gap:8px;border-radius:18px}.ox161-recent-cover{width:36px;height:50px}.ox161-recent small{font-size:6px;letter-spacing:.8px}.ox161-recent h3{font-size:10px;margin:4px 0 5px}.ox161-recent span{font-size:7px}.ox161-recent-progress{height:3px;margin-bottom:5px}.ox161-world{display:block;overflow:auto;border-radius:20px}.ox161-camera{height:460px;border-radius:20px;box-shadow:none}.ox161-camera-title{top:11px;left:11px;padding:8px 10px;border-radius:12px}.ox161-camera-title h2{font-size:21px!important}.ox161-camera-title>span{font-size:6px}.ox161-camera-title small{font-size:8px}.ox161-map-hint{font-size:8px;bottom:9px;padding:6px 9px}.ox161-week-panel{margin-top:10px;padding:14px;border-radius:20px;box-shadow:none;overflow:visible}.ox161-week-heading h2{font-size:23px!important}#oracyx-app .ox161-story-cards{grid-template-rows:repeat(2,185px);gap:9px;flex:none}.ox161-story-book{display:block;padding:12px}.ox161-cover{width:62px;height:84px}.ox161-card-copy{margin-top:12px}.ox161-card-copy>b{font-size:12px;-webkit-line-clamp:2;margin:5px 0 7px}.ox161-house{top:18px;right:5px;bottom:auto;width:60px}.ox161-house img{width:60px;height:56px}.ox161-house span{font-size:7px}.ox161-stage button{width:15px;height:15px;font-size:7px}.ox161-stage.is-selected button{width:24px;height:24px;font-size:10px}.ox161-castle{width:64px}.ox156-preview-banner{padding:5px 9px;font-size:9px;flex:none}.ox156-preview-banner span{font-size:8px;margin-top:2px}
}
@media(max-height:640px) and (min-width:650px){#oracyx-app .ox161-dashboard-top .ox122-story-welcome{min-height:85px;padding:10px 17px}.ox161-dashboard-top .ox122-journey{display:none}.ox161-recent-cover{height:62px;width:46px}.ox161-recent{grid-template-columns:46px minmax(0,1fr);padding:8px 13px}.ox161-week-panel{padding:11px;gap:8px}#oracyx-app .ox161-story-cards{grid-template-rows:repeat(2,minmax(135px,1fr));gap:8px}.ox161-cover{width:52px;height:71px}.ox161-story-book{grid-template-columns:52px minmax(0,1fr);padding:10px;gap:8px}.ox161-card-copy>b{font-size:11px;-webkit-line-clamp:2;margin:4px 0}.ox161-house{width:56px;bottom:6px;right:9px}.ox161-house img{width:56px;height:50px}.ox161-house span{font-size:7px}.ox161-camera-title h2{font-size:19px!important}.ox161-week-footer{font-size:8px;padding-top:0}.ox161-week-heading h2{font-size:20px!important}}

/* Core 0.13.2: empty future land, circular released stages, seamless ocean. */
#oracyx-app .ox161-stage.is-locked{display:none!important}
#oracyx-app .ox161-stage button{--stage-size:18px;width:var(--stage-size)!important;height:var(--stage-size)!important;min-width:0!important;min-height:0!important;max-width:var(--stage-size)!important;max-height:var(--stage-size)!important;padding:0!important;line-height:1!important;box-sizing:border-box!important;aspect-ratio:1!important;border-radius:50%!important;appearance:none}
#oracyx-app .ox161-stage.is-selected button{--stage-size:27px}
#oracyx-app .ox161-camera{background:linear-gradient(180deg,#307ab0 0%,#0d8aa9 25%,#3199a6 50%,#02658f 75%,#054a79 100%)}
#oracyx-app .ox161-island-world{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%)}
@media(max-width:649px){#oracyx-app .ox161-stage button{--stage-size:15px}#oracyx-app .ox161-stage.is-selected button{--stage-size:24px}}

/* 0.14: region gates on the world map; stories inside a zoomed region. */
#oracyx-app .ox161-world{grid-template-columns:minmax(300px,1.8fr) minmax(260px,.7fr)}
#oracyx-app .ox161-stage button.ox164-portal{--stage-size:76px!important;display:block!important;aspect-ratio:auto!important;height:92px!important;max-height:92px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible;color:#fff8de;font:inherit;filter:drop-shadow(0 5px 3px #193f4b70)}
.ox164-portal img{display:block;width:76px;height:76px;object-fit:contain;max-width:none!important}.ox164-portal span{display:block;font-size:10px;font-weight:900;text-shadow:0 2px 3px #173e40;background:#315245d9;border:1px solid #fff3ad75;padding:4px 7px;border-radius:12px;white-space:nowrap}.ox164-portal:hover{transform:translateY(-4px)}
.ox164-explorer{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:22px 25px;border-radius:24px;background:linear-gradient(150deg,#fff9e9,#edf3df);border:2px solid white;color:#56674f;overflow:auto}.ox164-explorer>span{font-size:9px;font-weight:900;letter-spacing:2px;color:#8b729b}.ox164-explorer h2{font-size:30px!important;line-height:1.15;color:#634b77!important;margin:12px 0!important}.ox164-explorer p{font-size:13px;line-height:1.6;max-width:250px}.ox164-explorer>button{border:0;background:none;font:inherit;color:#73548b;cursor:pointer;padding:0}.ox164-explorer>button img{display:block;width:155px;height:150px;object-fit:contain;margin:auto;filter:drop-shadow(0 8px 6px #56654a26)}.ox164-explorer>button span{display:block;background:#82639b;border:2px solid #fff1ce;border-radius:16px;color:white;font-weight:900;padding:12px 18px;font-size:13px}.ox164-explorer>small{font-size:10px;max-width:230px;line-height:1.5;margin:13px 0;color:#8c987d}.ox164-map-house button{background:none;border:0;font:inherit;font-size:11px;color:#73548b;cursor:pointer}.ox164-map-house img{display:block;width:92px;height:85px;object-fit:contain;margin:auto}.ox164-map-house b{display:block}
.ox164-region{position:relative;isolation:isolate;flex:1;min-height:0;overflow:hidden;border-radius:25px;border:2px solid #fff9;background:#34694c;box-shadow:0 5px 0 #b9d6c0}.ox164-region-background{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(#28574222,#24492a66),var(--region-image);background-size:100% 100%,300% auto;background-position:center,var(--region-x) var(--region-y);background-repeat:no-repeat}.ox164-region-scroll{height:100%;overflow:auto;padding:22px clamp(16px,5vw,75px) 28px;scrollbar-gutter:stable}.ox164-region-heading{display:flex;align-items:center;gap:25px;justify-content:space-between;margin-bottom:22px;color:#fff8da;text-shadow:0 2px 5px #1d423d80}.ox164-region-heading>button{border:1px solid #fff7caaa;background:#fff7e5e8;border-radius:14px;padding:10px 15px;font:inherit;font-size:12px;font-weight:900;color:#584975;cursor:pointer}.ox164-region-heading>div{text-align:center}.ox164-region-heading small{font-size:8px;letter-spacing:2px;font-weight:900}.ox164-region-heading h2{font-size:28px!important;color:#fff8da!important;margin:5px 0!important;line-height:1.1}.ox164-region-heading span{font-size:11px;font-weight:800}.ox164-week-badge{border:1px solid #fff4c87a;background:#234f457a;border-radius:14px;padding:11px;white-space:nowrap}
#oracyx-app .ox164-books{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;padding:0;margin:0;list-style:none}.ox164-book-card{min-width:0}.ox164-book-card>button{display:block;width:100%;height:100%;padding:15px 12px 14px;background:#fff9e6e8;border:1px solid #fff6d4;border-radius:20px;font:inherit;color:#5f4971;cursor:pointer;text-align:center;box-shadow:0 7px 20px #153c4438}.ox164-large-cover{position:relative;display:block;margin:0 auto;width:min(100%,170px);aspect-ratio:3/4;border-radius:5px 12px 12px 5px;overflow:hidden;background:#ffefcb;box-shadow:-5px 2px 0 #e5d4b5,0 9px 18px #273f4c4d;transform:rotate(-3deg);transition:transform .2s}.ox164-large-cover>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ox164-book-card>button:hover .ox164-large-cover{transform:rotate(0) translateY(-3px)}.ox164-book-copy{display:block;margin-top:15px}.ox164-book-copy small{display:block;font-size:8px;letter-spacing:1.5px;font-weight:900;color:#94849b}.ox164-book-copy b{display:block;font-size:15px;line-height:1.2;margin:7px 0 12px;text-wrap:balance}.ox164-book-copy em{display:block;font-size:10px;font-style:normal;font-weight:900;color:#8c709c}
.ox164-game-house{max-width:850px;margin:22px auto 0;padding:6px 18px 18px;border-radius:22px;background:#faf5e9dc;border:1px solid #fff8db;box-shadow:0 6px 20px #21413226}.ox164-game-house>button{display:flex;align-items:center;justify-content:center;gap:18px;margin:auto;border:0;background:none;font:inherit;color:#654979;cursor:pointer}.ox164-game-house>button img{width:115px;height:105px;object-fit:contain;max-width:none!important}.ox164-game-house>button span{text-align:left}.ox164-game-house b{display:block;font-size:22px}.ox164-game-house small{display:block;font-size:11px;margin-top:6px}.ox164-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ox164-games[hidden]{display:none!important}.ox164-games>button{font:inherit;text-align:left;border:1px solid #b5a5c4;border-radius:12px;background:#fffdf9;color:#715189;padding:11px 13px;font-size:12px;font-weight:900;cursor:pointer}.ox164-games>button small{font-size:9px;font-weight:700}.ox164-games>button:disabled{background:#eceee7;border-color:#d6dccf;color:#8a9586;cursor:default}
.ox164-explorer button:focus-visible,.ox164-region button:focus-visible{outline:3px solid #ffdf82;outline-offset:4px}
@media(max-width:1000px){#oracyx-app .ox164-books{grid-template-columns:repeat(2,minmax(0,1fr))}.ox164-region-heading{gap:10px}.ox164-region-heading h2{font-size:23px!important}.ox164-region-scroll{padding:18px 24px}.ox164-explorer h2{font-size:24px!important}}
@media(max-width:649px){#oracyx-app .ox161-world{display:flex;flex-direction:column;overflow:hidden;gap:0}.ox161-camera{flex:1;height:auto;min-height:240px;width:100%;border-radius:20px}.ox164-explorer{flex:none;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:9px;padding:8px 12px;margin-top:8px;border-radius:18px;overflow:visible}.ox164-explorer>span,.ox164-explorer h2,.ox164-explorer p,.ox164-explorer>small,.ox164-explorer>button img{display:none}.ox164-explorer>button span{font-size:11px;padding:10px 13px}.ox164-map-house img{width:50px;height:45px}.ox164-map-house button{font-size:8px;display:flex;align-items:center;gap:5px}.ox164-portal img{width:65px;height:65px}#oracyx-app .ox161-stage button.ox164-portal{--stage-size:65px!important;height:80px!important;max-height:80px!important}.ox164-portal span{font-size:9px}.ox164-region{border-radius:18px}.ox164-region-scroll{padding:12px 14px 22px}.ox164-region-heading{flex-wrap:wrap;margin-bottom:14px;gap:10px}.ox164-region-heading>button{font-size:10px;padding:8px 11px}.ox164-region-heading>div{order:3;width:100%}.ox164-region-heading h2{font-size:22px!important}.ox164-region-heading small{font-size:7px}#oracyx-app .ox164-books{gap:12px}.ox164-book-card>button{padding:11px 9px;border-radius:15px}.ox164-large-cover{width:min(100%,130px)}.ox164-book-copy{margin-top:12px}.ox164-book-copy b{font-size:12px;margin:6px 0 8px}.ox164-book-copy em{font-size:9px}.ox164-game-house{padding:4px 12px 12px;margin-top:17px}.ox164-game-house>button img{width:83px;height:78px}.ox164-game-house b{font-size:18px}.ox164-game-house small{font-size:9px}.ox164-games{grid-template-columns:1fr}.ox164-region-background{background-size:100% 100%,400% auto}}
.ox164-video-start{position:absolute;z-index:9;left:50%;bottom:18px;transform:translateX(-50%);font:inherit;font-size:12px;font-weight:900;border:1px solid #fff;border-radius:18px;background:#fff9e6ed;color:#684c81;padding:11px 18px;cursor:pointer;max-width:90%;box-shadow:0 4px 14px #203c4a33}.ox164-video-start[hidden]{display:none!important}.ox164-video-start:disabled{cursor:default;font-size:10px}
.ox164-terrain-house{position:absolute;z-index:4;transform:translate(-50%,-50%);width:68px;filter:grayscale(1);opacity:.7}.ox164-terrain-house.is-open{filter:none;opacity:1}.ox164-terrain-house button{width:100%;padding:0;border:0;background:none;font:inherit;cursor:pointer;color:#fff8de}.ox164-terrain-house img{display:block;width:68px;height:62px;object-fit:contain;max-width:none!important;filter:drop-shadow(0 4px 3px #24484266)}.ox164-terrain-house span{display:block;font-size:8px;font-weight:900;white-space:nowrap;text-shadow:0 1px 3px #253d2b}.ox164-terrain-house button:focus-visible{outline:3px solid #ffdf82;outline-offset:4px}
@media(max-width:649px){.ox164-explorer{justify-content:center}.ox164-terrain-house,.ox164-terrain-house img{width:57px}.ox164-terrain-house img{height:53px}}
@media(min-width:1001px){.ox164-large-cover{width:clamp(110px,14vh,170px);max-width:100%}.ox164-region-scroll{padding-top:16px;padding-bottom:16px}.ox164-region-heading{margin-bottom:16px}.ox164-game-house{margin-top:18px;padding-bottom:10px}.ox164-game-house>button img{width:96px;height:88px}}

/* 0.14.3: landscape island, stable viewport and bounded reading column. */
#oracyx-app{max-width:100vw;min-width:0}
#oracyx-app .ox161-world{grid-template-columns:minmax(0,3fr) minmax(210px,1fr);min-width:0}
#oracyx-app .ox161-island-world{aspect-ratio:3/2;width:100%;height:auto;min-width:0;mask-image:none;-webkit-mask-image:none}
#oracyx-app .ox161-island-art{object-fit:contain}
#oracyx-app .ox161-castle{left:84.3%;top:15%}
#oracyx-app .ox164-portal,#oracyx-app .ox164-terrain-house button{transform-origin:50% 80%;transition:filter .18s ease}
#oracyx-app .ox164-portal:hover,#oracyx-app .ox164-terrain-house button:hover{transform:none}
#oracyx-app .ox164-game-house>button img,#oracyx-app .ox161-house img{transition:filter .18s ease;transform-origin:center 80%}
#oracyx-app .ox164-game-house>button:hover img,#oracyx-app .ox161-house.is-open:hover img{transform:none}
#oracyx-app .ox94-reading{padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right));min-width:0}
#oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxprimary092-open-book{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;overflow:hidden}
#oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxprimary092-word-page{position:relative;grid-column:2;grid-row:1;display:flex;flex-direction:column;justify-content:safe center;width:100%;height:100%;min-width:0;min-height:0;max-height:100%;padding:clamp(12px,2.3vw,34px);overflow:auto}
#oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxapp081-story-text{flex:0 1 auto;width:100%;max-width:100%;min-width:0;min-height:0;white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:clamp(22px,2.3vw,36px);line-height:1.45;letter-spacing:normal;overflow:auto}
#oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxapp081-story-text p{margin:0 0 .6em;max-width:100%;white-space:normal}
#oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxapp081-story-text span{white-space:normal;overflow-wrap:anywhere}
#oracyx-app .ox94-reading .oxprimary092-open-book.is-picture-only{grid-template-columns:minmax(0,1fr)}
#oracyx-app .ox94-reading .oxprimary092-open-book.is-picture-only .oxprimary092-word-page{display:none}
@media(orientation:portrait) and (max-width:649px){
 #oracyx-app .ox161-world{display:flex;flex-direction:column;min-height:0}
 #oracyx-app .ox161-camera{min-height:0;flex:1}
 #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxprimary092-open-book{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr)}
 #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxprimary092-word-page{grid-column:1;grid-row:2;padding:12px 16px;justify-content:safe center}
 #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxapp081-story-text{font-size:clamp(20px,5.8vw,25px);line-height:1.4}
 #oracyx-app .ox94-reading .oxprimary092-picture-page:after{background:linear-gradient(180deg,transparent 20%,rgba(255,244,213,.15) 65%,rgba(255,244,213,.6))}
}
@media(orientation:landscape) and (max-height:520px){
 #oracyx-app .oxapp081-reader-header{padding-top:max(4px,env(safe-area-inset-top));padding-bottom:4px}
 #oracyx-app .oxapp081-reader-title b{font-size:14px}
 #oracyx-app .oxapp081-reader-title small{display:none}
 #oracyx-app .oxapp081-reader-footer{padding-top:4px;padding-bottom:max(4px,env(safe-area-inset-bottom))}
 #oracyx-app .oxapp081-reader-footer button{min-height:44px;height:44px;font-size:13px}
 #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxprimary092-word-page{padding:10px 14px;gap:8px}
 #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxapp081-story-text{font-size:clamp(18px,2.4vw,24px);line-height:1.35}
 #oracyx-app .ox161-dashboard-top .ox122-story-welcome{min-height:72px;padding:8px 14px}
 #oracyx-app .ox161-camera-title{top:8px;left:8px;padding:6px 9px}
 #oracyx-app .ox161-camera-title h2{font-size:17px!important}
 #oracyx-app .ox164-explorer{padding:10px}
 #oracyx-app .ox164-explorer>button img{height:70px;width:80px}
 #oracyx-app .ox164-explorer h2{font-size:19px!important;margin:5px 0!important}
 #oracyx-app .ox164-explorer p,#oracyx-app .ox164-explorer>small{display:none}
}
@media(prefers-reduced-motion:reduce){#oracyx-app .ox164-portal,#oracyx-app .ox164-terrain-house button,#oracyx-app .ox164-game-house>button img{transition:none}}

/* 0.14.4: grounded buildings and purple light without movement. */
#oracyx-app .ox164-portal:hover,#oracyx-app .ox164-portal:focus-visible,
#oracyx-app .ox164-terrain-house button:hover,#oracyx-app .ox164-terrain-house button:focus-visible{transform:none;filter:drop-shadow(0 0 6px #b66bff) drop-shadow(0 0 13px #933dff)}
#oracyx-app .ox164-terrain-house:has(button:hover),#oracyx-app .ox164-terrain-house:has(button:focus-visible){filter:none;opacity:1}
#oracyx-app .ox164-game-house>button:hover img,#oracyx-app .ox164-game-house>button:focus-visible img,#oracyx-app .ox161-house.is-open:hover img{transform:none;filter:drop-shadow(0 0 6px #b66bff) drop-shadow(0 0 13px #933dff)}

/* Preserve mastered vocabulary visibly between retries. */
#oracyx-app .ox135-vocab-target.is-correct,#oracyx-app [data-lab-target].is-correct{outline:3px solid #63a77f;outline-offset:2px;opacity:1}
#oracyx-app .ox135-vocab-target.is-correct .ox135-drop-slot{background:#d4efdd;color:#285c40}

/* 0.14.7: soft drifting fog, fixed discovery masks and motion accessibility. */
.ox147-fog-clouds{pointer-events:none;transform-box:view-box;transform-origin:center;will-change:transform}
.ox147-fog-layer-1{animation:ox147-fog-drift 24s ease-in-out infinite alternate;opacity:.86}
.ox147-fog-layer-2{animation:ox147-fog-drift 31s ease-in-out -12s infinite alternate-reverse;opacity:.74}
.ox147-fog-layer-3{animation:ox147-fog-drift 38s ease-in-out -20s infinite alternate;opacity:.65}
.ox161-reveal-region ellipse{transform-box:fill-box;transform-origin:center;animation:ox147-fog-disperse 1.4s ease-out both}
@keyframes ox147-fog-drift{from{transform:translate(-18px,-6px)}to{transform:translate(18px,9px)}}
@keyframes ox147-fog-disperse{from{transform:scale(.06)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.ox147-fog-clouds,.ox161-reveal-region ellipse{animation:none;will-change:auto}}

/* 0.14.8: silent, seamless island footage below the fog and interactive map. */
#oracyx-app .ox148-island-motion{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;max-width:none;display:block}
@media(prefers-reduced-motion:reduce){#oracyx-app .ox148-island-motion{display:none}}

/* 0.14.9: readable low mist, synchronous bright sky foreground, map fullscreen. */
#oracyx-app .ox161-island-world{isolation:isolate}
#oracyx-app .ox149-island-sky{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:lighten;z-index:2}
#oracyx-app .ox149-map-full{position:absolute;right:14px;top:14px;z-index:10;padding:10px 14px;border:1px solid #ffffff99;border-radius:14px;background:#fff9eced;color:#52317b;font-family:inherit;font-size:13px;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:0 3px 12px #24484233}
#oracyx-app .ox161-camera.is-map-full149{position:fixed;inset:0;z-index:99999;width:100vw;height:100dvh;max-height:none;min-height:0;border-radius:0;background:#075e84;display:flex;align-items:center;justify-content:center;padding:0;overflow:hidden}
#oracyx-app .is-map-full149 .ox161-island-world{flex:none;margin:auto}
@media(prefers-reduced-motion:reduce){#oracyx-app .ox149-island-sky{display:none}}

/* 0.14.11: unique terrain landmarks and birds above all map objects. */
#oracyx-app .ox149-island-sky{mix-blend-mode:normal;z-index:8}
#oracyx-app .ox151-stage{z-index:4}
#oracyx-app .ox151-stage.is-selected{z-index:5}
#oracyx-app .ox151-stage button.ox151-landmark{display:flex;flex-direction:column;align-items:center;width:82px!important;height:auto!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;min-width:44px!important;min-height:44px!important;border:0!important;border-radius:0!important;padding:0;background:none!important;box-shadow:none!important;font:inherit;cursor:pointer;transform:none;transition:filter .18s ease}
#oracyx-app .ox151-landmark-art{display:block;width:82px;height:82px;flex:none;background-size:600% 600%;background-repeat:no-repeat;filter:drop-shadow(0 4px 3px #183d3766)}
#oracyx-app .ox151-week-label{display:block;padding:3px 7px;border-radius:8px;background:#243e37b8;color:#fff9e9;font-size:10px;font-weight:800;line-height:1.2;white-space:nowrap}
#oracyx-app .ox151-landmark:hover .ox151-landmark-art,#oracyx-app .ox151-landmark:focus-visible .ox151-landmark-art{filter:drop-shadow(0 0 8px #bb63ff) drop-shadow(0 0 14px #8634d5)}
#oracyx-app .ox151-final-stage.is-locked{display:block!important;filter:grayscale(1);opacity:.38}
#oracyx-app .ox164-explorer .ox151-landmark-art{width:144px;height:144px}
#oracyx-app .ox164-explorer .ox151-week-label{display:none}
@media(max-width:649px){#oracyx-app .ox151-stage button.ox151-landmark{width:54px!important}#oracyx-app .ox151-stage .ox151-landmark-art{width:54px;height:54px}#oracyx-app .ox151-week-label{font-size:8px;padding:2px 5px}}

/* 0.14.12: paired video layers, clear local discoveries and persistent map zoom. */
#oracyx-app .ox152-island-base{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0}
#oracyx-app .ox152-island-base.is-ready{opacity:1}
#oracyx-app .ox161-island-overlay{z-index:2}
#oracyx-app .ox161-stages{z-index:4}
#oracyx-app .ox149-island-sky{z-index:8}
@media(prefers-reduced-motion:reduce){#oracyx-app .ox152-island-base{display:none}}

/* 0.14.14: compact mobile library, proportionate map and reachable weeks. */
#oracyx-app .ox154-mobile-weeks{display:none}
#oracyx-app .ox151-landmark{touch-action:manipulation}
@media(max-width:649px){
 #oracyx-app .ox161-dashboard-scroll{overflow-y:auto!important;overflow-x:hidden!important}
 #oracyx-app .ox161-world{overflow:visible;justify-content:center;gap:8px;flex:1;min-width:0}
 #oracyx-app .ox161-camera:not(.is-map-full149){flex:0 0 auto;width:100%;height:auto;min-height:0;aspect-ratio:3/2}
 #oracyx-app .ox164-explorer{display:block;margin:0;padding:7px 8px}
 #oracyx-app .ox164-explorer>button{display:none}
 #oracyx-app .ox164-explorer .ox151-landmark-art{display:none}
 #oracyx-app .ox154-mobile-weeks{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
 #oracyx-app .ox154-mobile-weeks button{flex:1 0 64px;min-height:44px;padding:8px;border:1px solid #decee8;border-radius:12px;background:#f5edf9;color:#65467e;font:inherit;font-size:11px;font-weight:800;touch-action:manipulation}
 #oracyx-app .ox161-camera-title{padding:5px 7px;top:6px;left:6px;pointer-events:none}
 #oracyx-app .ox161-camera-title>span,#oracyx-app .ox161-camera-title small{display:none}
 #oracyx-app .ox161-camera-title h2{font-size:13px!important;margin:0!important}
 #oracyx-app .ox149-map-full{top:6px;right:6px;padding:8px;font-size:10px;min-height:36px}
 #oracyx-app .ox161-map-hint{display:none}
 #oracyx-app .ox151-stage button.ox151-landmark{width:44px!important}
 #oracyx-app .ox151-stage .ox151-landmark-art{width:44px;height:44px}
 #oracyx-app .ox154-compact-library{padding:10px!important}
 #oracyx-app .ox154-compact-library .oxapp081-section{padding:10px;border-radius:18px}
 #oracyx-app .ox154-compact-library .oxapp081-books{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 #oracyx-app .ox154-compact-library .oxapp081-book-card{border-radius:14px;min-width:0}
 #oracyx-app .ox154-compact-library .oxapp081-book-cover{height:132px;aspect-ratio:auto;border-radius:12px 12px 5px 5px}
 #oracyx-app .ox154-compact-library .oxapp081-book-cover img{object-fit:contain;object-position:center}
 #oracyx-app .ox154-compact-library .oxapp081-book-body{padding:8px}
 #oracyx-app .ox154-compact-library .oxapp081-book-body h3{font-size:12px;line-height:1.25;min-height:30px;margin:4px 0}
 #oracyx-app .ox154-compact-library .oxapp081-book-skill{display:none}
 #oracyx-app .ox154-compact-library .oxapp081-book-meta{gap:3px;margin-top:5px}
 #oracyx-app .ox154-compact-library .oxapp081-book-theme{font-size:8px}
 #oracyx-app .ox154-compact-library .oxapp081-book-track,#oracyx-app .ox154-compact-library .oxapp081-book-assigned{font-size:7px;padding:3px 4px;top:5px}
 #oracyx-app .ox154-compact-library .oxapp081-section-head h1{font-size:22px}
 #oracyx-app .ox154-compact-library .oxapp081-section-head p{font-size:11px}
 #oracyx-app .ox164-large-cover{width:min(100%,96px)}
 #oracyx-app .ox164-books{gap:9px}
 #oracyx-app .ox164-book-card>button{padding:9px 7px;touch-action:manipulation}
 #oracyx-app .ox164-region-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}
}

/* 0.14.15: translucent phone fog and short landscape header. */
@media(max-width:649px),(orientation:landscape) and (max-width:1000px) and (max-height:520px){
 #oracyx-app .ox147-fog-layer-1{opacity:.22}
 #oracyx-app .ox147-fog-layer-2{opacity:.14}
 #oracyx-app .ox147-fog-layer-3{opacity:.08}
}
@media(orientation:landscape) and (max-width:1000px) and (max-height:520px){
 #oracyx-app .ox161-dashboard-scroll{padding:5px 10px!important;overflow:hidden!important}
 #oracyx-app .ox161-dashboard{gap:6px}
 #oracyx-app .ox161-dashboard-top{grid-template-columns:minmax(0,1fr) minmax(180px,.65fr);gap:8px;height:48px;flex:none}
 #oracyx-app .ox161-dashboard-top .ox122-story-welcome{min-height:0;height:48px;max-height:48px;padding:6px 12px;gap:0;border-radius:12px;box-shadow:none}
 #oracyx-app .ox161-dashboard-top .ox122-story-welcome h1{font-size:17px;line-height:1.15;margin:0}
 #oracyx-app .ox161-dashboard-top .ox122-story-welcome p,#oracyx-app .ox161-dashboard-top .ox122-grade,#oracyx-app .ox161-dashboard-top .ox122-journey,#oracyx-app .ox161-dashboard-top .ox122-story-art{display:none}
 #oracyx-app .ox161-recent{height:48px;min-height:0;padding:5px 9px;grid-template-columns:27px minmax(0,1fr);gap:8px;box-shadow:none;border-radius:12px}
 #oracyx-app .ox161-recent-cover{width:27px;height:36px}
 #oracyx-app .ox161-recent h3{font-size:11px;margin:0;line-height:1.2;-webkit-line-clamp:1}
 #oracyx-app .ox161-recent small,#oracyx-app .ox161-recent-progress{display:none}
 #oracyx-app .ox161-recent span{font-size:8px}
 #oracyx-app .ox161-world{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:7px;min-height:0;overflow:hidden}
 #oracyx-app .ox161-camera:not(.is-map-full149){height:100%;min-height:0;border-radius:15px;aspect-ratio:auto}
 #oracyx-app .ox164-explorer{display:block;padding:6px;margin:0;border-radius:12px;overflow:auto}
 #oracyx-app .ox164-explorer>span,#oracyx-app .ox164-explorer h2,#oracyx-app .ox164-explorer p,#oracyx-app .ox164-explorer>small,#oracyx-app .ox164-explorer>button{display:none}
 #oracyx-app .ox154-mobile-weeks{display:flex;flex-direction:column;gap:5px}
 #oracyx-app .ox154-mobile-weeks button{width:100%;min-height:44px;border:1px solid #decee8;border-radius:10px;background:#f5edf9;color:#65467e;font:inherit;font-size:11px;font-weight:800;touch-action:manipulation}
 #oracyx-app .ox161-camera-title{padding:5px 7px;top:6px;left:6px;pointer-events:none}
 #oracyx-app .ox161-camera-title>span,#oracyx-app .ox161-camera-title small,#oracyx-app .ox161-map-hint{display:none}
 #oracyx-app .ox161-camera-title h2{font-size:13px!important;margin:0!important}
 #oracyx-app .ox151-stage button.ox151-landmark{width:44px!important}
 #oracyx-app .ox151-stage .ox151-landmark-art{width:44px;height:44px}
 #oracyx-app .ox164-region-scroll{padding:8px 12px;overflow-y:auto}
 #oracyx-app .ox164-region-heading{margin-bottom:8px;gap:8px;flex-wrap:nowrap}
 #oracyx-app .ox164-region-heading>div{order:0;width:auto}
 #oracyx-app .ox164-region-heading small{display:none}
 #oracyx-app .ox164-region-heading h2{font-size:16px!important;margin:0!important}
 #oracyx-app .ox164-region-heading>button,#oracyx-app .ox164-week-badge{padding:6px 9px;font-size:10px}
 #oracyx-app .ox164-books,#oracyx-app .ox154-compact-library .oxapp081-books{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
 #oracyx-app .ox164-book-card>button{padding:7px 6px;border-radius:12px}
 #oracyx-app .ox164-large-cover{width:min(100%,76px)}
 #oracyx-app .ox164-book-copy{margin-top:6px}
 #oracyx-app .ox164-book-copy b{font-size:11px;margin:3px 0 4px}
 #oracyx-app .ox164-book-copy small{font-size:7px}
 #oracyx-app .ox164-book-copy em{font-size:8px}
 #oracyx-app .ox164-game-house{margin-top:9px;padding:3px 10px 7px}
 #oracyx-app .ox164-game-house>button img{width:44px;height:42px}
 #oracyx-app .ox164-game-house b{font-size:13px}
 #oracyx-app .ox164-game-house small{font-size:8px;margin-top:2px}
 #oracyx-app .ox154-compact-library{padding:8px 12px!important}
 #oracyx-app .ox154-compact-library .oxapp081-section{padding:10px}
 #oracyx-app .ox154-compact-library .oxapp081-book-cover{height:105px;aspect-ratio:auto}
 #oracyx-app .ox154-compact-library .oxapp081-book-cover img{object-fit:contain;object-position:center}
 #oracyx-app .ox154-compact-library .oxapp081-book-body{padding:7px}
 #oracyx-app .ox154-compact-library .oxapp081-book-body h3{font-size:11px;line-height:1.2;min-height:27px}
 #oracyx-app .ox154-compact-library .oxapp081-book-skill{display:none}
 #oracyx-app .ox154-compact-library .oxapp081-book-meta{margin-top:4px;gap:3px}
 #oracyx-app .ox154-compact-library .oxapp081-chip{font-size:7px;padding:3px 4px}
}

/* Standalone harbour: the island sea shows through its transparent dock. */
#oracyx-app .ox151-landmark-art.ox158-boathouse-art{background-size:contain;background-position:center;background-repeat:no-repeat}

/* White bird alpha on black screens over route, fog and all landmarks. */
#oracyx-app video.ox149-island-sky{mix-blend-mode:screen;z-index:8;object-fit:contain;display:block}
@media(prefers-reduced-motion:reduce){#oracyx-app video.ox149-island-sky{display:none}}

@media(orientation:landscape) and (max-width:1000px) and (max-height:520px){#oracyx-app .ox161-island-world{flex:none;max-width:none;max-height:none}#oracyx-app .ox161-camera{overflow:hidden}}

/* Fullscreen fits the complete island instead of cropping the coastline. */


/* Visible muted video permits Safari to begin autoplay while the poster loads. */
#oracyx-app :is(.ox148-island-motion,.ox149-island-sky){opacity:1;pointer-events:none}
#oracyx-app :is(.ox148-island-motion,.ox149-island-sky).is-playing170{opacity:1}
#oracyx-app :is(.ox148-island-motion,.ox149-island-sky)::-webkit-media-controls,
#oracyx-app :is(.ox148-island-motion,.ox149-island-sky)::-webkit-media-controls-panel,
#oracyx-app :is(.ox148-island-motion,.ox149-island-sky)::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
/* Highlight color changes must not change word widths or line wrapping. */
#oracyx-app .oxapp081-story-text .ox110-word.is-speaking110{font-weight:inherit!important}
#oracyx-app .oxapp081-story-text{overflow-anchor:none;scroll-behavior:auto}
@media(orientation:landscape) and (max-height:520px) and (max-width:1000px){
 #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxprimary092-word-page{display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;gap:6px;padding:6px 10px}
 #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .oxapp081-story-text{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;line-height:1.3}
 #oracyx-app .is-primary-reader .oxprimary092-word-page>.oxprimary090-moment[data-dialogic138]{flex:0 0 auto;max-height:60%;overflow:auto;overscroll-behavior:contain;align-content:start;padding:5px 7px;gap:4px 6px}
 #oracyx-app .is-primary-reader .oxprimary092-word-page>.oxprimary090-moment[data-dialogic138]>span{grid-row:1;font-size:9px;line-height:1.15}
 #oracyx-app .is-primary-reader .oxprimary092-word-page>.oxprimary090-moment[data-dialogic138]>button:is([data-dialogic-listen138],[data-record110]){grid-row:2;min-height:44px;height:44px;margin:0;padding:3px 5px;font-size:12px;box-shadow:none}
 #oracyx-app .is-primary-reader .oxprimary092-word-page>.oxprimary090-moment[data-dialogic138]>b:not(.ox94-sr){grid-row:3;font-size:13px;line-height:1.2}
 #oracyx-app .is-primary-reader .oxprimary092-word-page>.oxprimary090-moment[data-dialogic138]>[data-record-panel110]{grid-row:4}
 #oracyx-app .is-primary-reader .oxprimary092-word-page>.oxprimary090-moment[data-dialogic138]>button>span{font-size:11px!important}
 #oracyx-app .is-primary-reader .oxprimary092-word-page>.oxprimary090-moment[data-dialogic138] [data-record-status110]{font-size:10px;line-height:1.15}
}

/* Browser and tablet dashboard: fit the island; scroll to class missions. */
#oracyx-app .ox165-fit-dashboard{overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
#oracyx-app .ox165-fit-dashboard .ox161-dashboard{height:auto!important;min-height:100%;display:flex!important}
#oracyx-app .ox165-fit-dashboard .ox161-world{height:var(--ox165-world-height);min-height:0;flex:0 0 var(--ox165-world-height);grid-template-rows:minmax(0,1fr);overflow:hidden}
#oracyx-app .ox165-fit-dashboard .ox161-camera:not(.is-map-full149){min-height:0;height:100%;aspect-ratio:auto}
#oracyx-app .ox165-fit-dashboard .orl-assigned-missions{flex:none}
@media(min-width:650px) and (max-width:1100px){
 #oracyx-app .ox165-fit-dashboard .ox161-world{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:10px}
 #oracyx-app .ox165-fit-dashboard .ox164-explorer{padding:8px 12px;display:block;overflow:hidden;min-height:0}
 #oracyx-app .ox165-fit-dashboard .ox164-explorer>span,#oracyx-app .ox165-fit-dashboard .ox164-explorer h2,#oracyx-app .ox165-fit-dashboard .ox164-explorer p,#oracyx-app .ox165-fit-dashboard .ox164-explorer>small,#oracyx-app .ox165-fit-dashboard .ox164-explorer>button{display:none}
 #oracyx-app .ox165-fit-dashboard .ox154-mobile-weeks{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-x:contain}
 #oracyx-app .ox165-fit-dashboard .ox154-mobile-weeks button{flex:1 0 84px;min-height:44px;border:1px solid #decee8;border-radius:12px;background:#f5edf9;color:#65467e;font:inherit;font-size:12px;font-weight:800;touch-action:manipulation}
 #oracyx-app .ox165-fit-dashboard .ox161-camera-title{pointer-events:none;padding:7px 10px}
 #oracyx-app .ox165-fit-dashboard .ox161-camera-title h2{font-size:19px!important}
}

/* Dashboard 166: compact hero and edge-to-edge map, excluding phone portrait. */
#oracyx-app .ox165-fit-dashboard .ox161-island-world{width:100%!important;height:100%!important;aspect-ratio:auto!important;max-width:none!important;max-height:none!important}
#oracyx-app .ox165-fit-dashboard .ox161-island-art,#oracyx-app .ox165-fit-dashboard .ox148-island-motion,#oracyx-app .ox165-fit-dashboard .ox149-island-sky{width:100%;height:100%;object-fit:fill!important}
#oracyx-app .ox165-fit-dashboard .ox161-dashboard-top{height:82px;gap:10px}
#oracyx-app .ox165-fit-dashboard .ox161-dashboard-top .ox122-story-welcome{height:82px;min-height:0;max-height:82px;padding:9px 18px;box-shadow:none;overflow:hidden;border-radius:18px}
#oracyx-app .ox165-fit-dashboard .ox161-dashboard-top .ox122-story-welcome h1{font-size:24px;margin:2px 0}
#oracyx-app .ox165-fit-dashboard .ox161-dashboard-top .ox122-story-welcome p{font-size:12px;margin:2px 0}
#oracyx-app .ox165-fit-dashboard .ox122-journey,#oracyx-app .ox165-fit-dashboard .ox122-story-art{display:none}
#oracyx-app .ox165-fit-dashboard .ox161-recent{height:82px;min-height:0;max-height:82px;padding:8px 13px;grid-template-columns:44px minmax(0,1fr);gap:11px;box-shadow:none;border-radius:18px;overflow:hidden}
#oracyx-app .ox165-fit-dashboard .ox161-recent-cover{width:44px;height:60px}
#oracyx-app .ox165-fit-dashboard .ox161-recent h3{font-size:14px;line-height:1.2;margin:3px 0;-webkit-line-clamp:1}
#oracyx-app .ox165-fit-dashboard .ox161-recent-progress{display:none}
@media(min-width:1101px){#oracyx-app .ox165-fit-dashboard .ox161-world{grid-template-columns:minmax(0,1fr) 220px;gap:12px}#oracyx-app .ox165-fit-dashboard .ox164-explorer{padding:16px 14px}#oracyx-app .ox165-fit-dashboard .ox164-explorer h2{font-size:24px!important}}
@media(orientation:landscape) and (max-width:1000px) and (max-height:520px){#oracyx-app .ox165-fit-dashboard .ox161-dashboard-top,#oracyx-app .ox165-fit-dashboard .ox161-dashboard-top .ox122-story-welcome,#oracyx-app .ox165-fit-dashboard .ox161-recent{height:48px;max-height:48px}#oracyx-app .ox165-fit-dashboard .ox161-recent-cover{width:27px;height:36px}#oracyx-app .ox165-fit-dashboard .ox161-world{grid-template-columns:minmax(0,1fr) 116px;grid-template-rows:minmax(0,1fr)}#oracyx-app .ox165-fit-dashboard .ox164-explorer{padding:6px}}

/* 167: portrait tablet map keeps its native ratio; week pages use one scroller. */
@media(orientation:portrait) and (min-width:650px) and (max-width:1366px){
 #oracyx-app .ox165-fit-dashboard .ox161-world{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;align-content:start}
 #oracyx-app .ox165-fit-dashboard .ox161-camera:not(.is-map-full149){width:100%;height:auto!important;aspect-ratio:3/2!important;align-self:center;max-height:100%}
}
#oracyx-app .ox161-dashboard-scroll:has(.ox164-region){overflow-y:auto!important;overflow-x:hidden!important;touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
#oracyx-app .ox161-dashboard:has(.ox164-region){height:auto!important;min-height:100%;display:flex!important}
#oracyx-app .ox164-region{flex:0 0 auto;min-height:0;height:auto}
#oracyx-app .ox164-region-scroll{height:auto;max-height:none;overflow:visible!important;touch-action:pan-y}

/* 2026-10-16: keep phone landscape reading controls and settings within the viewport. */
@media (orientation:landscape) and (max-width:1000px) and (max-height:520px){
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading{box-sizing:border-box;width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:auto minmax(0,1fr);padding:4px max(8px,env(safe-area-inset-right)) 4px max(8px,env(safe-area-inset-left));gap:4px}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading .oxprimary092-open-book{min-width:0;max-width:100%}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-reader-dock{grid-column:2;grid-row:2;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;min-width:0;width:100%;max-width:100%;gap:6px;padding:0;position:static}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-reader-dock>button,body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-settings,body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-settings>summary{box-sizing:border-box;min-width:0;width:100%;max-width:100%;margin:0}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-reader-dock>button,body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-settings>summary{min-height:44px;padding:6px;font-size:13px!important;gap:4px}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-settings-panel{position:fixed;z-index:100;top:calc(env(safe-area-inset-top) + 52px);bottom:calc(env(safe-area-inset-bottom) + 56px);right:calc(env(safe-area-inset-right) + 126px);left:auto;width:min(300px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 142px));height:auto;max-height:none;min-height:0;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;display:flex;flex-direction:column;gap:6px;padding:10px;background:#fff1d8;border:2px solid #90779f;border-radius:16px;box-shadow:0 8px 30px #271e3b44}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-settings-panel>*{flex-shrink:0}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-settings-panel .oxprimary091-speed{display:flex;flex-direction:row;gap:4px;min-width:0}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-settings-panel button{box-sizing:border-box;min-width:0;min-height:44px;padding:6px;font-size:13px!important}
 body.is-primary-programme #oracyx-app .is-primary-reader .ox94-reading.ox94-reading .ox94-settings-panel .oxprimary091-speed button{flex:1 1 0}
}

/* Offline and online use the same bounded cover and sound-card geometry. */
#oracyx-app .ox154-compact-library .oxapp081-books{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),280px));align-items:start;justify-content:start}
#oracyx-app .ox154-compact-library .oxapp081-book-card{width:100%;max-width:280px;min-width:0}
#oracyx-app .ox154-compact-library .oxapp081-book-cover{height:220px;aspect-ratio:auto;overflow:hidden}
#oracyx-app .ox154-compact-library .oxapp081-book-cover img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
#oracyx-app .ox164-large-cover>img{object-fit:contain;object-position:center}
#oracyx-app .ox161-camera .ox161-island-world{aspect-ratio:3/2;width:100%;height:auto;min-height:0;flex:none}
#oracyx-app .ox135-choices:has(>.ox135-audio-choice){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(44px,1fr));gap:12px;align-items:stretch;justify-items:stretch;max-width:100%;height:100%;min-height:0}
#oracyx-app .ox135-lab .ox135-choices>.ox135-audio-choice{width:100%;height:100%;min-width:0;min-height:44px;max-width:100%;max-height:100%;aspect-ratio:auto;grid-column:auto;grid-row:auto;box-sizing:border-box;overflow:hidden}
#oracyx-app .ox135-audio-choice>.ox99-speaker{width:min(70%,92px);height:min(70%,92px);min-width:0;min-height:0}
@media(max-width:600px){#oracyx-app .ox154-compact-library .oxapp081-books{grid-template-columns:repeat(2,minmax(0,1fr))}#oracyx-app .ox154-compact-library .oxapp081-book-cover{height:150px}}
@media(max-height:440px) and (min-width:480px){#oracyx-app .ox135-choices:has(>.ox135-audio-choice){grid-template-columns:repeat(var(--ox135-items,4),minmax(0,1fr));grid-template-rows:minmax(44px,1fr)}#oracyx-app .ox154-compact-library .oxapp081-book-cover{height:105px}}

html.oxapp081-html,body.oxapp081-body{background-color:#2e1747!important}
#orl-mobile-exit,#orl-mobile-exit-030{display:none!important}
#oracyx-app .ox161-camera{isolation:isolate!important;position:relative!important}
#oracyx-app .ox161-camera #orl-map-toggle-060{
 position:absolute!important;left:auto!important;right:12px!important;top:12px!important;z-index:2147483646!important;
 display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
 align-items:center!important;justify-content:center!important;min-height:44px!important;padding:8px 12px!important;
 border:2px solid #fff!important;border-radius:16px!important;background:#2e1747!important;color:#fff!important;
 font:700 14px/1.25 system-ui,sans-serif!important;box-shadow:0 4px 12px #0006!important;
 max-width:calc(100% - 24px)!important;cursor:pointer!important;
}
#oracyx-app .ox161-camera:has(#orl-map-toggle-060) [data-island-full149]{display:none!important}
#oracyx-app .ox161-camera.is-map-full149{
 position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;height:100dvh!important;border:0!important;box-sizing:border-box!important;
 max-width:none!important;max-height:none!important;z-index:2147483000!important;
 border-radius:0!important;display:flex!important;align-items:center!important;justify-content:center!important;
 overflow:hidden!important;background:#075e84!important;margin:0!important;padding:0!important;
}
#oracyx-app .ox161-camera.is-map-full149 #orl-map-toggle-060{
 position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 12px)!important;
 right:calc(env(safe-area-inset-right,0px) + 12px)!important;
 left:auto!important;bottom:auto!important;z-index:2147483646!important;
 min-width:128px!important;min-height:48px!important;
}
/* Art, SVG, landmarks and hit targets share this 3:2 scene. */
#oracyx-app .ox161-camera .ox161-island-world{
 position:relative!important;aspect-ratio:3/2!important;width:100%!important;height:auto!important;
 min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
 flex:none!important;margin:0!important;transform:none!important;z-index:1!important;
}
#oracyx-app .ox161-camera.is-map-full149 .ox161-island-world{
 width:min(100vw,150vh)!important;width:min(100vw,150dvh)!important;
}
#oracyx-app .ox161-camera.is-map-full149::before{
 content:"";position:absolute;inset:-28px;z-index:0;pointer-events:none;
 background-image:var(--orl-map-backdrop);background-size:cover;background-position:center;
 filter:blur(18px) brightness(.75);transform:scale(1.06);
}
html.orl-map-open071,html.orl-map-open071 body{overflow:hidden!important;overscroll-behavior:none!important}
html.orl-map-open071 #oracyx-app .oxapp081-bottom-nav{visibility:hidden!important;pointer-events:none!important}
#oracyx-app .ox161-camera .ox161-camera-title{top:12px!important;left:12px!important;max-width:calc(100% - 156px)!important;z-index:2!important}

#oracyx-app .oxapp081-book-card,#oracyx-app .oxapp081-book-cover{overflow:hidden!important}
#oracyx-app .oxapp081-book-cover img{max-width:100%!important;width:100%!important;height:100%!important;object-fit:contain!important}
@media (orientation:landscape) and (max-height:520px){
 #oracyx-app .ox161-camera.is-map-full149 #orl-map-toggle-060{top:calc(env(safe-area-inset-top,0px) + 6px)!important;right:calc(env(safe-area-inset-right,0px) + 8px)!important}
}

#oracyx-app .ox161-camera:not(.is-map-full149) .ox161-camera-title{top:12px!important}

#orl-exit-rescue-073{display:none!important;position:fixed!important;top:calc(env(safe-area-inset-top,0px) + 12px)!important;right:calc(env(safe-area-inset-right,0px) + 12px)!important;left:auto!important;bottom:auto!important;z-index:2147483647!important;min-width:124px!important;min-height:48px!important;padding:10px 14px!important;border:2px solid #fff!important;border-radius:14px!important;background:#2e1747!important;color:#fff!important;font:700 14px/1.25 system-ui,sans-serif!important;box-shadow:0 4px 16px #0009!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important;transform:none!important}
html.orl-exit-rescue-open #orl-exit-rescue-073{display:block!important}
@media (orientation:landscape) and (max-height:520px){#orl-exit-rescue-073{top:calc(env(safe-area-inset-top,0px) + 6px)!important;right:calc(env(safe-area-inset-right,0px) + 8px)!important}}

/* 0.1.1 — replace extra Exit with book icon; preserve native reader exit handler. */
#orl-activity-exit{display:none!important;visibility:hidden!important;pointer-events:none!important}
#orl-activity-book-011{position:fixed!important;z-index:2147483647!important;
 top:calc(env(safe-area-inset-top,0px) + 8px)!important;
 left:calc(env(safe-area-inset-left,0px) + 9px)!important;
 width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
 display:grid!important;place-items:center!important;padding:6px!important;
 border:2px solid #cbb3db!important;border-radius:14px!important;
 background:#f2e4f9!important;color:#62447b!important;
 box-shadow:0 3px 10px #34204722!important;cursor:pointer!important;touch-action:manipulation!important}
#orl-activity-book-011[hidden]{display:none!important}
#orl-activity-book-011 svg{width:30px!important;height:30px!important;display:block!important}
#orl-activity-book-011:focus-visible{outline:3px solid #7548a2!important;outline-offset:2px!important}
/* Portrait cover art must own its frame; fallback remains only for unavailable art. */
#oracyx-app .ox154-compact-library .oxapp081-book-cover{height:auto!important;aspect-ratio:2/3!important;background:var(--book-paper,#fff9e8)!important}
#oracyx-app .oxapp081-book-cover:has(>img.is-cover-ready202)>.oxapp081-cover-fallback{visibility:hidden!important}
#oracyx-app .oxapp081-book-cover>img{object-fit:contain!important;object-position:center!important}
/* Fit the entire 3:2 coordinate plane within the camera in both viewing modes. */
#oracyx-app .ox161-camera{display:flex!important;align-items:center!important;justify-content:center!important}
#oracyx-app .ox161-camera .ox161-island-world{width:var(--orl-scene-width202,100%)!important;height:auto!important;aspect-ratio:3/2!important;flex:none!important}
#oracyx-app .ox161-camera .ox161-island-art{object-fit:contain!important}
#oracyx-app .ox161-camera:not(.is-map-full149)::before{content:"";position:absolute;inset:-28px;z-index:0;pointer-events:none;background-image:var(--orl-map-backdrop);background-size:cover;background-position:center;filter:blur(18px) brightness(.75);transform:scale(1.06)}
html.orl-exit-rescue-open #oracyx-app .ox161-camera #orl-map-toggle-060{visibility:hidden!important;pointer-events:none!important}

/* Match the active production normal dashboard; full-screen keeps its own fitting rule. */
#oracyx-app .ox161-camera:not(.is-map-full149){display:flex!important}
#oracyx-app .ox161-camera:not(.is-map-full149) .ox161-island-world{width:100%!important;height:auto!important;aspect-ratio:3/2!important}
#oracyx-app .ox161-camera:not(.is-map-full149)::before{content:none!important}

@media (max-width:1000px) and (max-height:520px) and (orientation:landscape){
#oracyx-app .ox161-camera:not(.is-map-full149){width:min(100%,calc((var(--ox165-world-height,240px) - 4px)*1.5 + 4px))!important;justify-self:center!important}
#oracyx-app .ox161-camera:not(.is-map-full149) .ox161-camera-title{display:none!important}
}
/* Uniform student cover frames, independent of grade and assignment. */
#oracyx-app .oxapp081-book-cover{height:auto!important;aspect-ratio:2/3!important;overflow:hidden!important}
#oracyx-app :is(.oxapp081-book-cover,.ox164-large-cover,.ox161-recent-cover,.oxapp081-continue-cover)>img{
 display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;
}
#oracyx-app :is(.oxapp081-book-cover,.ox164-large-cover,.ox161-recent-cover,.oxapp081-continue-cover):has(>img.is-cover-ready202)>.oxapp081-cover-fallback{visibility:hidden!important}

/* Weekly assignment chooser: one vertical list on every app viewport. */
#oracyx-app .ox154-mobile-weeks,
#oracyx-app .ox165-fit-dashboard .ox154-mobile-weeks{display:flex!important;flex-direction:column!important;flex-wrap:nowrap!important;gap:8px!important;width:100%!important;min-width:0!important;max-height:320px!important;max-height:min(320px,40dvh)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-x:none!important;overscroll-behavior-y:contain!important;scrollbar-width:thin!important;touch-action:pan-y!important;-webkit-overflow-scrolling:touch;box-sizing:border-box!important;padding:4px!important}
#oracyx-app .ox154-mobile-weeks>button,
#oracyx-app .ox165-fit-dashboard .ox154-mobile-weeks>button{display:block!important;flex:0 0 auto!important;width:100%!important;min-width:0!important;min-height:56px!important;margin:0!important;padding:14px 12px!important;box-sizing:border-box!important;border:1px solid #decee8;border-radius:12px;background:#f5edf9;color:#65467e;font:inherit;font-size:14px!important;font-weight:800;white-space:normal!important;touch-action:pan-y!important}

/* Desktop week panel 248: artwork in normal flow, independently scrolling weeks. */
@media(min-width:1001px){
#oracyx-app .ox164-explorer{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;gap:6px!important;padding:14px 16px!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important}
#oracyx-app .ox164-explorer>span,#oracyx-app .ox164-explorer>h2,#oracyx-app .ox164-explorer>p,#oracyx-app .ox164-explorer>small,#oracyx-app .ox164-explorer>button{flex-shrink:0!important}
#oracyx-app .ox164-explorer>h2{font-size:24px!important;margin:4px 0!important}
#oracyx-app .ox164-explorer>p,#oracyx-app .ox164-explorer>small{margin:3px 0!important}
#oracyx-app .ox164-explorer>button{position:relative!important;height:auto!important;max-height:none!important;margin:0 0 6px!important}
#oracyx-app .ox164-explorer>button img{width:96px!important;height:96px!important;object-fit:contain!important}
#oracyx-app .ox164-explorer .ox151-landmark-art{width:96px!important;height:96px!important}
#oracyx-app .ox164-explorer>.ox154-mobile-weeks{position:relative!important;flex:1 1 120px!important;min-height:100px!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;margin:0!important}
}

/* Layout 249: compact desktop explorer; mobile copy preserved. */
#oracyx-app .ox249-desktop-copy{display:none}
@media(min-width:1001px){
#oracyx-app .ox164-explorer .ox249-desktop-copy{display:inline!important}
#oracyx-app .ox164-explorer .ox249-original-copy{display:none!important}
#oracyx-app aside.ox164-explorer{padding:10px 14px!important;gap:4px!important}
#oracyx-app aside.ox164-explorer>h2{font-size:20px!important;line-height:1.15!important;margin:2px 0!important}
#oracyx-app aside.ox164-explorer>p{font-size:13px!important;line-height:1.3!important;margin:2px 0 4px!important}
#oracyx-app aside.ox164-explorer>button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;align-self:center!important;margin:0 auto 4px!important;gap:5px!important}
#oracyx-app aside.ox164-explorer>button .ox151-landmark-art{position:relative!important;left:auto!important;right:auto!important;transform:none!important;display:block!important;width:132px!important;height:132px!important;margin:0 auto!important;flex:0 0 132px!important}
#oracyx-app aside.ox164-explorer>small{font-size:12px!important;font-weight:700!important;color:#71358b!important;margin:4px 0!important}
#oracyx-app aside.ox164-explorer>.ox154-mobile-weeks{flex:1 1 180px!important;min-height:120px!important;overflow-y:scroll!important;scrollbar-width:auto!important;scrollbar-color:#8a5ba4 #eee3f4!important;border:1px solid #ddc9e8!important;border-radius:16px!important;padding:6px 10px 6px 6px!important;gap:8px!important}
#oracyx-app aside.ox164-explorer>.ox154-mobile-weeks::-webkit-scrollbar{display:block!important;width:10px!important}
#oracyx-app aside.ox164-explorer>.ox154-mobile-weeks::-webkit-scrollbar-track{background:#eee3f4;border-radius:8px}
#oracyx-app aside.ox164-explorer>.ox154-mobile-weeks::-webkit-scrollbar-thumb{background:#8a5ba4;border-radius:8px;border:2px solid #eee3f4}
#oracyx-app aside.ox164-explorer>.ox154-mobile-weeks>button{min-height:48px!important;padding:10px!important;flex-shrink:0!important}
}

/* Library 253: desktop four-column shelf. */
@media(min-width:1001px){
#oracyx-app .oxapp081-scroll-inner.ox154-compact-library{width:100%!important;max-width:1440px!important;margin:0 auto!important;padding:28px 24px 104px!important;box-sizing:border-box!important}
#oracyx-app .ox154-compact-library>.oxapp081-section{padding:28px!important;border:1px solid rgba(105,65,130,.10)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 10px 34px rgba(52,28,69,.05)!important;box-sizing:border-box!important}
#oracyx-app .ox154-compact-library .oxapp081-section-head{margin:0 0 22px!important;padding:0!important}
#oracyx-app .ox154-compact-library .oxapp081-section-head h1{font-size:30px!important;line-height:1.2!important;margin:0 0 8px!important}
#oracyx-app .ox154-compact-library .oxapp081-section-head p{font-size:14px!important;line-height:1.5!important;margin:0!important}
#oracyx-app .ox154-compact-library .oxapp081-books{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important;justify-content:stretch!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
#oracyx-app .ox154-compact-library .oxapp081-books>.oxapp081-book-card{display:flex!important;flex-direction:column!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;border:1px solid rgba(105,65,130,.16)!important;border-radius:18px!important;background:#fff!important;box-shadow:0 4px 16px rgba(45,24,61,.06)!important;box-sizing:border-box!important}
#oracyx-app .ox154-compact-library .oxapp081-book-cover{flex:0 0 auto!important;border-radius:17px 17px 0 0!important}
#oracyx-app .ox154-compact-library .oxapp081-book-body{padding:15px 14px!important;flex:1 1 auto!important}
#oracyx-app .ox154-compact-library .oxapp081-book-body h3{font-size:18px!important;line-height:1.3!important;margin:7px 0!important;overflow-wrap:anywhere!important}
#oracyx-app .ox154-compact-library .oxapp081-book-theme{font-size:10px!important;line-height:1.4!important;letter-spacing:.06em!important}
#oracyx-app .ox154-compact-library .oxapp081-book-meta{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
#oracyx-app .ox154-compact-library .oxapp084-download{align-self:stretch!important;width:auto!important;margin:0 14px 14px!important;min-height:40px!important;border-radius:11px!important}
#oracyx-app .ox154-compact-library .oxapp081-book-card:focus-visible{outline:3px solid #8b51ab!important;outline-offset:3px!important}
}

/* Library 254: compact desktop shelf; mobile unchanged. */
@media(min-width:1001px){
#oracyx-app .oxapp081-scroll-inner.ox154-compact-library{max-width:1296px!important}
#oracyx-app .ox154-compact-library .oxapp081-books{gap:24px!important}
}

/* Library 255: wider white panel, same desktop card widths. */
@media(min-width:1001px){
#oracyx-app .oxapp081-scroll:has(>.ox154-compact-library){padding-top:12px!important}
#oracyx-app .oxapp081-scroll-inner.ox154-compact-library{max-width:1392px!important;padding-top:12px!important}
#oracyx-app .ox154-compact-library .oxapp081-books{max-width:1190px!important;margin:0 auto!important}
#oracyx-app .ox154-compact-library .oxapp081-section-head{max-width:1190px!important;margin:0 auto 22px!important}
}
