/* 99 Club Studio · Maths Games & Puzzles v1.1 */
#tt99-games-root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--tt99-ink);font-size:16px;line-height:1.45}
#tt99-games-root *{box-sizing:border-box}
.tt99-games-shell{max-width:1480px;margin:0 auto;padding:28px 22px 70px}
.tt99-games-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px 30px;border:1px solid #d7e8e5;border-radius:24px;background:linear-gradient(135deg,#edf9f6 0%,#f8fbfa 62%,#fff7e8 100%);box-shadow:0 10px 28px rgba(20,81,77,.07)}
.tt99-games-hero h1{margin:2px 0 8px;font-size:clamp(2rem,4vw,3rem);line-height:1;letter-spacing:-.035em}.tt99-games-hero p{max-width:820px;margin:0;color:#586a70;font-size:1rem}
.tt99-games-nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tt99-games-nav a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;border:1px solid #b7d8d3;border-radius:10px;background:#fff;color:var(--tt99-teal-dark);font-size:.76rem;font-weight:850;text-decoration:none}.tt99-games-nav a:hover{background:var(--tt99-mint);text-decoration:none}
.tt99-games-principle{display:flex;align-items:center;gap:10px;margin:14px 0 18px;padding:11px 14px;border:1px solid #cde3df;border-radius:12px;background:#f2faf8;color:#50676b}.tt99-games-principle strong{color:#265e58}.tt99-games-principle span{font-size:.82rem}
.tt99-games-workspace{display:grid;grid-template-columns:minmax(410px,500px) minmax(620px,1fr);gap:22px;align-items:start}.tt99-games-controls{display:flex;flex-direction:column;gap:16px}.tt99-games-card{padding:20px;border:1px solid var(--tt99-line);border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(38,65,72,.055)}
.tt99-games-step{display:flex;gap:12px;align-items:flex-start}.tt99-games-step>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:9px;background:var(--tt99-teal);color:#fff;font-size:.8rem;font-weight:900}.tt99-games-step h2{margin:1px 0 3px;font-size:1.03rem}.tt99-games-step p{margin:0;color:var(--tt99-muted);font-size:.76rem;line-height:1.4}
.tt99-games-grid2,.tt99-games-grid3{display:grid;gap:9px;margin-top:13px}.tt99-games-grid2{grid-template-columns:1fr 1fr}.tt99-games-grid3{grid-template-columns:repeat(3,1fr)}
.tt99-games-topic-label{display:block;margin-top:14px}.tt99-games-topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:7px}.tt99-game-topic{position:relative}.tt99-game-topic input{position:absolute;opacity:0;pointer-events:none}.tt99-game-topic span{display:flex;flex-direction:column;min-height:54px;padding:8px 10px;border:1.5px solid #d5e0e2;border-radius:10px;background:#fbfcfc;color:#32464d;font-size:.72rem;font-weight:850;line-height:1.2;cursor:pointer}.tt99-game-topic small{margin-top:4px;color:#87969a;font-size:.58rem;font-weight:750}.tt99-game-topic.is-selected span{border-color:var(--tt99-teal);background:var(--tt99-mint);box-shadow:0 0 0 2px rgba(20,125,117,.06)}.tt99-game-topic.is-unavailable span{opacity:.45;cursor:not-allowed}
.tt99-games-difficulty button{appearance:none;text-align:left;min-height:70px;padding:9px 10px;border:1.5px solid #d5e0e2;border-radius:10px;background:#fbfcfc;color:var(--tt99-ink);font:inherit;cursor:pointer}.tt99-games-difficulty button.is-selected{border-color:var(--tt99-teal);background:var(--tt99-mint)}.tt99-games-difficulty b,.tt99-games-difficulty small{display:block}.tt99-games-difficulty b{font-size:.75rem}.tt99-games-difficulty small{margin-top:3px;color:#76868a;font-size:.58rem;line-height:1.25}
.tt99-games-divider{height:1px;margin:18px 0;background:#e4eaeb}.tt99-games-choice-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.tt99-games-choice-row label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:1px solid #d8e2e4;border-radius:10px;background:#fafcfc;cursor:pointer}.tt99-games-choice-row input{margin-top:3px;accent-color:var(--tt99-teal)}.tt99-games-choice-row b,.tt99-games-choice-row small{display:block}.tt99-games-choice-row b{font-size:.72rem}.tt99-games-choice-row small{margin-top:2px;color:#7b8a8f;font-size:.58rem;line-height:1.25}.tt99-games-engine-select{margin-top:10px}.tt99-games-engine-select small{color:#7a8b8f;font-size:.61rem}.tt99-games-answer-check{margin-top:13px}.tt99-games-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.tt99-games-help{display:block;margin-top:10px;color:#849296;font-size:.61rem;line-height:1.4}
.tt99-vocab-add{margin-top:14px;border:1px solid #dbe5e6;border-radius:10px;background:#fafcfc;overflow:hidden}.tt99-vocab-add>summary{padding:10px 11px;cursor:pointer;color:#365c5a;font-size:.72rem;font-weight:850}.tt99-vocab-add-body{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:10px;border-top:1px solid #e4eaeb}.tt99-vocab-add-body .wide{grid-column:1/-1}.tt99-vocab-add-body textarea{min-height:78px;resize:vertical;border:1px solid #ccd9dc;border-radius:9px;padding:8px 10px;background:#fff;color:var(--tt99-ink);font:inherit;font-size:.78rem}.tt99-vocab-add-body>button{grid-column:1/-1;justify-self:start}
.tt99-vocab-summary{margin-top:12px}.tt99-vocab-topic{border-top:1px solid #e8eded}.tt99-vocab-topic:first-child{border-top:0}.tt99-vocab-topic summary{display:flex;justify-content:space-between;gap:12px;padding:8px 2px;cursor:pointer;font-size:.7rem;font-weight:800}.tt99-vocab-topic summary small{color:#89979b;font-size:.58rem}.tt99-vocab-mine-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0 0 6px;padding:8px 9px;border:1px solid #d8e6e3;border-radius:8px;background:#f3faf8}.tt99-vocab-mine-list span{display:flex;flex-direction:column}.tt99-vocab-mine-list b{font-size:.68rem}.tt99-vocab-mine-list small{margin-top:2px;color:#677a7f;font-size:.57rem}.tt99-vocab-mine-list button{appearance:none;display:grid;place-items:center;flex:0 0 24px;height:24px;border:0;border-radius:50%;background:#fff;color:#94615a;font:800 1rem/1 system-ui;cursor:pointer}.tt99-vocab-empty{margin:0 0 8px;color:#849296;font-size:.62rem}.tt99-vocab-portability{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:11px;border-top:1px dashed #d8e2e3}.tt99-vocab-import{position:relative;display:inline-flex;align-items:center;cursor:pointer}.tt99-vocab-import input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.tt99-games-preview{position:sticky;top:12px;min-width:0;padding:13px;border:1px solid #d2dcdf;border-radius:18px;background:#e7edef;box-shadow:var(--tt99-shadow)}.tt99-games-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 11px}.tt99-games-preview-toolbar>div:first-child{display:flex;flex-direction:column}.tt99-games-preview-toolbar strong{font-size:.78rem}.tt99-games-preview-toolbar span{color:#66777c;font-size:.63rem}.tt99-games-preview-toggle{display:flex;gap:4px;padding:3px;border-radius:9px;background:#dce5e7}.tt99-games-preview-toggle button{appearance:none;border:0;border-radius:7px;padding:6px 10px;background:transparent;color:#586a70;font:750 .65rem/1 system-ui;cursor:pointer}.tt99-games-preview-toggle button.is-active{background:#fff;color:#155f59;box-shadow:0 2px 6px rgba(49,75,82,.08)}
.tt99-games-preview-stack{display:flex;flex-direction:column;gap:14px}.tt99-games-answer-pages{display:none}#tt99-games-root.preview-answers .tt99-games-pupil-pages{display:none}#tt99-games-root.preview-answers .tt99-games-answer-pages{display:flex}
.tt99-game-paper{position:relative;width:100%;aspect-ratio:210/297;padding:4.6% 5%;border-radius:5px;background:#fff;box-shadow:0 4px 13px rgba(27,50,56,.16);overflow:hidden}.tt99-game-paper>header{display:flex;justify-content:space-between;gap:16px;padding-bottom:2.1%;border-bottom:1px solid #dbe4e5}.tt99-game-paper header span{display:block;color:#708287;font-size:clamp(5px,.62vw,8px);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.tt99-game-paper h2{margin:1px 0 2px;color:#24434a;font-size:clamp(10px,1.35vw,17px);line-height:1.1}.tt99-game-paper header p{margin:0;color:#6b7c81;font-size:clamp(5px,.65vw,8px)}.tt99-game-name-line{align-self:center;color:#55696f;font-size:clamp(6px,.72vw,9px);font-weight:750}.tt99-game-paper>footer{position:absolute;left:5%;right:5%;bottom:2.4%;display:flex;justify-content:space-between;gap:12px;color:#89979b;font-size:clamp(4px,.5vw,6.5px)}
.tt99-game-activities{display:grid;gap:2.2%;height:82%;padding-top:2.1%}.tt99-game-activities.count-1{grid-template-rows:1fr}.tt99-game-activities.count-2{grid-template-rows:1fr 1fr}.tt99-game-activities.count-3{grid-template-rows:repeat(3,1fr)}.tt99-game-activity{min-height:0;padding:2.1%;border:1px solid #dfe7e8;border-radius:10px;background:#fff;overflow:hidden}.tt99-game-activity-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tt99-game-activity-head>div>span{display:block;color:#789095;font-size:clamp(4px,.5vw,6.5px);font-weight:850;text-transform:uppercase;letter-spacing:.05em}.tt99-game-activity h3{margin:0;color:#24434a;font-size:clamp(8px,1vw,13px)}.tt99-game-activity-head>small{color:#74888d;font-size:clamp(4px,.48vw,6px);text-transform:capitalize}.tt99-game-instruction{margin:1.3% 0 1.8%;color:#53686e;font-size:clamp(5px,.62vw,8px);line-height:1.25}
.tt99-word-layout{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(150px,.82fr);gap:3%;align-items:start;height:calc(100% - 38px)}.tt99-word-grid{display:grid;grid-template-columns:repeat(var(--grid-size),1fr);width:min(100%,390px);aspect-ratio:1;border:1.5px solid #667d82}.tt99-word-grid span{display:grid;place-items:center;border-right:1px solid #d7e1e2;border-bottom:1px solid #d7e1e2;font-size:clamp(5px,.73vw,10px);font-weight:800;line-height:1}.tt99-word-grid span.hit{background:#d9f2ed;box-shadow:inset 0 0 0 1px #7cbfb6}.tt99-word-side{min-width:0}.tt99-word-bank{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px}.tt99-word-bank span{font-size:clamp(4.6px,.58vw,7.5px);font-weight:700}.tt99-word-clues{margin:0;padding-left:15px}.tt99-word-clues li{margin:0 0 4px;color:#455b61;font-size:clamp(4.4px,.54vw,7px);line-height:1.25}.tt99-word-answer-list{margin-top:7px;padding-top:6px;border-top:1px dashed #cad8da;color:#47615f;font-size:clamp(4.4px,.54vw,7px);line-height:1.35}
.tt99-pyramid-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;height:72%;gap:2.5%}.tt99-pyramid-row{display:grid;grid-template-columns:repeat(var(--cells),minmax(0,54px));gap:5px;justify-content:center}.tt99-pyramid-row span{display:grid;place-items:center;aspect-ratio:1.7/1;border:1.5px solid #71908e;border-radius:6px;background:#f6fbfa;color:#28484b;font-size:clamp(7px,.9vw,12px);font-weight:850}.tt99-pyramid-row span.blank{background:#fff;border-style:dashed}.tt99-pyramid-answer-note{margin:0;text-align:center;color:#60777a;font-size:clamp(5px,.6vw,7.5px)}.tt99-game-error{display:grid;place-items:center;text-align:center;background:#fff8ef;color:#725b2e}
@media(max-width:1100px){.tt99-games-workspace{grid-template-columns:1fr}.tt99-games-preview{position:static}.tt99-game-paper{max-width:820px;margin:0 auto}}
@media(max-width:720px){.tt99-games-shell{padding:16px 10px 50px}.tt99-games-hero{align-items:flex-start;flex-direction:column;padding:20px}.tt99-games-nav{justify-content:flex-start}.tt99-games-grid3,.tt99-games-grid2,.tt99-games-topic-grid,.tt99-games-choice-row{grid-template-columns:1fr 1fr}.tt99-games-actions{grid-template-columns:1fr}.tt99-games-preview{padding:7px}.tt99-game-paper{aspect-ratio:auto;min-height:900px}.tt99-word-layout{grid-template-columns:1fr}.tt99-word-grid{width:min(100%,320px)} }
@media(max-width:470px){.tt99-games-grid3,.tt99-games-grid2,.tt99-games-topic-grid,.tt99-games-choice-row{grid-template-columns:1fr}.tt99-games-preview-toolbar{align-items:flex-start;flex-direction:column}.tt99-vocab-add-body{grid-template-columns:1fr}.tt99-vocab-add-body .wide{grid-column:auto}}

@media print{
  @page{size:A4 portrait;margin:0}
  body{background:#fff!important}.masthead,.page__footer,#site-nav,.tt99-games-hero,.tt99-games-principle,.tt99-games-controls,.tt99-games-preview-toolbar{display:none!important}
  .initial-content,.page,.page__inner-wrap,.page__content,.tt99-page-main,#main{margin:0!important;padding:0!important;max-width:none!important;width:100%!important}
  .tt99-games-shell,.tt99-games-workspace,.tt99-games-preview{display:block!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important;max-width:none!important}
  .tt99-games-preview-stack{display:block!important}.tt99-games-answer-pages{display:none!important}#tt99-games-root.include-answers .tt99-games-answer-pages{display:block!important}
  .tt99-game-paper{box-sizing:border-box;width:210mm;height:297mm;aspect-ratio:auto;margin:0!important;padding:12mm 12mm 11mm;border:0;border-radius:0;box-shadow:none;page-break-after:always;break-after:page;overflow:hidden}
  .tt99-game-paper:last-child{page-break-after:auto}.tt99-game-paper>header{padding-bottom:4mm}.tt99-game-paper h2{font-size:15pt}.tt99-game-paper header span,.tt99-game-paper header p,.tt99-game-name-line{font-size:7.2pt}.tt99-game-activities{height:246mm;padding-top:4mm;gap:4mm}.tt99-game-activity{padding:4mm;border-radius:3mm}.tt99-game-activity h3{font-size:11pt}.tt99-game-activity-head>div>span,.tt99-game-activity-head>small,.tt99-game-instruction{font-size:7pt}.tt99-word-grid span{font-size:8.2pt}.tt99-word-bank span{font-size:7pt}.tt99-word-clues li,.tt99-word-answer-list{font-size:6.7pt}.tt99-pyramid-row{grid-template-columns:repeat(var(--cells),16mm)}.tt99-pyramid-row span{font-size:10pt}.tt99-game-paper>footer{bottom:7mm;font-size:5.5pt}
}
/* Density safeguards when teachers place several activities on one A4 sheet. */
.tt99-game-activities.count-2 .tt99-word-grid{width:min(100%,300px)}
.tt99-game-activities.count-3 .tt99-word-grid{width:min(100%,220px)}
.tt99-game-activities.count-3 .tt99-word-grid span{font-size:clamp(4.3px,.58vw,7.5px)}
.tt99-game-activities.count-3 .tt99-word-clues li,.tt99-game-activities.count-3 .tt99-word-bank span{font-size:clamp(4px,.48vw,6.3px)}
@media print{
  .tt99-game-activities.count-1 .tt99-word-grid{width:min(100%,105mm)}
  .tt99-game-activities.count-2 .tt99-word-grid{width:min(100%,82mm)}
  .tt99-game-activities.count-3 .tt99-word-grid{width:min(100%,58mm)}
  .tt99-game-activities.count-3 .tt99-word-grid span{font-size:5.8pt}
  .tt99-game-activities.count-3 .tt99-word-clues li,.tt99-game-activities.count-3 .tt99-word-bank span{font-size:5.6pt}
}


/* v1.1 — scalable per-game configuration */
.tt99-engine-library{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.tt99-engine-card{position:relative;display:grid;grid-template-columns:1fr auto;gap:8px 10px;align-items:start;padding:11px;border:1.5px solid #d8e2e4;border-radius:12px;background:#fbfcfc;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.tt99-engine-card.is-selected{border-color:#86beb7;background:#f3faf8}
.tt99-engine-card.is-active{box-shadow:0 0 0 3px rgba(20,125,117,.08)}
.tt99-engine-card.is-incompatible{opacity:.52;background:#f5f7f7}
.tt99-engine-include{display:flex;gap:9px;align-items:flex-start;min-width:0;cursor:pointer}
.tt99-engine-include input{position:absolute;opacity:0;pointer-events:none}
.tt99-engine-check{position:relative;flex:0 0 19px;width:19px;height:19px;margin-top:1px;border:1.5px solid #aebdc0;border-radius:6px;background:#fff}
.tt99-engine-card.is-selected .tt99-engine-check{border-color:var(--tt99-teal);background:var(--tt99-teal)}
.tt99-engine-card.is-selected .tt99-engine-check:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.tt99-engine-include b,.tt99-engine-include small{display:block}
.tt99-engine-include b{font-size:.75rem;line-height:1.25}
.tt99-engine-include small{margin-top:2px;color:#839195;font-size:.57rem;font-weight:750}
.tt99-engine-summary{grid-column:1/-1;display:flex;gap:5px;flex-wrap:wrap}
.tt99-engine-summary span{display:inline-flex;padding:3px 6px;border:1px solid #dbe5e5;border-radius:999px;background:#fff;color:#5c7175;font-size:.54rem;font-weight:750;line-height:1.2}
.tt99-engine-configure{grid-column:1/-1;justify-self:start;appearance:none;border:0;padding:2px 0;background:transparent;color:var(--tt99-teal-dark);font:850 .62rem/1.3 system-ui;cursor:pointer}
.tt99-engine-configure:disabled{color:#9aa6a9;cursor:not-allowed}
.tt99-engine-compatibility{grid-column:1/-1;margin:0;color:#7d898c;font-size:.56rem}
.tt99-engine-panel{margin-top:11px;padding:13px;border:1.5px solid #a8d0ca;border-radius:13px;background:linear-gradient(180deg,#f3faf8,#fbfdfc);box-shadow:inset 0 1px 0 #fff}
.tt99-engine-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}
.tt99-engine-panel-head small{display:block;color:#7d9093;font-size:.56rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.tt99-engine-panel-head h3{margin:1px 0 0;font-size:.88rem}
.tt99-engine-panel-head button{appearance:none;display:grid;place-items:center;width:27px;height:27px;border:1px solid #d7e2e2;border-radius:8px;background:#fff;color:#65777b;font:700 1rem/1 system-ui;cursor:pointer}
.tt99-engine-choice3{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:6px}
.tt99-engine-choice3 button{appearance:none;text-align:left;min-height:57px;padding:8px 9px;border:1.5px solid #d5e0e2;border-radius:9px;background:#fff;color:var(--tt99-ink);font:inherit;cursor:pointer}
.tt99-engine-choice3 button.is-selected{border-color:var(--tt99-teal);background:var(--tt99-mint)}
.tt99-engine-choice3 b,.tt99-engine-choice3 small{display:block}
.tt99-engine-choice3 b{font-size:.69rem}
.tt99-engine-choice3 small{margin-top:2px;color:#748488;font-size:.54rem;line-height:1.22}
.tt99-engine-panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:11px}
.tt99-engine-panel-grid .tt99-field:first-child:nth-last-child(3){grid-column:1/-1}
.tt99-field small{display:block;margin-top:4px;color:#819095;font-size:.56rem;line-height:1.3}
.tt99-word-pairs{display:flex;flex-direction:column;gap:4px}
.tt99-word-pairs>div{padding:4px 6px;border-left:2px solid #b9dcd7;background:#f8fbfa}
.tt99-word-pairs b,.tt99-word-pairs span{display:block}
.tt99-word-pairs b{color:#2e514f;font-size:clamp(4.7px,.58vw,7.4px);line-height:1.15}
.tt99-word-pairs span{margin-top:1px;color:#586b70;font-size:clamp(4.2px,.51vw,6.7px);line-height:1.22}
.tt99-game-activities.count-2 .tt99-word-pairs>div{padding:3px 5px}
.tt99-game-activities.count-3 .tt99-word-pairs{gap:2px}
.tt99-game-activities.count-3 .tt99-word-pairs>div{padding:2px 4px}
.tt99-game-activities.count-3 .tt99-word-pairs b{font-size:clamp(4px,.47vw,6px)}
.tt99-game-activities.count-3 .tt99-word-pairs span{font-size:clamp(3.7px,.43vw,5.5px)}
@media(max-width:720px){
  .tt99-engine-library{grid-template-columns:1fr}
  .tt99-engine-choice3{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:470px){
  .tt99-engine-choice3,.tt99-engine-panel-grid{grid-template-columns:1fr}
  .tt99-engine-panel-grid .tt99-field:first-child:nth-last-child(3){grid-column:auto}
}
@media print{
  .tt99-word-pairs b{font-size:6.7pt}
  .tt99-word-pairs span{font-size:6pt}
  .tt99-game-activities.count-3 .tt99-word-pairs b{font-size:5.3pt}
  .tt99-game-activities.count-3 .tt99-word-pairs span{font-size:4.9pt}
}

/* v1.2 — curated vocabulary, Crossword, worked examples and selective replacement */
.tt99-games-grid2>.wide{grid-column:1/-1}
.tt99-preview-edit-hint{display:block;margin-top:2px;color:#71868a;font-size:.56rem;line-height:1.3}
.tt99-game-activity{position:relative}
.tt99-preview-replace{appearance:none;display:grid;place-items:center;width:24px;height:24px;padding:0;border:1px solid #c8d7d8;border-radius:999px;background:rgba(255,255,255,.96);color:#0f766e;font:900 15px/1 system-ui;cursor:pointer;box-shadow:0 1px 3px rgba(18,50,75,.08);transition:transform .12s ease,border-color .12s ease,background .12s ease}
.tt99-preview-replace:hover,.tt99-preview-replace:focus-visible{border-color:#0f8a83;background:#eff9f7;transform:rotate(18deg);outline:none}
.tt99-replace-activity{position:absolute;z-index:5;right:8px;top:8px;opacity:.42}
.tt99-game-activity:hover>.tt99-replace-activity,.tt99-game-activity:focus-within>.tt99-replace-activity{opacity:1}
.tt99-replace-word{flex:0 0 20px;width:20px;height:20px;font-size:12px;opacity:.35}
.tt99-word-pairs>div{display:flex;align-items:flex-start;gap:5px}
.tt99-word-pair-copy{display:block;min-width:0;flex:1}
.tt99-word-pairs>div:hover .tt99-replace-word,.tt99-word-clues li:hover .tt99-replace-word{opacity:1}
.tt99-word-clues li{position:relative;padding-right:23px}
.tt99-word-clues li>.tt99-replace-word{position:absolute;right:0;top:-2px}

.tt99-crossword-layout{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(190px,1.1fr);gap:12px;align-items:start;height:calc(100% - 58px)}
.tt99-crossword-grid{display:grid;grid-template-columns:repeat(var(--cw),1fr);aspect-ratio:1;border:1.5px solid #49676c;background:#49676c;gap:1px;max-width:100%;max-height:100%;justify-self:center}
.tt99-crossword-grid>span{position:relative;display:grid;place-items:center;min-width:0;background:#fff}
.tt99-crossword-grid>span.black{background:#486268}
.tt99-crossword-grid>span.open{border:0}
.tt99-crossword-grid i{position:absolute;left:2px;top:1px;color:#51666a;font:700 clamp(3.5px,.35vw,5.5px)/1 system-ui;font-style:normal}
.tt99-crossword-grid b{color:#203f44;font:850 clamp(5px,.6vw,8px)/1 system-ui}
.tt99-crossword-clues{min-width:0;overflow:hidden}
.tt99-crossword-clue-group h4{margin:0 0 3px;color:#2e5756;font-size:clamp(5px,.62vw,8px)}
.tt99-crossword-clue-group ol{margin:0 0 7px;padding-left:22px}
.tt99-crossword-clue-group li{margin:0 0 2px;color:#455b61;font-size:clamp(4px,.49vw,6.5px);line-height:1.18}
.tt99-crossword-bank{margin-top:5px;padding:5px 6px;border:1px solid #dce6e6;border-radius:6px;background:#f7fbfa;color:#52686c;font-size:clamp(4px,.48vw,6.4px);line-height:1.25}

.tt99-worked-page .tt99-worked-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7mm;height:246mm;padding-top:5mm;align-content:start}
.tt99-worked-page .tt99-worked-grid.count-1{grid-template-columns:1fr}
.tt99-worked-example{min-height:0;padding:5mm;border:1.5px solid #c9dcda;border-radius:4mm;background:#fbfdfc;break-inside:avoid}
.tt99-worked-example h3{margin:0 0 2mm;color:#183f43;font-size:12pt}
.tt99-worked-example p,.tt99-worked-example li{color:#4c6165;font-size:8pt;line-height:1.35}
.tt99-worked-example ol{margin:3mm 0 0;padding-left:5mm}
.tt99-worked-example .tt99-word-grid.worked{width:min(56mm,100%);margin:3mm auto}
.tt99-worked-pyramid{display:flex;flex-direction:column;align-items:center;gap:2mm;margin:4mm 0}
.tt99-worked-answer{display:flex;justify-content:center;gap:1mm;margin:4mm 0}
.tt99-worked-answer span{display:grid;place-items:center;width:7mm;height:7mm;border:1px solid #6e8c8a;background:#fff;font-weight:800}

.tt99-game-activities.count-2 .tt99-crossword-layout{grid-template-columns:minmax(130px,.85fr) minmax(170px,1.15fr);gap:8px}
.tt99-game-activities.count-3 .tt99-crossword-layout{grid-template-columns:minmax(100px,.8fr) minmax(130px,1.2fr);gap:6px}
.tt99-game-activities.count-3 .tt99-crossword-clue-group li{font-size:clamp(3.6px,.41vw,5.4px)}

@media(max-width:720px){
  .tt99-crossword-layout{grid-template-columns:1fr}.tt99-crossword-grid{width:min(100%,360px)}
  .tt99-worked-page .tt99-worked-grid{grid-template-columns:1fr;height:auto}
}
@media print{
  .tt99-preview-replace,.tt99-preview-edit-hint{display:none!important}
  .tt99-crossword-grid i{font-size:4.8pt}.tt99-crossword-grid b{font-size:7pt}.tt99-crossword-clue-group h4{font-size:7pt}.tt99-crossword-clue-group li,.tt99-crossword-bank{font-size:5.8pt}
  .tt99-game-activities.count-1 .tt99-crossword-grid{width:min(100%,92mm)}
  .tt99-game-activities.count-2 .tt99-crossword-grid{width:min(100%,69mm)}
  .tt99-game-activities.count-3 .tt99-crossword-grid{width:min(100%,48mm)}
  .tt99-worked-page .tt99-worked-grid{height:246mm}.tt99-worked-example .tt99-word-grid.worked span{font-size:7pt}
}
