.wlcl-backdrop{position:fixed;inset:0;z-index:10080;display:none;overflow:auto;background:rgba(20,28,48,.72);padding:clamp(8px,2vw,24px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#20314c}
.wlcl-backdrop.show{display:block}.wlcl-app{width:min(1540px,100%);min-height:calc(100vh - clamp(16px,4vw,48px));margin:auto;border-radius:28px;background:#f7f9fd;box-shadow:0 24px 70px rgba(8,18,42,.3);overflow:hidden}
.wlcl-head{--wlcl-rr-ink:#fff;--wlcl-rr-ink-soft:#f6d693;--wlcl-rr-tile:rgba(255,255,255,.08);--wlcl-rr-tile-hover:rgba(255,255,255,.15);--wlcl-rr-edge:rgba(246,214,147,.46);--wlcl-rr-edge-hover:#f6d693;--wlcl-rr-rule:rgba(246,214,147,.4);--wlcl-rr-shadow:0 5px 14px rgba(0,0,0,.18);position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:10px clamp(14px,2.5vw,34px);background:linear-gradient(100deg,rgba(16,43,52,.98),rgba(23,61,73,.96));border-bottom:2px solid #b58a42;box-shadow:0 8px 22px rgba(9,29,38,.2);backdrop-filter:blur(14px)}
.wlcl-close,.wlcl-btn,.wlcl-tab,.wlcl-chip,.wlcl-tool button{min-height:48px;border:1px solid #bfd0e5;border-radius:14px;background:#fff;color:#24436d;padding:10px 16px;cursor:pointer;touch-action:manipulation}
/* ★ TYPE — LONGHAND ONLY, and deliberately inside :where(). See the note at the
   foot of this file. Shorthand `font:750 …/1.15 inherit` was INVALID and dropped,
   so these controls rendered at the UA default (~13px, weight 400, Arial). The
   :where() keeps this a zero-specificity DEFAULT, so any tool's own font-size
   (.wl-num-choice, .wlcl-picture, .wl-num-mark …) still wins as it did before. */
:where(.wlcl-close,.wlcl-btn,.wlcl-tab,.wlcl-chip,.wlcl-tool button){font-family:inherit;font-weight:750;font-size:clamp(.95rem,1.15vw,1.08rem);line-height:1.15}
.wlcl-close:hover,.wlcl-btn:hover,.wlcl-tab:hover,.wlcl-chip:hover,.wlcl-tool button:hover{border-color:#527eb7;background:#edf5ff}.wlcl-close:focus-visible,.wlcl-btn:focus-visible,.wlcl-tab:focus-visible,.wlcl-chip:focus-visible,.wlcl-tool :focus-visible{outline:4px solid rgba(39,117,205,.27);outline-offset:2px}
.wlcl-room-return{display:grid;grid-template-columns:58px auto;align-items:center;gap:10px;min-height:64px!important;overflow:hidden;padding:0 14px 0 0!important;border:1px solid var(--wlcl-rr-edge)!important;background:var(--wlcl-rr-tile)!important;color:var(--wlcl-rr-ink)!important;text-align:left;box-shadow:var(--wlcl-rr-shadow)}.wlcl-room-return img{display:block;width:58px;height:62px;object-fit:cover;border-right:1px solid var(--wlcl-rr-rule)}.wlcl-room-return span{display:block}.wlcl-room-return small{display:block;margin-bottom:3px;color:var(--wlcl-rr-ink-soft);font-size:.64rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.wlcl-room-return strong{display:block;color:var(--wlcl-rr-ink);font-family:Georgia,serif;font-size:.9rem;line-height:1.15}.wlcl-room-return:hover{border-color:var(--wlcl-rr-edge-hover)!important;background:var(--wlcl-rr-tile-hover)!important}
/* ★ THE RETURN TILE FOLLOWS THE HEAD IT SITS ON (2026-08-18).
   `.wlcl-room-return` used to hard-code white ink + a white 8%-alpha tile with
   !important, which is right on the default dark teal head and invisible on a
   light one: measured ~1.16:1 in the Number Line pass and photographed live on
   Data Studio (CURIO_GAMES_WORKING_ORDER_REVIEW_2026-08-18 §5.1). It is now
   painted from tokens declared BY THE HEAD, so the same rule that lights a head
   also supplies the ink and the two can never drift apart.
   ⛔ CONTRACT: any tool that repaints `.wlcl-head` light MUST set these tokens in
   that same rule — or add `data-surface="light"` to its head for the shared
   defaults below. A light head with neither is the bug all over again. */
.wlcl-head[data-surface="light"]{--wlcl-rr-ink:#24436d;--wlcl-rr-ink-soft:#5d6f8d;--wlcl-rr-tile:#fff;--wlcl-rr-tile-hover:#eef4fd;--wlcl-rr-edge:#c7d6e8;--wlcl-rr-edge-hover:#527eb7;--wlcl-rr-rule:#dbe5f1;--wlcl-rr-shadow:0 5px 12px rgba(30,53,84,.12)}
.wlcl-title{min-width:0}.wlcl-title small{display:block;color:#f6d693;font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.wlcl-title strong{display:block;overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,serif;font-size:clamp(1.2rem,2.1vw,2rem)}
.wlcl-modebar{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:12px 18px;background:#edf3fb;border-bottom:1px solid #d9e4f2}.wlcl-tab.on{background:#315f9d;border-color:#315f9d;color:#fff}
.wlcl-body{padding:clamp(14px,2.5vw,36px)}.wlcl-tool{max-width:1420px;margin:auto}.wlcl-intro{margin:0 auto 20px;text-align:center}.wlcl-intro h2{margin:0 0 8px;font-size:clamp(1.65rem,3vw,2.7rem)}.wlcl-intro p{max-width:920px;margin:auto;color:#5b6d89;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.5}
.wlcl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}.wlcl-panel{min-width:0;padding:clamp(16px,2vw,25px);border:1px solid #d8e2ef;border-radius:22px;background:#fff;box-shadow:0 8px 24px rgba(30,53,84,.07)}.wlcl-panel h3{margin:0 0 14px;font-size:clamp(1.15rem,1.7vw,1.45rem)}
.wlcl-controls{display:flex;flex-wrap:wrap;align-items:end;gap:10px}.wlcl-field{display:grid;gap:6px;min-width:130px;flex:1;color:#536682;font-weight:750}.wlcl-field input,.wlcl-field select,.wlcl-field textarea{box-sizing:border-box;width:100%;min-height:50px;border:2px solid #c7d6e8;border-radius:13px;background:#fff;color:#1e3557;padding:10px 12px}:where(.wlcl-field input,.wlcl-field select,.wlcl-field textarea){font-family:inherit;font-weight:700;font-size:1.05rem;line-height:1.3}.wlcl-field textarea{min-height:110px;resize:vertical}.wlcl-primary{background:#2e70bd!important;border-color:#2e70bd!important;color:#fff!important}.wlcl-danger{color:#9c3144!important}.wlcl-muted{color:#687b97}.wlcl-help{margin:14px 0 0;padding:13px 15px;border-radius:14px;background:#fff4cc;color:#584b20;line-height:1.45}.wlcl-answer{margin-top:14px;padding:16px;border-radius:16px;background:#eaf8f2;color:#174d3c;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.5}.wlcl-answer.bad{background:#fff0ef;color:#753028}
.wlcl-number{display:grid;place-items:center;min-height:160px;border-radius:20px;background:linear-gradient(145deg,#e9f4ff,#f6efff);font-size:clamp(3rem,9vw,7rem);font-weight:850;color:#284d83}.wlcl-fraction{display:inline-grid;grid-template-rows:auto 3px auto;place-items:center;vertical-align:middle;min-width:2.3em;line-height:1}.wlcl-fraction i{width:100%;height:3px;background:currentColor}.wlcl-fraction b{padding:4px 7px}
.wlcl-canvas{display:block;width:100%;height:auto;min-height:260px;border:2px solid #cbd9ea;border-radius:18px;background:#fff;touch-action:none}.wlcl-tokenrow{display:flex;flex-wrap:wrap;gap:10px}.wlcl-token{display:grid;place-items:center;min-width:58px;min-height:58px;border-radius:50%!important;background:#ffe07c!important;border:3px solid #c3942e!important;color:#493614!important}.wlcl-note{border-radius:12px!important;background:#92d6ad!important;border:3px solid #297d50!important;color:#153f2b!important}.wlcl-wordcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.wlcl-pair-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wlcl-pair-cards{grid-template-columns:1fr;grid-auto-rows:minmax(170px,auto)}.wlcl-pair-cards>button{box-sizing:border-box;width:100%}.wlcl-pair-word{font-size:clamp(1.5rem,2.6vw,2.25rem)!important}.wlcl-picture{display:grid;place-items:center;gap:8px;min-height:170px;padding:12px;border:2px solid #d4deeb;border-radius:18px;background:#fff}.wlcl-pair-cards .wlcl-picture{min-height:170px;padding:12px;border-width:2px}.wlcl-picture img{width:110px;height:90px;object-fit:contain}.wlcl-picture.matched{border-color:#2b996c;background:#eaf8f2}.wlcl-bigword{font-size:clamp(1.35rem,2.5vw,2.2rem);font-weight:850}
.wlcl-pair-cards>button{min-width:0}
.wlcl-bars{display:grid;gap:18px}.wlcl-bar{display:grid;min-height:70px;border:3px solid #29466e;border-radius:8px;overflow:hidden}.wlcl-bar span{display:grid;place-items:center;border-right:2px solid #29466e;background:#fff}.wlcl-bar span:last-child{border-right:0}.wlcl-bar span.on{background:#9f83eb}.wlcl-hundred{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}.wlcl-cell{aspect-ratio:1;border:1px solid #aac0db!important;border-radius:5px!important;padding:0!important;min-height:36px!important;background:#fff!important}.wlcl-cell.on{background:#67c8b3!important;color:#123c33}.wlcl-cell.hidden{color:transparent}.wlcl-equation{font-size:clamp(1.5rem,3vw,2.6rem);font-weight:850;text-align:center}.wlcl-stat{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e3e9f1;font-size:1.05rem}.wlcl-stat:last-child{border:0}.wlcl-dice{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.wlcl-die{display:grid;place-items:center;min-height:130px;padding:16px;border:2px solid #cad8e8;border-radius:20px;background:linear-gradient(145deg,#fff,#edf5ff);text-align:center;font-weight:800;font-size:1.12rem}.wlcl-die.locked{border-color:#cd9835;background:#fff6d9}
.wlcl-settings{display:grid;gap:14px}.wlcl-setting-row{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,2fr);align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #e2e8f0}.wlcl-switch{display:flex;align-items:center;gap:8px}.wlcl-settings-note{padding:12px;border-radius:12px;background:#edf6ff;color:#345275}.wlcl-settings-host .go-btn{margin-top:10px}
@media(max-width:700px){.wlcl-backdrop{padding:0}.wlcl-app{min-height:100vh;border-radius:0}.wlcl-head{grid-template-columns:auto minmax(0,1fr);gap:8px;padding:7px}.wlcl-head .wlcl-btn{grid-column:1/-1}.wlcl-room-return{grid-template-columns:46px auto;min-height:52px!important;padding-right:8px!important}.wlcl-room-return img{width:46px;height:50px}.wlcl-room-return small{display:none}.wlcl-room-return strong{max-width:29vw;font-size:.76rem}.wlcl-body{padding:12px}.wlcl-panel{border-radius:16px}.wlcl-setting-row{grid-template-columns:1fr}.wlcl-close,.wlcl-btn,.wlcl-tab,.wlcl-chip,.wlcl-tool button{min-height:52px}.wlcl-canvas{min-height:220px}}
@media(min-width:1500px){.wlcl-close,.wlcl-btn,.wlcl-tab,.wlcl-chip,.wlcl-tool button{min-height:58px}:where(.wlcl-close,.wlcl-btn,.wlcl-tab,.wlcl-chip,.wlcl-tool button){font-size:1.15rem}.wlcl-panel{padding:28px}.wlcl-field input,.wlcl-field select{min-height:58px}:where(.wlcl-field input,.wlcl-field select){font-size:1.2rem}}
@media(prefers-reduced-motion:reduce){.wlcl-backdrop *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Mathematics workshops — a shared game-like finish for the ten Curio tools. */
.wlcl-maths-app{--wlcl-accent:#6f64e8;--wlcl-accent-2:#a99fff;--wlcl-ink:#edf4ff;--wlcl-night:#10172d;position:relative;isolation:isolate;width:min(1540px,100%);background:radial-gradient(circle at 8% 0,color-mix(in srgb,var(--wlcl-accent) 25%,transparent),transparent 31%),radial-gradient(circle at 94% 72%,color-mix(in srgb,var(--wlcl-accent-2) 18%,transparent),transparent 32%),linear-gradient(145deg,#151d36 0,#0d1326 62%,#121930 100%);color:var(--wlcl-ink);border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 90px rgba(3,8,22,.48)}
.wlcl-maths-app[data-accent="cyan"]{--wlcl-accent:#1bb6ca;--wlcl-accent-2:#76e0de}.wlcl-maths-app[data-accent="amber"]{--wlcl-accent:#f09a34;--wlcl-accent-2:#ffd06d}.wlcl-maths-app[data-accent="green"]{--wlcl-accent:#35b879;--wlcl-accent-2:#8ee6a8}.wlcl-maths-app[data-accent="gold"]{--wlcl-accent:#d99b24;--wlcl-accent-2:#ffe178}.wlcl-maths-app[data-accent="blue"]{--wlcl-accent:#378be3;--wlcl-accent-2:#83c8ff}.wlcl-maths-app[data-accent="teal"]{--wlcl-accent:#1da693;--wlcl-accent-2:#73ddc5}.wlcl-maths-app[data-accent="indigo"]{--wlcl-accent:#6e63e8;--wlcl-accent-2:#b09cff}.wlcl-maths-app[data-accent="lime"]{--wlcl-accent:#78b832;--wlcl-accent-2:#c3e96a}.wlcl-maths-app[data-accent="coral"]{--wlcl-accent:#e46859;--wlcl-accent-2:#ffb083}
.wlcl-maths-app:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.23;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(180deg,#000,transparent 72%)}
.wlcl-maths-app .wlcl-head{position:sticky;grid-template-columns:auto minmax(0,1fr);padding:10px clamp(14px,2.3vw,32px);background:linear-gradient(100deg,rgba(16,43,52,.98),rgba(23,61,73,.96));border-color:#b58a42;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.wlcl-maths-app .wlcl-title small{color:var(--wlcl-accent-2);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.wlcl-maths-app .wlcl-title strong{color:#fff;letter-spacing:-.02em}
.wlcl-maths-app .wlcl-close{border:1px solid rgba(246,214,147,.46);background:rgba(255,255,255,.08);color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.2);transition:transform .14s ease,background .14s ease,border-color .14s ease}.wlcl-maths-app .wlcl-close:hover{transform:translateY(-2px);border-color:#f6d693;background-color:rgba(255,255,255,.14)}.wlcl-maths-app .wlcl-close:active{transform:translateY(1px)}
.wlcl-maths-app .wlcl-modebar{position:relative;z-index:2;flex-wrap:nowrap;max-width:560px;margin:12px auto 0;padding:5px;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(3,8,22,.42);box-shadow:inset 0 1px rgba(255,255,255,.06)}.wlcl-maths-app .wlcl-tab{flex:1;min-width:0;min-height:44px;border:0;background:transparent;color:#bfcbe0;font-size:.9rem}.wlcl-maths-app .wlcl-tab:hover{border:0;background:rgba(255,255,255,.08);color:#fff}.wlcl-maths-app .wlcl-tab.on{border:0;background:linear-gradient(135deg,var(--wlcl-accent),color-mix(in srgb,var(--wlcl-accent) 74%,#18203a));color:#fff;box-shadow:0 6px 16px color-mix(in srgb,var(--wlcl-accent) 28%,transparent)}
.wlcl-maths-app .wlcl-body{padding-top:16px;overflow:hidden}.wlcl-maths-app .wlcl-tool{max-width:1320px}
.wlcl-maths-app .wlcl-intro{margin-bottom:16px;text-align:left}.wlcl-maths-app .wlcl-intro h2{display:flex;align-items:center;gap:10px;margin-bottom:6px;color:#fff;font-size:clamp(1.45rem,2.5vw,2.25rem);letter-spacing:-.025em}.wlcl-maths-app .wlcl-intro h2:before{content:"";width:8px;height:1.15em;border-radius:99px;background:var(--wlcl-accent);box-shadow:0 0 18px var(--wlcl-accent)}.wlcl-maths-app .wlcl-intro p{max-width:none;margin:0;color:#bac6da;font-size:clamp(.95rem,1.25vw,1.08rem)}
.wlcl-maths-app .wlcl-grid{gap:16px}.wlcl-maths-app .wlcl-panel{position:relative;border:1px solid rgba(255,255,255,.13);background:linear-gradient(155deg,rgba(255,255,255,.1),rgba(255,255,255,.055));color:#eaf1fc;box-shadow:0 14px 35px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.08);backdrop-filter:blur(10px)}.wlcl-maths-app .wlcl-panel:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:22px 0 0 22px;background:linear-gradient(var(--wlcl-accent-2),var(--wlcl-accent));opacity:.9}.wlcl-maths-app .wlcl-panel h3{color:#fff}.wlcl-maths-app .wlcl-muted{color:#aebbd0}
.wlcl-maths-app .wlcl-field{color:#c7d2e3}.wlcl-maths-app .wlcl-field input,.wlcl-maths-app .wlcl-field select,.wlcl-maths-app .wlcl-field textarea{border-color:rgba(194,213,239,.36);background:rgba(5,11,27,.5);color:#fff;box-shadow:inset 0 2px 8px rgba(0,0,0,.18);transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.wlcl-maths-app .wlcl-field input:focus,.wlcl-maths-app .wlcl-field select:focus,.wlcl-maths-app .wlcl-field textarea:focus{border-color:var(--wlcl-accent-2);background:rgba(8,15,35,.78);box-shadow:0 0 0 4px color-mix(in srgb,var(--wlcl-accent) 22%,transparent),inset 0 2px 8px rgba(0,0,0,.16);outline:0}.wlcl-maths-app .wlcl-field textarea::placeholder{color:#7f8da5}
.wlcl-maths-app .wlcl-tool button{border-color:color-mix(in srgb,var(--wlcl-accent) 38%,rgba(255,255,255,.25));background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.07));color:#fff;box-shadow:0 5px 13px rgba(0,0,0,.18);font-weight:850;transition:transform .13s ease,border-color .13s ease,background .13s ease}.wlcl-maths-app .wlcl-tool button:hover{transform:translateY(-2px);border-color:var(--wlcl-accent-2);background:color-mix(in srgb,var(--wlcl-accent) 22%,rgba(255,255,255,.08))}.wlcl-maths-app .wlcl-tool button:active{transform:translateY(1px);box-shadow:0 2px 6px rgba(0,0,0,.2)}.wlcl-maths-app .wlcl-tool .wlcl-primary{background:linear-gradient(135deg,var(--wlcl-accent),color-mix(in srgb,var(--wlcl-accent) 68%,#17203b))!important;border-color:var(--wlcl-accent-2)!important}
.wlcl-maths-app .wlcl-number{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--wlcl-accent) 32%,rgba(255,255,255,.12));background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--wlcl-accent) 24%,transparent),transparent 52%),rgba(5,11,28,.48);color:#fff;text-shadow:0 0 24px color-mix(in srgb,var(--wlcl-accent) 56%,transparent);box-shadow:inset 0 0 28px rgba(0,0,0,.18)}.wlcl-maths-app .wlcl-number:after{content:"";position:absolute;right:-35px;bottom:-55px;width:150px;height:150px;border:1px solid color-mix(in srgb,var(--wlcl-accent-2) 25%,transparent);border-radius:50%}
.wlcl-maths-app .wlcl-stat{border-color:rgba(255,255,255,.1);color:#c9d5e7}.wlcl-maths-app .wlcl-stat strong{color:#fff}.wlcl-maths-app .wlcl-equation{margin:10px 0;padding:16px;border:1px solid color-mix(in srgb,var(--wlcl-accent) 30%,rgba(255,255,255,.1));border-radius:16px;background:rgba(4,10,27,.38);color:#fff;text-shadow:0 0 18px color-mix(in srgb,var(--wlcl-accent) 32%,transparent)}
.wlcl-maths-app .wlcl-help{border:1px solid rgba(255,209,101,.23);background:rgba(87,65,18,.32);color:#ffe7aa}.wlcl-maths-app .wlcl-answer{position:relative;padding-left:44px;border:1px solid rgba(95,220,169,.24);background:rgba(25,104,76,.28);color:#c9ffe7}.wlcl-maths-app .wlcl-answer:before{content:"✓";position:absolute;left:14px;top:15px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#40b684;color:#071b16;font-size:.75rem;font-weight:950}.wlcl-maths-app .wlcl-answer.bad{border-color:rgba(255,132,119,.28);background:rgba(117,39,45,.3);color:#ffd4d0}.wlcl-maths-app .wlcl-answer.bad:before{content:"↻";background:#ff9386;color:#35100c}
.wlcl-maths-app .wlcl-canvas{border-color:color-mix(in srgb,var(--wlcl-accent) 42%,#9cb3d0);background:#f9fcff;box-shadow:0 10px 26px rgba(0,0,0,.22)}.wlcl-maths-app .wlcl-hundred{gap:5px;padding:10px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(4,10,25,.35)}.wlcl-maths-app .wlcl-cell{border-color:rgba(255,255,255,.18)!important;background:rgba(255,255,255,.08)!important;color:#dce7f6}.wlcl-maths-app .wlcl-cell.on{border-color:var(--wlcl-accent-2)!important;background:linear-gradient(145deg,var(--wlcl-accent),color-mix(in srgb,var(--wlcl-accent) 65%,#172039))!important;color:#fff;box-shadow:0 3px 9px color-mix(in srgb,var(--wlcl-accent) 25%,transparent)}
.wlcl-maths-app .wlcl-token{box-shadow:0 5px 11px rgba(0,0,0,.2)}.wlcl-maths-app .wlcl-bar{border-color:#a9c0de;background:rgba(255,255,255,.08)}.wlcl-maths-app .wlcl-bar span{border-color:#7890ad;background:rgba(255,255,255,.12);color:#fff}.wlcl-maths-app .wlcl-bar span.on{background:var(--wlcl-accent)}
.wlcl-maths-app .wlcl-clue-title{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;width:100%;min-height:48px;margin:0 0 6px;padding:0 0 11px;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;background:transparent;color:#fff;text-align:left;box-shadow:none}.wlcl-maths-app .wlcl-clue-title span{font-size:clamp(1.15rem,1.7vw,1.45rem);font-weight:900}.wlcl-maths-app .wlcl-clue-title small{color:var(--wlcl-accent-2);font-size:.68rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.wlcl-maths-app .wlcl-clue-title i,.wlcl-maths-app .wlcl-clue i{display:grid;place-items:center;width:25px;height:25px;border:1px solid color-mix(in srgb,var(--wlcl-accent-2) 58%,white);border-radius:50%;background:color-mix(in srgb,var(--wlcl-accent) 26%,transparent);color:#fff;font-family:inherit;font-weight:900;font-size:.78rem;line-height:1;font-style:normal}
.wlcl-maths-app .wlcl-clue{box-sizing:border-box;display:grid;grid-template-columns:minmax(92px,.8fr) minmax(0,1.4fr) 25px;align-items:center;gap:10px;width:100%;min-height:52px;padding:9px 3px 9px 0;border:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;border-radius:0!important;background:transparent!important;color:#c9d5e7!important;text-align:left;box-shadow:none!important}.wlcl-maths-app .wlcl-clue:last-child{border-bottom:0!important}.wlcl-maths-app .wlcl-clue strong{min-width:0;color:#fff;text-align:right;overflow-wrap:anywhere}.wlcl-maths-app .wlcl-clue:hover,.wlcl-maths-app .wlcl-clue-title:hover{transform:none!important;background:color-mix(in srgb,var(--wlcl-accent) 14%,transparent)!important}.wlcl-maths-app .wlcl-clue.is-selected,.wlcl-maths-app .wlcl-clue-title.is-selected{margin-inline:-8px;width:calc(100% + 16px);padding-inline:8px;border-color:var(--wlcl-accent-2)!important;border-radius:10px!important;background:color-mix(in srgb,var(--wlcl-accent) 20%,transparent)!important}.wlcl-maths-app .wlcl-clue:focus-visible,.wlcl-maths-app .wlcl-clue-title:focus-visible{outline:3px solid var(--wlcl-accent-2);outline-offset:2px}
.wlcl-clue-explain{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;max-width:1320px;margin:16px auto 0;padding:15px 17px;border:1px solid color-mix(in srgb,var(--wlcl-accent) 42%,rgba(255,255,255,.16));border-radius:18px;background:linear-gradient(110deg,color-mix(in srgb,var(--wlcl-accent) 15%,rgba(255,255,255,.07)),rgba(255,255,255,.05));color:#dce7f7;box-shadow:0 11px 25px rgba(0,0,0,.16)}.wlcl-clue-explain.show{border-color:var(--wlcl-accent-2);box-shadow:0 11px 28px color-mix(in srgb,var(--wlcl-accent) 17%,transparent)}.wlcl-clue-explain-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:color-mix(in srgb,var(--wlcl-accent) 25%,rgba(255,255,255,.1));font-size:1.25rem}.wlcl-clue-explain small{color:var(--wlcl-accent-2);font-size:.67rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.wlcl-clue-explain p{margin:4px 0 0;font-size:clamp(.94rem,1.25vw,1.08rem);line-height:1.5}.wlcl-clue-explain strong{color:#fff}
.wlcl-panel>.wlcl-clue-explain{margin:10px 0;padding:12px;border-radius:13px;background:color-mix(in srgb,var(--wlcl-accent) 13%,rgba(4,10,27,.5));box-shadow:none}.wlcl-panel>.wlcl-clue-explain .wlcl-clue-explain-icon{width:32px;height:32px;border-radius:10px;font-size:1rem}.wlcl-panel>.wlcl-clue-explain p{font-size:.91rem;line-height:1.45}

/* Number Detective — bright early-years rainbow classroom theme. */
.wlcl-maths-app[data-tool="number-detective"]{--nd-blue:#3e8fed;--nd-green:#36b978;--nd-yellow:#f4bd35;--nd-orange:#ef8248;--nd-purple:#8066df;--nd-pink:#e9679e;--nd-ink:#193757;--wlcl-accent:var(--nd-purple);--wlcl-accent-2:#5d4bbd;background:linear-gradient(90deg,var(--nd-blue) 0 16.6%,var(--nd-green) 16.6% 33.2%,var(--nd-yellow) 33.2% 49.8%,var(--nd-orange) 49.8% 66.4%,var(--nd-pink) 66.4% 83%,var(--nd-purple) 83%) top/100% 10px no-repeat,radial-gradient(circle at 7% 8%,rgba(62,143,237,.2),transparent 28%),radial-gradient(circle at 94% 30%,rgba(233,103,158,.2),transparent 27%),linear-gradient(145deg,#f2f9ff,#fffaf0 54%,#faf3ff);color:var(--nd-ink);border-color:#d5e5f6;box-shadow:0 28px 80px rgba(31,66,110,.28)}
.wlcl-maths-app[data-tool="number-detective"]:before{opacity:.38;background-image:radial-gradient(circle,rgba(92,111,166,.18) 1.3px,transparent 1.5px);background-size:28px 28px;mask-image:linear-gradient(180deg,#000,transparent 78%)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-head{--wlcl-rr-ink:#2c3566;--wlcl-rr-ink-soft:#6b54c5;--wlcl-rr-tile:#fff;--wlcl-rr-tile-hover:#f3f1ff;--wlcl-rr-edge:#d8e5f3;--wlcl-rr-edge-hover:#6b54c5;--wlcl-rr-rule:#e2e8f5;--wlcl-rr-shadow:0 5px 12px rgba(54,82,123,.12);padding-top:18px;border-color:#d8e5f3;background:rgba(255,255,255,.95);box-shadow:0 8px 24px rgba(54,82,123,.1)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-title{max-width:none}.wlcl-maths-app[data-tool="number-detective"] .wlcl-title small{color:#6b54c5}.wlcl-maths-app[data-tool="number-detective"] .wlcl-title strong{color:var(--nd-ink)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-close{border:2px solid #b9cceb;background:#fff;color:#315b89;box-shadow:0 5px 13px rgba(44,81,125,.1)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-body{padding-top:22px}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-intro{text-align:center}.wlcl-maths-app[data-tool="number-detective"] .wlcl-intro h2{justify-content:center;color:var(--nd-ink);font-size:clamp(2rem,4vw,3.25rem)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-intro h2:before{width:12px;background:linear-gradient(var(--nd-blue),var(--nd-green),var(--nd-yellow),var(--nd-orange),var(--nd-pink),var(--nd-purple));box-shadow:none}.wlcl-maths-app[data-tool="number-detective"] .wlcl-intro p{color:#526d88;font-size:clamp(1.05rem,1.6vw,1.3rem)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid{grid-template-columns:minmax(320px,.95fr) repeat(2,minmax(290px,1.025fr));gap:18px}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-panel{border-width:2px;background:#fff;color:var(--nd-ink);box-shadow:0 12px 28px rgba(50,80,119,.12);backdrop-filter:none}.wlcl-maths-app[data-tool="number-detective"] .wlcl-panel:before{width:8px}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:nth-child(1){border-color:#b8d8f7;background:linear-gradient(150deg,#edf7ff,#f0edff)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:nth-child(1):before{background:linear-gradient(var(--nd-blue),var(--nd-purple))}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:nth-child(2){border-color:#bce7cf;background:linear-gradient(150deg,#effcf4,#fff)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:nth-child(2):before{background:linear-gradient(var(--nd-green),var(--nd-blue))}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:nth-child(3){border-color:#f2d681;background:linear-gradient(150deg,#fff9df,#fff)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:nth-child(3):before{background:linear-gradient(var(--nd-yellow),var(--nd-orange),var(--nd-pink))}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-field{color:#3e5f80;font-size:1.08rem}.wlcl-maths-app[data-tool="number-detective"] .wlcl-field input,.wlcl-maths-app[data-tool="number-detective"] .wlcl-field textarea{border:3px solid #bad2ee;background:#fff;color:var(--nd-ink);box-shadow:inset 0 2px 7px rgba(48,78,115,.08);font-size:1.25rem}
.wlcl-maths-app[data-tool="number-detective"] #wlcl-det-n{min-height:72px;padding:14px 18px;border-radius:18px;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:850;letter-spacing:.02em;font-variant-numeric:tabular-nums;appearance:none;-webkit-appearance:none}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-number-limit{color:#607a96;font-size:.82rem;font-weight:800}
.wlcl-maths-app[data-tool="number-detective"] #wlcl-det-n::-webkit-inner-spin-button,.wlcl-maths-app[data-tool="number-detective"] #wlcl-det-n::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-field input:focus,.wlcl-maths-app[data-tool="number-detective"] .wlcl-field textarea:focus{border-color:var(--nd-purple);background:#fff;box-shadow:0 0 0 5px rgba(128,102,223,.16)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-number{min-width:0;min-height:230px;padding-inline:14px;border:3px solid #cabef2;background:radial-gradient(circle at 50% 35%,#fff9cd,transparent 34%),linear-gradient(145deg,#dff1ff,#f2eaff 58%,#ffe9f2);color:#4f40aa;font-size:clamp(5.5rem,12vw,10rem);font-variant-numeric:tabular-nums;white-space:nowrap;text-shadow:none;box-shadow:inset 0 0 28px rgba(103,76,185,.08)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-number-value{position:relative;z-index:1;display:block;max-width:100%}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-number.is-long{display:block;align-content:center;padding:18px;font-size:clamp(2rem,3.7vw,4.5rem);line-height:1.08;letter-spacing:-.025em;text-align:center;white-space:normal}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-number:after{border:14px solid rgba(62,143,237,.1);background:rgba(255,255,255,.22)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-title{border-bottom:0;color:var(--nd-ink)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-title span{font-size:clamp(1.4rem,2.1vw,1.9rem)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-title small{color:#6a52bf}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-title i,.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue i{border:0;background:#6952c6;color:#fff;box-shadow:0 3px 8px rgba(81,61,151,.18)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue{min-height:58px;margin:6px 0;padding:10px 10px!important;border:2px solid transparent!important;border-radius:14px!important;color:#365572!important;box-shadow:none!important}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue strong{color:#173a61;font-size:1.08rem}
.wlcl-maths-app[data-tool="number-detective"] [data-clue="words"],.wlcl-maths-app[data-tool="number-detective"] [data-clue="ten"]{background:#e5f2ff!important}.wlcl-maths-app[data-tool="number-detective"] [data-clue="neighbours"],.wlcl-maths-app[data-tool="number-detective"] [data-clue="hundred"]{background:#e5f8ec!important}.wlcl-maths-app[data-tool="number-detective"] [data-clue="parity"],.wlcl-maths-app[data-tool="number-detective"] [data-clue="factors"]{background:#fff3c7!important}.wlcl-maths-app[data-tool="number-detective"] [data-clue="double"],.wlcl-maths-app[data-tool="number-detective"] [data-clue="rounding"]{background:#ffeadc!important}.wlcl-maths-app[data-tool="number-detective"] [data-clue="prime"],.wlcl-maths-app[data-tool="number-detective"] [data-clue="percent"]{background:#f7e6f1!important}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue:hover,.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-title:hover{background:#fff!important}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue.is-selected,.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-title.is-selected{margin-inline:0;width:100%;border-color:var(--nd-purple)!important;background:#eee9ff!important;box-shadow:0 0 0 4px rgba(128,102,223,.12)!important}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-explain{border:2px solid #c9bbef;background:linear-gradient(110deg,#edf6ff,#fff6d9 54%,#fae9f3);color:#2f4f70;box-shadow:0 9px 22px rgba(73,67,132,.12)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-explain.show{border-color:var(--nd-purple);box-shadow:0 10px 24px rgba(107,80,190,.16)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-explain-icon{background:linear-gradient(145deg,var(--nd-yellow),var(--nd-orange));color:#523613;font-size:1rem;font-weight:950;font-style:normal}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-explain small{color:#674bbc}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-explain p{color:#2f4f70}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue-explain strong{color:#173a61}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-tool>.wlcl-panel{border-color:#e6b9d2;background:linear-gradient(120deg,#fff,#fcecf4 58%,#eee9ff)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-tool>.wlcl-panel:before{background:linear-gradient(var(--nd-pink),var(--nd-purple))}.wlcl-maths-app[data-tool="number-detective"] .wlcl-tool>.wlcl-panel h3{color:var(--nd-ink)}
@media(max-width:1050px){.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(170px,.5fr) minmax(0,1fr);align-items:end;gap:16px}.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:first-child .wlcl-number{min-height:170px}}
@media(max-width:620px){.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid{grid-template-columns:1fr}.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:first-child{grid-column:auto;display:block}.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:first-child .wlcl-number{min-height:150px;margin-top:10px;font-size:clamp(5rem,27vw,7.5rem)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-grid>.wlcl-panel:first-child .wlcl-number.is-long{min-height:180px;padding:12px 8px;font-size:clamp(1.9rem,8vw,2.8rem);line-height:1.05}.wlcl-maths-app[data-tool="number-detective"] #wlcl-det-n{min-height:64px;font-size:1.4rem}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue{grid-template-columns:minmax(88px,.75fr) minmax(0,1.25fr) 25px}.wlcl-maths-app[data-tool="number-detective"] .wlcl-clue strong{font-size:1rem}.wlcl-maths-app[data-tool="number-detective"] .wlcl-intro h2{font-size:2rem}}

/* Number Detective notebook: the approved bright-rainbow learning workspace. */
.wlcl-maths-app[data-tool="number-detective"]{overflow:clip}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-body{background:linear-gradient(90deg,rgba(62,143,237,.08),transparent 20%,rgba(244,189,53,.08) 50%,transparent 80%,rgba(233,103,158,.08))}
.wlcl-nd-notebook{position:relative;display:grid;gap:18px;max-width:1420px;margin:0 auto;padding:clamp(12px,2vw,24px);border:3px solid #b8d8f7;border-radius:30px;background:repeating-linear-gradient(180deg,rgba(62,143,237,.09) 0 2px,transparent 2px 42px),linear-gradient(145deg,#fff,#fffdf3 53%,#fff5fb);box-shadow:0 18px 45px rgba(48,79,119,.14)}
.wlcl-nd-notebook:before{content:"";position:absolute;inset:0 auto 0 clamp(20px,4vw,54px);width:3px;background:rgba(233,103,158,.28);pointer-events:none}.wlcl-nd-notebook>*{position:relative;z-index:1}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-notebook .wlcl-intro{margin:0;padding:8px 12px 2px}.wlcl-nd-kicker{display:inline-flex;padding:7px 13px;border-radius:999px;background:#e8defe;color:#5f47bd;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.wlcl-nd-focus{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(320px,1fr);grid-template-areas:"input number" "places places";align-items:center;gap:14px 20px;padding:clamp(16px,2.2vw,28px);border:3px solid #a9d4fa;border-radius:26px;background:linear-gradient(120deg,#e9f6ff,#fff8d8 48%,#f8eaff);box-shadow:0 9px 0 rgba(62,143,237,.13),0 16px 26px rgba(42,78,119,.11)}
/* #wlcl-nd-random sits on the light "notebook" surface, not the dark app shell, so it needs the
   same light-panel override as #wlcl-nd-add/#wlcl-nd-bin below — otherwise it inherits the shell's
   white-on-transparent button text and reads white-on-cream (the mab-builder contrast bug, see the
   note atop wordlab-curio-learning-core.js). */
.wlcl-maths-app[data-tool="number-detective"] #wlcl-nd-random{margin-top:4px;border:3px solid #a692e8;background:linear-gradient(120deg,#fff,#f1edff);color:#5f47bd;font-weight:850}
.wlcl-nd-focus>.wlcl-field{grid-area:input}.wlcl-nd-focus>.wlcl-number{grid-area:number}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-focus .wlcl-number{min-height:150px;margin:0;padding:14px;border:0;background:rgba(255,255,255,.7);color:#4e45a9;font-size:clamp(3.7rem,7.5vw,6.6rem);font-weight:600;letter-spacing:-.025em;line-height:1.02;box-shadow:inset 0 0 0 3px rgba(128,102,223,.18)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-focus .wlcl-number.is-long{min-height:150px;font-size:clamp(2rem,4.1vw,4.3rem);font-weight:600;white-space:normal}
.wlcl-nd-place-values{grid-area:places;display:flex;gap:9px;overflow-x:auto;padding:5px 2px 9px;scrollbar-color:#9dbfeb #eef6ff;scrollbar-width:thin}.wlcl-nd-place-chip{flex:1 0 90px;min-width:90px;padding:10px 7px;border:2px solid rgba(45,91,137,.16);border-radius:16px;background:#fff;text-align:center;box-shadow:0 5px 10px rgba(43,75,110,.08)}
.wlcl-nd-place-chip:nth-child(6n+1){background:#e5f2ff}.wlcl-nd-place-chip:nth-child(6n+2){background:#e5f8ec}.wlcl-nd-place-chip:nth-child(6n+3){background:#fff3c7}.wlcl-nd-place-chip:nth-child(6n+4){background:#ffeadc}.wlcl-nd-place-chip:nth-child(6n+5){background:#f9e4ef}.wlcl-nd-place-chip:nth-child(6n){background:#eee9ff}
.wlcl-nd-place-chip strong{display:block;color:#193757;font-size:clamp(1.6rem,2.5vw,2.25rem);font-weight:750;line-height:1}.wlcl-nd-place-chip span{display:block;margin-top:5px;color:#496784;font-size:.78rem;font-weight:850;line-height:1.15}.wlcl-nd-place-note{margin:0;color:#526d88;font-weight:800}
.wlcl-nd-clue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-group{padding:18px;border-width:3px;border-radius:23px}.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-group-blue{border-color:#9dcdf7;background:linear-gradient(145deg,#edf7ff,#fff)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-group-yellow{border-color:#efd06e;background:linear-gradient(145deg,#fff8d8,#fff)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-group-pink{border-color:#eeb2cf;background:linear-gradient(145deg,#ffedf5,#f4edff)}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-group-blue:before{background:linear-gradient(var(--nd-blue),var(--nd-green))}.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-group-yellow:before{background:linear-gradient(var(--nd-yellow),var(--nd-orange))}.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-group-pink:before{background:linear-gradient(var(--nd-pink),var(--nd-purple))}
.wlcl-nd-group-help{margin:12px 4px 2px;color:#58718c;font-size:.88rem;font-weight:750;line-height:1.4}
.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-block-lab{padding:clamp(16px,2.2vw,28px);border:3px solid #a9dfc1;background:linear-gradient(125deg,#edfff5,#fffbdc 55%,#edf5ff);box-shadow:0 9px 0 rgba(54,185,120,.13),0 16px 27px rgba(42,91,70,.1)}
.wlcl-nd-section-title{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.wlcl-nd-section-title small{color:#238354;font-size:.78rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.wlcl-nd-section-title h3{margin:3px 0 4px;font-size:clamp(1.65rem,2.6vw,2.35rem)}.wlcl-nd-section-title p{max-width:760px;margin:0;color:#506f68;font-size:1rem;line-height:1.45}
.wlcl-nd-block-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(210px,260px);gap:16px}.wlcl-nd-block-current{position:sticky;z-index:3;top:82px;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 15px;border:3px solid #a694eb;border-radius:18px;background:linear-gradient(90deg,#f1edff,#fff 46%,#e8f7ff);color:#5241ae;box-shadow:0 7px 18px rgba(65,54,130,.16)}.wlcl-nd-block-current span{font-size:.8rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.wlcl-nd-block-current strong{min-width:0;font-size:clamp(1.7rem,3vw,2.7rem);font-weight:650;font-variant-numeric:tabular-nums;line-height:1;overflow-wrap:anywhere}.wlcl-nd-block-box{min-width:0;overflow:hidden;border:4px solid #75b7ef;border-radius:22px;background:#fffdf8;box-shadow:inset 0 0 0 8px rgba(62,143,237,.08)}
#wlcl-nd-block-canvas{display:block;width:100%;height:auto;min-height:260px;touch-action:none}.wlcl-nd-block-actions{display:grid;align-content:start;gap:12px;padding:15px;border:3px solid #eab3ce;border-radius:22px;background:linear-gradient(160deg,#fff1f7,#f0ecff)}
.wlcl-maths-app[data-tool="number-detective"] #wlcl-nd-add,.wlcl-maths-app[data-tool="number-detective"] #wlcl-nd-bin{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;text-align:left}.wlcl-nd-operation{display:grid;place-items:center;min-width:46px;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:700;line-height:.8}.wlcl-maths-app[data-tool="number-detective"] #wlcl-nd-add{border:3px solid #238f5a;background:#dff8eb;color:#17633f;font-size:1.08rem;box-shadow:0 5px 0 #9ed6b8}.wlcl-maths-app[data-tool="number-detective"] #wlcl-nd-bin{min-height:96px;border:4px dashed #d95f73;background:#fff;color:#9c3346;font-size:1.02rem;box-shadow:inset 0 -10px 0 #ffe2e7}
#wlcl-nd-block-status{margin:3px 0 0;padding:12px;border-radius:14px;background:#fff;color:#496784;font-weight:750;line-height:1.4}
@media(max-width:1050px){.wlcl-nd-clue-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wlcl-nd-group-pink{grid-column:1/-1}.wlcl-nd-block-workspace{grid-template-columns:1fr}.wlcl-nd-block-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.wlcl-nd-block-actions p{grid-column:1/-1}.wlcl-maths-app[data-tool="number-detective"] #wlcl-nd-bin{min-height:58px}}
@media(max-width:700px){.wlcl-nd-notebook{gap:13px;padding:10px;border-radius:20px}.wlcl-nd-notebook:before{display:none}.wlcl-nd-focus{grid-template-columns:1fr;grid-template-areas:"input" "number" "places";padding:13px}.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-focus .wlcl-number{min-height:126px;font-size:clamp(3.3rem,19vw,5.6rem)}.wlcl-maths-app[data-tool="number-detective"] .wlcl-nd-focus .wlcl-number.is-long{min-height:126px;font-size:clamp(1.75rem,9vw,2.7rem)}.wlcl-nd-clue-grid{grid-template-columns:1fr}.wlcl-nd-group-pink{grid-column:auto}.wlcl-nd-section-title{align-items:flex-start}.wlcl-nd-block-current{top:64px;padding:9px 11px}.wlcl-nd-block-current strong{font-size:1.55rem}.wlcl-nd-block-actions{grid-template-columns:1fr}.wlcl-nd-block-actions p{grid-column:auto}#wlcl-nd-block-canvas{min-height:220px}.wlcl-nd-place-chip{flex-basis:80px;min-width:80px}}
@media(max-width:700px){.wlcl-maths-app{min-height:100dvh}.wlcl-maths-app .wlcl-head{grid-template-columns:auto minmax(0,1fr);gap:7px;padding:8px}.wlcl-maths-app .wlcl-close{min-height:44px;padding:7px 9px;font-size:.8rem}.wlcl-maths-app .wlcl-title small{display:none}.wlcl-maths-app .wlcl-title strong{font-size:clamp(.9rem,4vw,1.15rem)}.wlcl-maths-app .wlcl-modebar{margin:8px 8px 0}.wlcl-maths-app .wlcl-tab{min-height:42px;padding:7px 6px;font-size:.78rem}.wlcl-maths-app .wlcl-body{padding:10px}.wlcl-maths-app .wlcl-intro{margin-bottom:12px}.wlcl-maths-app .wlcl-intro h2{font-size:1.35rem}.wlcl-maths-app .wlcl-intro p{font-size:.9rem}.wlcl-maths-app .wlcl-panel{padding:14px}.wlcl-maths-app .wlcl-number{min-height:120px;font-size:clamp(2.7rem,16vw,4.8rem)}.wlcl-maths-app .wlcl-hundred{gap:3px;padding:6px}.wlcl-maths-app .wlcl-cell{min-height:30px!important;font-size:.72rem}}
@media(max-width:430px){.wlcl-maths-app .wlcl-title{max-width:170px}.wlcl-maths-app .wlcl-tab{font-size:.72rem}.wlcl-maths-app .wlcl-tab:first-child:before{content:""}}
@media(max-width:520px){.wlcl-maths-app .wlcl-clue-title{grid-template-columns:minmax(0,1fr) auto}.wlcl-maths-app .wlcl-clue-title small{display:none}.wlcl-maths-app .wlcl-clue{grid-template-columns:minmax(82px,.75fr) minmax(0,1.25fr) 25px;gap:7px;font-size:.88rem}.wlcl-clue-explain{gap:9px;padding:12px}.wlcl-clue-explain-icon{width:34px;height:34px;border-radius:10px;font-size:1rem}}
@media(prefers-reduced-motion:reduce){.wlcl-maths-app .wlcl-close,.wlcl-maths-app .wlcl-tool button{transition:none}.wlcl-maths-app .wlcl-close:hover,.wlcl-maths-app .wlcl-tool button:hover{transform:none}}

/* Formula Speedway — raster storybook art + CSS track, never SVG. */
.qber-setup{display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(300px,.85fr);gap:20px;align-items:stretch}.qber-setup-art{display:grid;place-items:center;min-height:460px;overflow:hidden;border:1px solid #d8e2ef;border-radius:24px;background:linear-gradient(145deg,#e8f7ff,#fff7dc);box-shadow:0 10px 28px rgba(35,57,87,.1)}.qber-setup-art img{display:block;width:min(92%,620px);height:auto;filter:drop-shadow(0 18px 22px rgba(52,43,28,.18))}.qber-rules{display:grid;gap:8px;margin:18px 0;padding-left:24px;color:#526681;line-height:1.45}.qber-start{width:100%;font-size:1.15rem!important}.qber-board{padding:clamp(14px,2vw,24px)!important;background:linear-gradient(180deg,#e7f5ff,#fff9e7)!important}.qber-track-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:12px;color:#344f74}.qber-lane{display:grid;grid-template-columns:minmax(100px,150px) minmax(0,1fr);align-items:center;gap:12px;margin:12px 0}.qber-lane-label{font-size:clamp(.95rem,1.3vw,1.15rem);font-weight:800}.qber-lane-label b{display:block;color:#2f6fb4}.qber-road{position:relative;height:120px;overflow:hidden;border:5px solid #343945;border-radius:22px;background:linear-gradient(180deg,#444956 0 47%,#f5d768 47% 53%,#444956 53%);box-shadow:inset 0 4px 12px rgba(0,0,0,.28)}.qber-road:before,.qber-road:after{content:"";position:absolute;inset:12px auto 12px 22%;width:14%;border-top:4px dashed rgba(255,255,255,.5);border-bottom:4px dashed rgba(255,255,255,.5)}.qber-road:after{left:55%}.qber-finish{position:absolute;z-index:1;right:18px;top:0;width:35px;height:100%;background:conic-gradient(#fff 25%,#20252d 0 50%,#fff 0 75%,#20252d 0) 0 0/18px 18px;border-inline:2px solid #fff}.qber-racer{position:absolute;z-index:2;left:8px;bottom:7px;width:clamp(82px,10vw,135px);transform:translateX(0);transition:transform .65s cubic-bezier(.2,.75,.25,1)}.qber-racer img{display:block;width:100%;height:auto;border-radius:22px;mix-blend-mode:multiply;filter:drop-shadow(0 5px 3px rgba(0,0,0,.3))}.qber-computer img{filter:hue-rotate(80deg) saturate(1.25) drop-shadow(0 5px 3px rgba(0,0,0,.3))}.qber-question{max-width:1000px;margin:18px auto 0;text-align:center}.qber-question h3{font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.25}.qber-topic{display:inline-flex;padding:6px 12px;border-radius:999px;background:#eaf1fb;color:#3a5e8c;font-weight:800}.qber-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}.qber-choices button{min-height:74px;font-size:clamp(1.2rem,2vw,1.65rem)}.qber-choices button.qber-correct{border-color:#27865f;background:#dff6ec;color:#174f3b}.qber-feedback{min-height:58px;padding:14px;color:#61748f}.qber-next{display:block;margin:15px auto 0}.qber-next[hidden]{display:none}.qber-explain{max-width:1000px;margin:18px auto 0}.qber-trophy{font-size:5rem}
@media(max-width:760px){.qber-setup{grid-template-columns:1fr}.qber-setup-art{min-height:260px}.qber-lane{grid-template-columns:1fr;gap:5px}.qber-lane-label{display:flex;justify-content:space-between}.qber-road{height:96px}.qber-racer{width:86px}.qber-choices{grid-template-columns:1fr}.qber-choices button{min-height:58px}}
@media(min-width:1500px){.qber-road{height:145px}.qber-racer{width:155px}.qber-setup-art{min-height:560px}}

/* Formula Speedway game screen: one unified HUD, two lanes and one question cockpit. */
.qber-game{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);gap:clamp(10px,1.4vw,18px);min-height:clamp(690px,calc(100dvh - 190px),980px);overflow:hidden;padding:clamp(12px,1.8vw,24px);border:4px solid #1d3151;border-radius:28px;background:radial-gradient(circle at 12% 5%,rgba(255,255,255,.9) 0 3%,transparent 3.2%),radial-gradient(circle at 78% 7%,rgba(255,255,255,.75) 0 4%,transparent 4.2%),linear-gradient(180deg,#8dd7f5 0 16%,#72ba78 16% 22%,#24324a 22% 100%);box-shadow:0 18px 42px rgba(20,35,58,.24);color:#182b49}
.qber-game>*{grid-column:1}
.qber-game:before{content:"";position:absolute;z-index:-1;inset:16% 0 auto;height:7%;background:repeating-linear-gradient(90deg,#4f8e58 0 30px,#69a86c 30px 60px);border-top:5px solid rgba(255,255,255,.75);border-bottom:5px solid #d7ad45}
.qber-hud{display:grid;grid-template-columns:minmax(150px,1fr) minmax(260px,1.5fr) minmax(150px,1fr);align-items:center;gap:12px;padding:10px;border:2px solid rgba(255,255,255,.9);border-radius:20px;background:rgba(244,249,255,.94);box-shadow:0 7px 18px rgba(18,42,72,.2)}
.qber-driver{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:9px 15px;border-radius:15px;color:#fff;font-weight:900;letter-spacing:.04em}.qber-driver strong{font-size:clamp(1.35rem,2.3vw,2rem)}.qber-driver-you{background:linear-gradient(135deg,#146bb4,#32a9db)}.qber-driver-computer{background:linear-gradient(135deg,#8637a3,#dc4f9a)}
.qber-versus{text-align:center}.qber-versus small,.qber-versus span{display:block;color:#52647c;font-weight:800}.qber-versus strong{display:block;margin:2px 0;color:#1d3151;font-size:clamp(1.15rem,2.2vw,1.85rem);letter-spacing:.035em}
.qber-track{display:grid;gap:10px;padding:10px;border:2px solid rgba(255,255,255,.35);border-radius:22px;background:rgba(11,20,35,.42);box-shadow:inset 0 3px 12px rgba(0,0,0,.28)}
.qber-game .qber-lane{display:grid;grid-template-columns:74px minmax(0,1fr);align-items:center;gap:10px;margin:0}.qber-lane-tag{display:grid;place-items:center;min-height:58px;border:3px solid rgba(255,255,255,.85);border-radius:14px;background:#146bb4;color:#fff;font-size:1rem;font-weight:950;letter-spacing:.07em;box-shadow:0 4px 0 rgba(0,0,0,.18)}.qber-lane-computer .qber-lane-tag{background:#a73b91}
.qber-game .qber-road{height:112px;border:5px solid #111a28;border-radius:18px;background:linear-gradient(180deg,#3d4554 0 46%,#f0d064 46% 54%,#3d4554 54%);box-shadow:inset 0 5px 13px rgba(0,0,0,.36),0 3px 0 rgba(255,255,255,.17)}.qber-game .qber-road:before,.qber-game .qber-road:after{inset:14px auto 14px 23%;width:12%;border-width:5px}.qber-game .qber-road:after{left:56%}.qber-game .qber-finish{right:16px;width:38px;background-size:19px 19px}.qber-game .qber-racer{bottom:5px;width:clamp(88px,9vw,132px)}
.qber-cockpit{align-self:stretch;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,1.15fr);grid-template-areas:"question choices" "feedback feedback" "thinking thinking";align-content:center;gap:12px 18px;padding:clamp(14px,1.8vw,24px);border:3px solid #d7e2f0;border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 11px 26px rgba(7,19,37,.28)}
.qber-question-line{grid-area:question;align-self:center;text-align:left}.qber-question-line h2{margin:10px 0 0;color:#182b49;font-size:clamp(1.45rem,2.5vw,2.55rem);line-height:1.16}.qber-game .qber-topic{background:#e8f1ff;color:#254f85}
.qber-game .qber-choices{grid-area:choices;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.qber-game .qber-choices button{min-height:68px;border:3px solid #b9cbe1;border-radius:16px;background:#f9fbff;color:#203b62;font-size:clamp(1.15rem,1.9vw,1.65rem);font-weight:900;box-shadow:0 4px 0 #c6d3e3}.qber-game .qber-choices button:hover,.qber-game .qber-choices button:focus-visible{border-color:#2f70b5;background:#eaf4ff;transform:translateY(-1px)}.qber-game .qber-choices button:disabled{cursor:default;transform:none}.qber-game .qber-choices button.qber-correct{border-color:#27865f;background:#dff6ec;color:#174f3b;box-shadow:0 4px 0 #8fcfb2}
.qber-feedback-row{grid-area:feedback;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.qber-game .qber-feedback{box-sizing:border-box;min-height:54px;padding:12px 16px;border:2px solid #d8e3f0;border-radius:14px;background:#f3f7fc;color:#526681;font-size:clamp(.95rem,1.35vw,1.12rem);font-weight:750;line-height:1.35}.qber-game .qber-feedback.good{border-color:#8fd0b2;background:#e8f8f1;color:#17563f}.qber-game .qber-feedback.bad{border-color:#efb2b8;background:#fff0f1;color:#85313c}.qber-game .qber-next{min-width:190px;min-height:54px;margin:0}.qber-game .qber-next[hidden]{display:none}
.qber-thinking{grid-area:thinking;border-top:1px solid #d9e3ef;padding-top:8px;color:#4c617f}.qber-thinking summary{cursor:pointer;width:max-content;font-weight:850}.qber-thinking textarea{box-sizing:border-box;width:100%;min-height:76px;margin-top:8px;padding:10px;border:2px solid #c8d7e8;border-radius:12px;background:#fbfdff;color:#203955;font:inherit;resize:vertical}.qber-thinking small{display:block;margin-top:5px}.qber-finish-card{grid-template-columns:1fr;grid-template-areas:none;place-items:center;text-align:center}.qber-finish-card .wlcl-controls{justify-content:center}.qber-finish-card h2,.qber-finish-card p{margin:0}.qber-game .qber-trophy{font-size:4.2rem}
@media(max-width:760px){.qber-game{gap:7px;min-height:0;padding:8px;border-width:2px;border-radius:18px}.qber-hud{grid-template-columns:minmax(72px,1fr) minmax(120px,1.35fr) minmax(72px,1fr);gap:6px;padding:6px;border-radius:14px}.qber-driver{display:grid;gap:1px;min-height:48px;padding:5px 7px;border-radius:10px;text-align:center}.qber-driver span{font-size:.68rem}.qber-driver strong{font-size:1.1rem}.qber-versus small,.qber-versus span{font-size:.66rem}.qber-versus strong{font-size:.9rem}.qber-track{gap:6px;padding:6px;border-radius:14px}.qber-game .qber-lane{grid-template-columns:42px minmax(0,1fr);gap:5px}.qber-lane-tag{min-height:42px;border-width:2px;border-radius:9px;font-size:.68rem}.qber-game .qber-road{height:76px;border-width:3px;border-radius:12px}.qber-game .qber-road:before,.qber-game .qber-road:after{inset:9px auto 9px 23%;border-width:3px}.qber-game .qber-finish{right:8px;width:28px;background-size:14px 14px}.qber-game .qber-racer{bottom:4px;width:68px}.qber-cockpit{grid-template-columns:1fr;grid-template-areas:"question" "choices" "feedback" "thinking";gap:8px;padding:10px;border-width:2px;border-radius:15px}.qber-question-line{text-align:center}.qber-question-line h2{margin-top:6px;font-size:clamp(1.2rem,6vw,1.6rem)}.qber-game .qber-topic{padding:4px 9px;font-size:.78rem}.qber-game .qber-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.qber-game .qber-choices button{min-height:58px;padding:8px;border-width:2px;border-radius:12px;font-size:1.05rem}.qber-feedback-row{grid-template-columns:1fr}.qber-game .qber-feedback{min-height:48px;padding:9px 11px;font-size:.85rem}.qber-game .qber-next{width:100%;min-width:0;min-height:50px}.qber-thinking{padding-top:6px}.qber-thinking summary{font-size:.84rem}.qber-thinking textarea{min-height:68px}.qber-finish-card{grid-template-areas:none}}
@media(min-width:1500px){.qber-game .qber-road{height:145px}.qber-game .qber-racer{width:155px}.qber-hud{padding:14px}.qber-cockpit{grid-template-columns:minmax(0,1fr) minmax(520px,1.2fr)}}

/* Formula Speedway stability + transparent right-facing storybook car sprites. */
.qber-game .qber-racer{bottom:13px;width:clamp(120px,12vw,180px)}
.qber-game .qber-racer img{display:block;width:100%;height:auto;border-radius:0;mix-blend-mode:normal;filter:drop-shadow(0 7px 5px rgba(0,0,0,.38))}
.qber-game .qber-computer img{filter:hue-rotate(92deg) saturate(1.3) brightness(1.03) drop-shadow(0 7px 5px rgba(0,0,0,.38))}
.qber-game .qber-next[hidden]{display:block!important;visibility:hidden;pointer-events:none}
/* Keep each full driver name and score inside its own HUD card at every container width. */
.qber-game .qber-hud{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr);min-width:0}
.qber-game .qber-driver{box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);place-content:center;min-width:0;overflow:hidden;text-align:center}
.qber-game .qber-driver span,.qber-game .qber-driver strong{display:block;min-width:0;max-width:100%;white-space:nowrap;line-height:1.05}
.qber-game .qber-driver span{font-size:clamp(.68rem,1.15vw,.92rem);letter-spacing:.025em}
.qber-game .qber-driver-stack{box-sizing:border-box;width:100%;overflow:hidden;text-align:center}
.qber-game .qber-driver-stack>strong{font-size:clamp(1rem,1.5vw,1.35rem);font-variant-numeric:tabular-nums;letter-spacing:0}
@media(max-width:760px){.qber-game .qber-racer{bottom:10px;width:92px}}
@media(min-width:1500px){.qber-game .qber-racer{bottom:15px;width:220px}}
.qber-game{grid-template-rows:auto auto auto auto;min-height:0}
.qber-route{position:relative;height:58px;margin:0 4px;border:2px solid rgba(255,255,255,.8);border-radius:18px;background:linear-gradient(180deg,#f8fbff,#dfeaf7);box-shadow:inset 0 2px 8px rgba(15,35,63,.12),0 5px 14px rgba(13,29,50,.18);overflow:hidden}
.qber-route:before{content:"";position:absolute;left:5%;right:5%;top:27px;height:8px;border-radius:999px;background:repeating-linear-gradient(90deg,#899cb5 0 26px,#eef4fb 26px 42px)}
.qber-route-fill{position:absolute;left:5%;top:27px;height:8px;max-width:90%;border-radius:999px;background:linear-gradient(90deg,#1683c7,#2fb47d,#f0b23b);transition:width .65s cubic-bezier(.2,.75,.25,1)}
.qber-route-stop{position:absolute;z-index:2;left:calc(5% + var(--pos)*.9);top:8px;transform:translateX(-50%);display:grid;justify-items:center;gap:3px;color:#435772;font-size:.72rem;font-weight:900;white-space:nowrap}
.qber-route-stop i{width:18px;height:18px;border:3px solid #8fa3bd;border-radius:999px;background:#fff;box-shadow:0 2px 5px rgba(20,37,60,.18)}
.qber-route-stop.reached{color:#174f3b}.qber-route-stop.reached i{border-color:#258a60;background:#dff6ec}
.qber-mileage{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:8px 12px;padding:8px 12px;border:2px solid rgba(255,255,255,.55);border-radius:16px;background:rgba(244,249,255,.92);color:#344c6b;font-weight:800}
.qber-mileage span{display:inline-flex;gap:5px;white-space:nowrap}.qber-mileage b{color:#183456}.qber-mileage em{min-width:0;color:#536985;font-style:normal;font-weight:750;overflow-wrap:anywhere}
.qber-design-link{min-height:36px;padding:7px 12px;border:2px solid #2f70b5;border-radius:12px;background:#eaf4ff;color:#183b64;font:inherit;font-size:.82rem;font-weight:900;white-space:nowrap;box-shadow:0 3px 0 #b6cce3;cursor:pointer}
.qber-design-link:hover,.qber-design-link:focus-visible{background:#fff7dc;border-color:#c6891e}
.qber-game .qber-track{background:linear-gradient(180deg,rgba(10,19,33,.5),rgba(10,19,33,.68));padding:14px}
.qber-game .qber-road{height:132px;background:linear-gradient(180deg,#4c5361 0 42%,#3e4655 42% 46%,#f2d265 46% 54%,#3e4655 54% 58%,#2f3745 58% 100%)}
.qber-game .qber-road:before,.qber-game .qber-road:after{width:18%;border-color:rgba(255,255,255,.62)}
.qber-game .qber-racer{bottom:17px}
@media(max-width:760px){.qber-game{grid-template-rows:auto auto auto auto auto}.qber-route{height:50px;margin:0}.qber-route-stop{font-size:.58rem}.qber-route-stop:nth-child(2) b,.qber-route-stop:nth-child(4) b{display:none}.qber-route-stop i{width:14px;height:14px;border-width:2px}.qber-mileage{grid-template-columns:1fr 1fr;padding:7px 9px;font-size:.76rem}.qber-mileage em,.qber-design-link{grid-column:1/-1}.qber-design-link{width:100%;min-height:34px}.qber-game .qber-track{padding:7px}.qber-game .qber-road{height:86px}.qber-game .qber-racer{bottom:12px}}
@media(min-width:1500px){.qber-game .qber-road{height:168px}.qber-route{height:66px}.qber-mileage{font-size:1.04rem}}
.qber-game .qber-circuit-track{position:relative;display:block;height:auto;min-height:0;padding:clamp(8px,1.2vw,14px);background:linear-gradient(180deg,rgba(244,249,255,.3),rgba(27,44,69,.48))}
.qber-circuit{position:relative;width:100%;aspect-ratio:1600/533;min-height:0;overflow:hidden;border:3px solid rgba(255,255,255,.9);border-radius:24px;background-color:#7fbb75;background-image:url("anam/images/curio-equation-rally/equation-rally-oval-track.webp");background-position:center;background-size:100% 100%;background-repeat:no-repeat;box-shadow:inset 0 8px 22px rgba(25,48,72,.2),0 8px 20px rgba(11,25,42,.22)}
.qber-loop,.qber-circuit-finish{display:none}
.qber-circuit .qber-route{display:none}
.qber-circuit .qber-route:before,.qber-circuit .qber-route-fill{display:none}
.qber-circuit .qber-route-stop{left:50%;top:50%;transform:translate(-50%,-50%);padding:3px 7px;border-radius:999px;background:rgba(248,251,255,.92);box-shadow:0 2px 8px rgba(13,31,50,.18);font-size:clamp(.62rem,1vw,.82rem)}
.qber-circuit .qber-route-stop:nth-child(1){left:87%;top:36%}.qber-circuit .qber-route-stop:nth-child(2){left:69%;top:79%}.qber-circuit .qber-route-stop:nth-child(3){left:21%;top:75%}.qber-circuit .qber-route-stop:nth-child(4){left:16%;top:28%}.qber-circuit .qber-route-stop:nth-child(5){left:67%;top:20%}
.qber-circuit .qber-racer{position:absolute;z-index:6;left:0;top:0;bottom:auto;width:clamp(94px,9.4vw,154px);height:auto;aspect-ratio:2/1;transform-origin:center;transition:transform .65s cubic-bezier(.2,.75,.25,1)}
.qber-track-cockpit{position:absolute;z-index:5;left:50%;top:52%;transform:translate(-50%,-50%);box-sizing:border-box;width:clamp(300px,34%,470px);max-height:52%;overflow:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"question" "choices" "feedback";gap:6px;padding:clamp(8px,1vw,12px);border:2px solid rgba(255,255,255,.78);border-radius:18px;background:rgba(255,255,255,.58);box-shadow:0 8px 18px rgba(18,40,66,.17);backdrop-filter:blur(5px)}
.qber-track-cockpit .qber-question-line{text-align:center}.qber-track-cockpit .qber-question-line h2{margin:4px 0 0;font-size:clamp(.98rem,1.25vw,1.35rem);line-height:1.12}.qber-track-cockpit .qber-topic{padding:3px 8px;font-size:clamp(.62rem,.72vw,.74rem)}
.qber-track-cockpit .qber-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.qber-track-cockpit .qber-choices button{min-height:clamp(34px,4.3dvh,46px);padding:5px 8px;border-width:2px;border-radius:10px;font-size:clamp(.88rem,1.05vw,1.08rem);box-shadow:0 2px 0 #c6d3e3}
.qber-track-cockpit .qber-feedback-row{grid-template-columns:minmax(0,1fr) auto;gap:5px}.qber-track-cockpit .qber-feedback{min-height:34px;padding:6px 9px;font-size:clamp(.72rem,.85vw,.84rem);line-height:1.2}.qber-track-cockpit .qber-next{min-width:116px;min-height:36px;padding:6px 9px;font-size:.8rem}
.qber-track-cockpit.qber-finish-card{grid-template-areas:none;width:clamp(290px,30%,420px);place-items:center;text-align:center}.qber-track-cockpit.qber-finish-card .qber-trophy{font-size:2.45rem}.qber-track-cockpit.qber-finish-card h2{margin:0;font-size:clamp(1.05rem,1.5vw,1.45rem)}.qber-track-cockpit.qber-finish-card p{margin:0}
.qber-thinking-below{margin:0;padding:10px 12px;border:2px solid rgba(255,255,255,.55);border-radius:16px;background:rgba(244,249,255,.94);box-shadow:0 5px 14px rgba(13,29,50,.15)}
.qber-car-art{display:block;width:100%;height:100%;object-fit:contain;border-radius:0;mix-blend-mode:normal;transform:scale(var(--qber-car-scale,1));filter:var(--qber-car-tint,saturate(1)) drop-shadow(0 7px 7px rgba(7,19,37,.38));transform-origin:center}
.qber-player .qber-car-art{filter:var(--qber-car-tint,saturate(1)) drop-shadow(0 0 3px rgba(255,241,174,.95)) drop-shadow(0 7px 7px rgba(7,19,37,.38))}
.qber-game .qber-racer .qber-car-art{border-radius:0;mix-blend-mode:normal;transform:scale(var(--qber-car-scale,1));filter:var(--qber-car-tint,saturate(1)) drop-shadow(0 7px 7px rgba(7,19,37,.38))}
.qber-game .qber-racer.qber-player .qber-car-art{filter:var(--qber-car-tint,saturate(1)) drop-shadow(0 0 3px rgba(255,241,174,.95)) drop-shadow(0 7px 7px rgba(7,19,37,.38))}
.qber-garage-setup{grid-template-columns:minmax(520px,1.35fr) minmax(320px,.65fr);align-items:stretch}
.qber-car-lab{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:520px;padding:12px;border:1px solid #d8e2ef;border-radius:20px;background:#f8fbff;box-shadow:0 10px 28px rgba(35,57,87,.1)}
.qber-garage-stage{position:relative;min-height:390px;overflow:hidden;border:2px solid #cddbeb;border-radius:16px;background:linear-gradient(180deg,#edf8ff 0 64%,#d7efd7 64% 100%)}
.qber-garage-car-art{position:absolute;left:50%;top:53%;display:block;width:92%;height:86%;object-fit:contain;transform:translate(-50%,-50%) scaleX(-1);filter:var(--qber-car-tint,saturate(1)) drop-shadow(0 12px 12px rgba(25,50,76,.24))}
.qber-part-labels{position:absolute;inset:0;pointer-events:none}
.qber-part-pin{position:absolute;left:var(--pin-x);top:var(--pin-y);transform:translate(-50%,-50%) translateZ(0);display:flex;align-items:center;gap:4px;min-width:0!important;min-height:0!important;padding:4px 7px!important;border:2px solid rgba(31,61,94,.22)!important;border-radius:999px!important;background:rgba(255,255,255,.9)!important;color:#243b5b!important;font-size:clamp(.62rem,.86vw,.76rem)!important;font-weight:900!important;line-height:1!important;white-space:nowrap;box-shadow:0 3px 9px rgba(20,38,60,.16)!important;pointer-events:auto}
.qber-part-pin:before{content:"";width:8px;height:8px;border-radius:50%;background:#2f70b5;box-shadow:0 0 0 3px rgba(47,112,181,.16)}
.qber-part-pin:hover,.qber-part-pin:focus-visible{border-color:#2f70b5!important;background:#eef7ff!important;transform:translate(-50%,-52%)}
.qber-part-pin.selected{border-color:#c6891e!important;background:#fff2c9!important;color:#4f3a13!important}.qber-part-pin.selected:before{background:#d19625}
.qber-part-info{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;align-items:start;padding:11px 13px;border:2px solid #d7e3f0;border-radius:14px;background:#fff;color:#314965;line-height:1.35}
.qber-part-info small{grid-row:1/3;align-self:center;padding:5px 8px;border-radius:999px;background:#e9f2fb;color:#385c84;font-weight:900}.qber-part-info strong{font-size:clamp(1rem,1.5vw,1.25rem)}.qber-part-info p{grid-column:2;margin:0;color:#516984;font-weight:750}
.qber-car-designer{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;margin:14px 0;padding:12px;border:2px solid #d8e4f2;border-radius:16px;background:#f7fbff}
.qber-car-preview{display:grid;place-items:center;min-height:132px;padding:8px;border-radius:14px;background:linear-gradient(180deg,#dff0ff 0 58%,#d9f0cf 58% 100%)}
.qber-car-preview .qber-car-art{width:min(280px,100%);height:auto;aspect-ratio:2/1}
.qber-car-controls{display:grid;gap:10px;color:#304966}.qber-car-controls>strong{font-size:1rem;text-align:center}.qber-custom-group{display:grid;gap:6px}.qber-custom-group>span{font-size:.8rem;font-weight:900;color:#506780}
.qber-color-row{display:flex;flex-wrap:wrap;gap:7px}.qber-color-row button{box-sizing:border-box;width:42px;min-width:42px;height:42px;min-height:42px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--car-color);box-shadow:0 0 0 2px #cbd8e8,0 4px 9px rgba(20,38,60,.16)}
.qber-color-row button.selected{box-shadow:0 0 0 4px #245b96,0 5px 10px rgba(20,38,60,.2)}
.qber-trim-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.qber-trim-row button{min-width:0;min-height:42px;padding:6px 7px;border:2px solid #c6d6e8;border-radius:10px;background:#fff;color:#2d486a;font-size:.8rem;font-weight:850;line-height:1.1}.qber-trim-row button.selected{border-color:#2f70b5;background:#e7f2ff;color:#163f71}
.qber-wheel-field{display:grid;gap:5px;color:#506780;font-weight:850}.qber-wheel-field input{width:100%;accent-color:#2f70b5}
.qber-lane-tag-you,.qber-lane-tag-cpu{position:absolute;z-index:5;display:grid;place-items:center;width:54px;min-height:42px;border-width:3px}.qber-lane-tag-you{left:50%;top:82%;transform:translate(-50%,-50%);background:#146bb4}.qber-lane-tag-cpu{left:50%;top:68%;transform:translate(-50%,-50%);background:#a73b91}
@media(max-width:760px){.qber-game{grid-template-rows:auto auto auto auto;gap:7px;min-height:0}.qber-hud{grid-template-columns:minmax(64px,.8fr) minmax(0,1.4fr) minmax(64px,.8fr)}.qber-game .qber-circuit-track{padding:5px}.qber-circuit{border-width:2px;border-radius:14px}.qber-circuit .qber-racer{width:clamp(30px,10vw,48px);height:clamp(18px,5.5vw,28px)}.qber-track-cockpit{top:52%;width:min(46%,210px);max-height:76%;gap:3px;padding:5px;border-width:1px;border-radius:12px;background:rgba(255,255,255,.62)}.qber-track-cockpit .qber-question-line h2{margin-top:2px;font-size:clamp(.56rem,2.45vw,.82rem);line-height:1.05}.qber-track-cockpit .qber-topic{padding:1px 5px;font-size:.46rem}.qber-track-cockpit .qber-choices{gap:3px}.qber-track-cockpit .qber-choices button{min-height:clamp(22px,5vw,30px);padding:2px 4px;border-width:1px;border-radius:7px;font-size:clamp(.58rem,2.6vw,.76rem);box-shadow:0 1px 0 #c6d3e3}.qber-track-cockpit .qber-feedback-row{grid-template-columns:1fr}.qber-track-cockpit .qber-feedback{min-height:22px;padding:3px 5px;border-width:1px;border-radius:7px;font-size:clamp(.5rem,2.2vw,.65rem);line-height:1.12}.qber-track-cockpit .qber-next{width:100%;min-width:0;min-height:28px;padding:3px 6px;font-size:.62rem}.qber-mileage{grid-template-columns:1fr;gap:5px;padding:7px 9px;font-size:.76rem}.qber-mileage span{white-space:normal}.qber-mileage em,.qber-design-link{grid-column:1}.qber-design-link{width:100%;min-height:34px}.qber-garage-setup{grid-template-columns:1fr}.qber-car-lab{min-height:0;padding:8px}.qber-garage-stage{min-height:300px}.qber-part-pin{padding:3px 5px!important;font-size:.55rem!important}.qber-part-info{grid-template-columns:1fr;gap:4px}.qber-part-info p{grid-column:1}.qber-car-designer{grid-template-columns:1fr}.qber-color-row button{width:40px;min-width:40px;height:40px;min-height:40px}.qber-trim-row{grid-template-columns:1fr}.qber-circuit .qber-route-stop{font-size:.55rem;padding:2px 5px}.qber-circuit .qber-route-stop b{display:block}.qber-circuit .qber-route-stop:nth-child(2) b,.qber-circuit .qber-route-stop:nth-child(4) b{display:block}.qber-lane-tag-you,.qber-lane-tag-cpu{width:42px;min-height:32px;font-size:.62rem}}
@media(min-width:1500px){.qber-circuit .qber-racer{width:118px;height:64px}.qber-track-cockpit{width:clamp(320px,29%,500px)}}

/* Picture Pair Workshop: one-screen educational workspace. */
.wlcl-pair-app{display:grid;grid-template-rows:auto auto minmax(0,1fr);height:calc(100dvh - clamp(16px,4vw,48px));min-height:0}
.wlcl-pair-app .wlcl-head{position:static;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:8px clamp(10px,2vw,24px)}
.wlcl-pair-app .wlcl-title small{display:none}.wlcl-pair-app .wlcl-title strong{font-size:clamp(1rem,2vw,1.55rem)}
.wlcl-pair-app .wlcl-modebar{flex-wrap:nowrap;gap:6px;padding:6px 10px}.wlcl-pair-app .wlcl-tab{flex:1;max-width:190px;min-height:42px;padding:7px 12px}
.wlcl-pair-app .wlcl-body{min-height:0;overflow:hidden;padding:10px clamp(10px,2vw,24px)}
.wlcl-pair-app .wlcl-tool{height:100%;min-height:0}.wlcl-pair-tool{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}
.wlcl-pair-tool:has(.wlcl-sentence-stage){grid-template-rows:minmax(0,1fr)}.wlcl-pair-tool:has(.wlcl-sentence-stage)>.wlcl-pair-dashboard{display:none}
.wlcl-pair-dashboard{display:grid;grid-template-columns:minmax(210px,1.2fr) minmax(260px,2fr) auto;align-items:center;gap:10px;min-width:0;padding:8px 10px;border:1px solid #d8e2ef;border-radius:16px;background:#fff;box-shadow:0 5px 16px rgba(30,53,84,.06)}
.wlcl-pair-group{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:0;color:#536682;font-weight:800}.wlcl-pair-group span{font-size:.82rem;white-space:nowrap}.wlcl-pair-group select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;border:2px solid #c7d6e8;border-radius:11px;background:#fff;color:#1e3557;padding:6px 9px;font-family:inherit;font-weight:700;font-size:.93rem;line-height:1.2}
.wlcl-pair-task{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-width:0}.wlcl-pair-task p{margin:0;color:#314b70;font-size:clamp(.92rem,1.4vw,1.08rem);line-height:1.25}.wlcl-pair-step{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#315f9d;color:#fff;font-weight:900}
.wlcl-pair-progress{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:4px;min-width:92px;color:#536682;text-align:right}.wlcl-pair-progress strong{font-size:1.12rem;color:#24436d}.wlcl-pair-progress span{font-size:.75rem;font-weight:800}.wlcl-pair-progress i{grid-column:1/-1;display:block;width:100%;height:7px;margin-top:3px;overflow:hidden;border-radius:99px;background:#e1e9f3}.wlcl-pair-progress b{display:block;height:100%;border-radius:inherit;background:#2b996c;transition:width .2s ease}
.wlcl-pair-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0}.wlcl-pair-grid>.wlcl-panel{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;padding:9px 11px;border-radius:16px;box-shadow:0 5px 16px rgba(30,53,84,.06)}
.wlcl-pair-grid>.wlcl-panel h3{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 6px;font-size:clamp(1rem,1.6vw,1.25rem)}.wlcl-pair-grid>.wlcl-panel h3 small{color:#70809a;font-size:.7rem;font-weight:750}
.wlcl-pair-cards{grid-template-columns:1fr;grid-template-rows:repeat(6,minmax(0,1fr));grid-auto-rows:auto;gap:6px;min-height:0}.wlcl-pair-cards>button{box-sizing:border-box;width:100%;height:100%;min-width:0;min-height:0!important;padding:4px 9px;border:2px solid #c8d6e8;border-radius:12px}
.wlcl-pair-word{font-size:clamp(1.35rem,3.1vw,2rem)!important}.wlcl-pair-word.is-selected{border-color:#2e70bd;background:#e8f2ff;box-shadow:0 0 0 3px rgba(46,112,189,.15)}.wlcl-pair-word.matched{border-color:#65ad8d;background:#eaf8f2;color:#174d3c}
.wlcl-pair-cards .wlcl-picture{display:flex;align-items:center;justify-content:center;gap:9px;padding:3px 8px;border-width:2px}.wlcl-pair-cards .wlcl-picture img{width:clamp(52px,8vw,100px);max-width:55%;height:clamp(36px,6dvh,68px);object-fit:contain}.wlcl-pair-cards .wlcl-picture strong{max-width:45%;overflow:hidden;color:#174d3c;font-size:clamp(.72rem,1.4vw,.98rem);text-overflow:ellipsis;white-space:nowrap}.wlcl-pair-cards .wlcl-picture.matched{border-color:#65ad8d;background:#eaf8f2}
.wlcl-pair-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px 8px 6px 12px;border:1px solid #d8e2ef;border-radius:14px;background:#fff}.wlcl-pair-feedback{min-width:0;color:#536682;font-weight:750;line-height:1.25}.wlcl-pair-feedback.good{color:#176047}.wlcl-pair-feedback.bad{color:#8a3341}.wlcl-pair-footer button{min-height:42px;padding:7px 14px}.wlcl-pair-footer button:disabled{cursor:not-allowed;opacity:.45}
.wlcl-pair-writing-stage{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:10px;min-height:0;padding:clamp(12px,1.7vw,20px)}.wlcl-pair-writing-stage>header{display:flex;align-items:center;gap:12px}.wlcl-pair-writing-stage h2,.wlcl-pair-writing-stage p{margin:0}.wlcl-pair-writing-stage h2{font-size:clamp(1.25rem,2.5vw,1.9rem)}.wlcl-pair-writing-stage>header p{margin-top:3px;color:#5b6d89;font-size:clamp(.95rem,1.3vw,1.08rem);line-height:1.35}.wlcl-sentence-model{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;border:2px solid #c8d8eb;border-radius:16px;background:#f6faff}.wlcl-sentence-model small{color:#647794;font-size:.82rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.wlcl-sentence-line{margin:2px 0 0!important;color:#19385f!important;font-size:clamp(1.9rem,4.5vw,3.25rem);font-weight:900;line-height:1.1}.wlcl-sentence-line span{display:inline-block}.wlcl-sentence-line b{color:#d66d42}.wlcl-sentence-model>button{min-height:54px;white-space:nowrap;font-size:1rem}.wlcl-sentence-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;min-height:0}.wlcl-sentence-group{min-width:0;margin:0;padding:8px;border:1px solid #d7e1ee;border-radius:15px;background:#fff}.wlcl-sentence-group legend{padding:0 5px;color:#385675;font-size:1rem;font-weight:850}.wlcl-sentence-group legend span{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:5px;border-radius:50%;background:#315f9d;color:#fff}.wlcl-sentence-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.wlcl-sentence-tile{min-width:0;min-height:56px!important;padding:7px!important;overflow:hidden;font-size:clamp(1.05rem,1.5vw,1.3rem)!important;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.wlcl-sentence-tile.is-selected{border-color:#2e70bd;background:#e7f2ff;color:#173f71;box-shadow:0 0 0 2px rgba(46,112,189,.13)}.wlcl-sentence-note{padding:8px 11px;border-radius:12px;background:#fff4cc;color:#584b20;font-size:1rem;line-height:1.3}.wlcl-pair-writing-stage footer{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;color:#687b97}.wlcl-pair-writing-stage footer span{text-align:center}.wlcl-pair-writing-stage footer button{min-height:40px;padding:6px 10px}
@media(max-width:700px){.wlcl-pair-app{height:100dvh;min-height:0}.wlcl-pair-app .wlcl-head{grid-template-columns:auto minmax(0,1fr) auto;gap:6px;padding:6px 8px}.wlcl-pair-app .wlcl-head .wlcl-btn{grid-column:auto}.wlcl-pair-app .wlcl-close,.wlcl-pair-app .wlcl-btn{min-height:44px;padding:7px 9px;font-size:.82rem}.wlcl-pair-app .wlcl-title strong{font-size:clamp(.92rem,4vw,1.15rem)}.wlcl-pair-app .wlcl-modebar{padding:4px 8px}.wlcl-pair-app .wlcl-tab{min-height:40px;padding:6px 5px;font-size:.8rem}.wlcl-pair-app .wlcl-body{padding:8px}.wlcl-pair-tool{gap:8px}.wlcl-pair-dashboard{grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:6px 8px}.wlcl-pair-group{grid-template-columns:1fr}.wlcl-pair-group span{font-size:.72rem}.wlcl-pair-group select{min-height:38px;font-size:.82rem}.wlcl-pair-task{grid-column:1/-1;gap:7px}.wlcl-pair-task p{font-size:.86rem}.wlcl-pair-step{width:28px;height:28px}.wlcl-pair-progress{min-width:76px}.wlcl-pair-grid{gap:8px}.wlcl-pair-grid>.wlcl-panel{padding:7px}.wlcl-pair-grid>.wlcl-panel h3{margin-bottom:5px;font-size:.95rem}.wlcl-pair-grid>.wlcl-panel h3 small{display:none}.wlcl-pair-cards{gap:5px}.wlcl-pair-cards>button{padding:3px 5px;border-radius:10px}.wlcl-pair-word{font-size:clamp(1.2rem,6vw,1.55rem)!important}.wlcl-pair-cards .wlcl-picture{gap:5px;padding:2px 4px}.wlcl-pair-cards .wlcl-picture img{width:clamp(44px,15vw,66px);height:clamp(34px,5.8dvh,54px)}.wlcl-pair-cards .wlcl-picture strong{font-size:.68rem}.wlcl-pair-footer{min-height:44px;padding:4px 5px 4px 8px}.wlcl-pair-feedback{font-size:.78rem}.wlcl-pair-footer button{min-height:40px;padding:5px 8px;font-size:.78rem}.wlcl-pair-writing-stage{gap:6px;padding:8px}.wlcl-pair-writing-stage>header{gap:8px}.wlcl-pair-writing-stage h2{font-size:1.35rem}.wlcl-pair-writing-stage>header p{font-size:.9rem;line-height:1.3}.wlcl-sentence-model{grid-template-columns:1fr;gap:6px;padding:7px 9px}.wlcl-sentence-line{font-size:clamp(1.9rem,7.5vw,2.2rem)}.wlcl-sentence-model>button{min-height:44px;font-size:.95rem}.wlcl-sentence-choices{gap:6px}.wlcl-sentence-group{padding:6px}.wlcl-sentence-group legend{font-size:.9rem}.wlcl-sentence-group legend span{width:22px;height:22px}.wlcl-sentence-options{grid-template-columns:1fr;gap:5px}.wlcl-sentence-tile{min-height:46px!important;padding:5px!important;font-size:1.05rem!important}.wlcl-sentence-note{padding:7px 9px;font-size:.9rem}.wlcl-pair-writing-stage footer{grid-template-columns:auto auto;font-size:.84rem}.wlcl-pair-writing-stage footer span{display:none}.wlcl-pair-writing-stage footer button{min-height:40px;padding:5px 8px}}
@media(max-height:680px){.wlcl-pair-app{height:auto;min-height:100dvh}.wlcl-pair-app .wlcl-body{overflow:visible}.wlcl-pair-cards{grid-template-rows:none;grid-auto-rows:minmax(56px,auto)}}
@media(min-width:481px) and (max-width:700px){.wlcl-sentence-model{grid-template-columns:minmax(0,1fr) auto}.wlcl-sentence-options{grid-template-columns:repeat(2,minmax(0,1fr))}.wlcl-sentence-tile{min-height:36px!important}}
@media(max-width:480px){.wlcl-sentence-model{grid-template-columns:1fr;gap:6px}.wlcl-sentence-line{font-size:clamp(2rem,9vw,2.35rem)}.wlcl-sentence-model>button{width:100%;min-height:42px;padding:6px 8px;font-size:1rem}.wlcl-sentence-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.wlcl-sentence-group{padding:5px}.wlcl-sentence-group legend{font-size:.92rem}.wlcl-sentence-options{grid-template-columns:1fr;gap:5px}.wlcl-sentence-tile{min-height:50px!important;padding:5px 3px!important;font-size:1.15rem!important}.wlcl-sentence-note{padding:6px 8px;font-size:.9rem;line-height:1.25}.wlcl-pair-writing-stage footer{min-height:38px}.wlcl-pair-writing-stage footer button{min-height:38px;font-size:.85rem}}

/* ────────────────────────────────────────────────────────────────────────────
   ⚠️ NEVER WRITE `font: <weight> <size>/<line-height> inherit`   (2026-07-28)

   `inherit` is only legal as the ENTIRE shorthand value. Used as one component
   the declaration is invalid, so the browser drops the WHOLE thing — silently.
   Nothing warns: the source reads as if the type were authored, and only
   getComputedStyle reveals the truth.

   That bug was live here in four rules (the button/tab/chip group, the .wlcl-field
   controls, the .wlcl-clue badges and the Picture Pair set picker). Every button,
   tab, chip, input and select in EVERY Curio learning tool was therefore painted
   at the UA default — ~13.3px, weight 400, and Arial rather than the app face —
   instead of its authored size. Measured before the fix: 50+ such controls across
   the 15 tools.

   Always use longhands: font-family:inherit; font-weight:…; font-size:…; line-height:….

   Two of the fixed rules are wrapped in :where() so they stay ZERO-specificity
   defaults. That matters: a plain `.wlcl-tool button` selector (0,1,1) outranks
   every tool's own `.wl-num-choice`-style rule (0,1,0), so making it valid would
   have shrunk the tools that DO declare their own type. :where() keeps the shell
   a fallback and lets each tool win, which is what the code always assumed.
   (Same reason the min-width:1500px block splits font-size out of its rule.)

   Sibling fixes, same day, same cause — the site is now clean of this pattern:
   wordlab-curio-phonics-studio.js, wordlab-curio-number-studio.js,
   wordlab-activities.js (7), wordlab-studios.js (3, incl. the Curio Cabinet's own
   .curio-back / .curio-x chrome), wordlab-anglelab.js (3).

   NOT affected: wordlab-shape-explorer.js — it writes `font:inherit` as the WHOLE
   value and then overrides with longhands (`font:inherit;font-weight:800`), which
   is valid and is the correct idiom if you want the shorthand at all.

   ⚠️ If you add a new rule, grep for it before you ship:
      grep -rnE 'font: *[^;}]+ inherit' assets/ | grep -vE 'font: *inherit'
   No lint or QA gate in this repo parses CSS, so nothing else will catch it.
   ──────────────────────────────────────────────────────────────────────────── */

/* Story Dice Workshop — save controls (2026-07-28).
   Two buttons with two different promises: keep it here, or send it to a grown-up.
   Real finger targets (44px) because this sits under a long draft box on a phone. */
.wlcl-sd-save { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 6px; }
.wlcl-sd-save button {
  flex: 1 1 220px; min-height: 44px; padding: 10px 14px;
  font: inherit; font-weight: 700; cursor: pointer;
  border-radius: 12px; border: 2px solid #cfd9e6; background: #fff; color: #2d455c;
  touch-action: manipulation;
}
.wlcl-sd-save button:disabled { opacity: .55; cursor: default; }
.wlcl-sd-status { margin: 2px 0 10px; font-size: .86rem; line-height: 1.4; color: #4a5a6c; }

/* Coordinate Cartographer — tactile story-map expedition. */
.wlcl-maths-app[data-tool="coordinate-cartographer"]{--wlcl-accent:#b46a35;--wlcl-accent-2:#f0c66a;background:radial-gradient(circle at 15% 10%,rgba(83,121,91,.36),transparent 30%),linear-gradient(145deg,#182b31,#101d29 65%,#18231f)}
.cc-app{color:#f9f2df}.cc-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:14px;padding:11px;border:1px solid rgba(244,209,132,.35);border-radius:18px;background:linear-gradient(180deg,rgba(95,62,35,.64),rgba(47,32,25,.75));box-shadow:0 12px 26px rgba(0,0,0,.25),inset 0 1px rgba(255,255,255,.16)}
.cc-toolbar button,.cc-toolbar select{min-height:44px}.cc-modes{display:flex;gap:7px}.cc-toolbar .on{border-color:#ffe091!important;background:linear-gradient(180deg,#cf8245,#95502a)!important;box-shadow:inset 0 1px rgba(255,255,255,.34),0 6px 13px rgba(0,0,0,.26)!important}.cc-plane{display:grid;gap:3px;color:#f6dba8;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.cc-plane select{min-width:170px;border:1px solid #cba46a;border-radius:12px;background:#fff8e5;color:#3c2b1d;padding:7px 10px;font-family:inherit;font-weight:800}
.cc-workspace{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(260px,.75fr);gap:16px;align-items:start}.cc-map-wrap{padding:12px;border:1px solid #d5a65c;border-radius:24px;background:linear-gradient(145deg,#734629,#3f281c);box-shadow:0 24px 45px rgba(0,0,0,.33),inset 0 2px rgba(255,255,255,.18)}.cc-map-wrap canvas{box-sizing:border-box;display:block;width:100%;height:auto;border:8px solid #ae733c;border-radius:16px;background:#d9ba7b;box-shadow:inset 0 0 0 2px #e4bb68,inset 0 0 30px rgba(55,29,11,.35),0 5px 12px rgba(0,0,0,.35);touch-action:none}.cc-map-wrap p{margin:10px 4px 0;color:#f9e7c4;line-height:1.45}
.cc-log{overflow:hidden;border:1px solid #caa166;border-radius:22px;background:linear-gradient(160deg,#fff7dd,#e8ce98);color:#3f2c1e;box-shadow:0 20px 38px rgba(0,0,0,.3),inset 0 0 35px rgba(149,97,40,.16)}.cc-log>h3{margin:0;padding:13px 16px 9px;color:#4e311d;border-bottom:1px solid rgba(115,72,32,.2)}.cc-route-list{display:grid;gap:5px;max-height:235px;margin:0;padding:12px 15px;overflow:auto;list-style:none}.cc-route-list li{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:9px;padding:7px;border-radius:12px;background:rgba(255,255,255,.48)}.cc-route-list li>b{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(145deg,#c04d4d,#782b55);color:#fff;box-shadow:0 4px 7px rgba(62,23,31,.28)}.cc-route-list span{display:grid;font-weight:900}.cc-route-list small{color:#76563c;font-weight:700}.cc-empty{margin:12px 16px;color:#6a4d34}.cc-cause{display:grid;gap:3px;margin:0 14px 12px;padding:11px 13px;border:1px solid #d6b46f;border-radius:14px;background:#fff4c9}.cc-cause small{color:#8a6138;font-weight:900;text-transform:uppercase}.cc-cause strong{color:#7a3154;font-size:1.05rem}.cc-cause span{color:#64442c}.cc-landmarks{display:grid;gap:6px;padding:11px 14px}.cc-landmarks button{display:grid!important;grid-template-columns:13px 1fr auto;align-items:center;gap:7px;min-height:40px!important;padding:7px 9px!important;border-color:#c8a06c!important;background:rgba(255,255,255,.65)!important;color:#4b3524!important;text-align:left;box-shadow:0 3px 6px rgba(89,52,21,.11)!important}.cc-landmarks button span{width:10px;height:10px;border-radius:50%;background:#b34c5f;box-shadow:0 0 0 3px rgba(179,76,95,.17)}.cc-landmarks button small{color:#7d5d41}.cc-question{margin:3px 14px 15px;padding:11px;border-left:5px solid #3d8a72;border-radius:8px;background:rgba(61,138,114,.12);color:#3f4730;font-weight:750;line-height:1.45}

/* Aussie Money Workshop — dimensional Australian shop and counting tray. */
.wlcl-maths-app[data-tool="aussie-money"]{--wlcl-accent:#da8b32;--wlcl-accent-2:#ffe08a;background:radial-gradient(circle at 85% 5%,rgba(205,88,56,.25),transparent 30%),linear-gradient(145deg,#332435,#161c2d 62%,#222d2a)}
.mw-app{color:#fff4de}.mw-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:9px 11px;border:1px solid rgba(255,224,138,.28);border-radius:18px;background:rgba(16,17,27,.58)}.mw-tabs,.mw-levels{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.mw-levels>span{margin-right:3px;color:#f8dba9;font-size:.76rem;font-weight:900;text-transform:uppercase}.mw-topbar button{min-height:42px}.mw-topbar .on{border-color:#ffe18d!important;background:linear-gradient(145deg,#e49338,#a5512f)!important;box-shadow:0 6px 14px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.28)!important}
.mw-story-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 12px;margin-bottom:12px;padding:13px 16px;border:1px solid rgba(255,236,184,.42);border-radius:17px;background:rgba(53,32,28,.78);box-shadow:0 9px 22px rgba(0,0,0,.22)}.mw-story-card h3,.mw-story-card p,.mw-story-card small{margin:0}.mw-story-card h3{align-self:end}.mw-story-card p{grid-column:2;color:#ffe9bd;line-height:1.42}.mw-story-card small{grid-column:1/-1;color:#e9d2ad;line-height:1.4}.mw-level-stamp{grid-row:1/3;display:inline-block;padding:5px 9px;border-radius:99px;background:#e18a35;color:#2f180c;font-size:.72rem;font-weight:950;text-transform:uppercase}.mw-shop-scene{position:relative;aspect-ratio:640/410;overflow:hidden;border:1px solid #dca759;border-radius:25px;background:#704a32;box-shadow:0 25px 55px rgba(0,0,0,.38),inset 0 0 0 5px rgba(255,231,173,.24)}.mw-shop-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mw-register{position:absolute;left:8.2%;top:12%;z-index:2;display:grid;width:20%;color:#b8ffe1;text-align:right;text-shadow:0 0 12px #5cd2a4;pointer-events:none}.mw-register small{font-size:clamp(.45rem,1.1vw,.68rem);font-weight:900;letter-spacing:.12em}.mw-register strong{font-size:clamp(.9rem,3.2vw,2.25rem);font-variant-numeric:tabular-nums}.mw-hotspot{position:absolute;z-index:3;display:grid!important;place-items:center;gap:2px;min-width:0!important;min-height:42px!important;padding:5px 8px!important;border:2px solid #fff2a8!important;border-radius:13px!important;background:rgba(58,31,24,.88)!important;color:#fff8dd!important;box-shadow:0 7px 18px rgba(0,0,0,.35),0 0 0 4px rgba(255,216,89,.16)!important;font-size:clamp(.54rem,1.15vw,.8rem)!important;line-height:1.05;text-align:center}.mw-hotspot span{font-size:clamp(.9rem,2vw,1.25rem)}.mw-hotspot:hover,.mw-hotspot:focus-visible{transform:translateY(-3px) scale(1.04)!important;background:#864d2e!important}.mw-hot-register{left:12%;top:34%;width:18%}.mw-hot-customer{right:4%;top:15%;width:19%}.mw-hot-apple{left:62%;top:47%;width:11%}.mw-hot-bread{left:71%;top:48%;width:11%}.mw-hot-notebook{right:6%;top:43%;width:13%}.mw-receipt{margin-top:13px;padding:14px;border:1px solid #d7c08d;border-radius:16px;background:linear-gradient(175deg,#fffdf4,#f1e6cc);color:#473329;box-shadow:0 10px 24px rgba(25,12,10,.25)}.mw-receipt h3{margin:0 0 8px;color:#563626}.mw-receipt ul{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 9px;padding:0;list-style:none}.mw-receipt li{flex:1 1 190px}.mw-receipt li button{box-sizing:border-box;display:grid!important;grid-template-columns:26px 1fr auto auto;align-items:center;gap:6px;width:100%;min-height:44px!important;padding:7px 9px!important;border-color:#cbb68a!important;background:#fffaf0!important;color:#473329!important;text-align:left;box-shadow:0 3px 7px rgba(79,52,27,.12)!important}.mw-receipt li button i{color:#9a4b3b;font-size:.68rem;font-style:normal}.mw-receipt li button:disabled{opacity:1;cursor:not-allowed}.mw-receipt li button:disabled i{color:#8a7960}.mw-receipt>div{display:flex;justify-content:space-between;gap:10px;padding-top:7px;border-top:1px dashed #9f866b}.mw-receipt .mw-round-line{color:#8d3d2f;font-size:1.08rem}
.mw-workbench{margin-top:16px;padding:18px;border:1px solid rgba(255,224,138,.3);border-radius:24px;background:linear-gradient(155deg,rgba(94,56,32,.7),rgba(32,25,29,.78));box-shadow:0 18px 38px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.12)}.mw-workbench>h3{margin:16px 0 9px}.mw-cause{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;margin-bottom:12px;padding:10px 13px;border-radius:14px;background:rgba(255,244,201,.1);color:#ffe9b5;text-align:center;font-weight:850}.mw-cause b{color:#f7ad52;font-size:1.35rem}.mw-tray{display:flex;flex-wrap:wrap;align-items:center;gap:9px;min-height:96px;padding:16px;border:6px solid #8c5731;border-radius:18px;background:linear-gradient(145deg,#322523,#18191d);box-shadow:inset 0 9px 18px rgba(0,0,0,.48),0 5px 0 #51321f}.mw-empty{margin:auto;color:#cdbda9}.mw-actions{display:flex;flex-wrap:wrap;gap:9px;margin:13px 0}.mw-result{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding:12px 14px;border-radius:14px}.mw-result.good{border:1px solid #74d2a1;background:rgba(34,125,83,.35);color:#d7ffe9}.mw-result.try{border:1px solid #e6a07b;background:rgba(135,66,45,.34);color:#ffe1cd}.mw-result span{text-align:right}.mw-bank{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border-radius:18px;background:rgba(7,11,18,.34)}.mw-piece{position:relative;isolation:isolate;display:grid!important;place-items:center;flex:0 0 auto;padding:0!important;overflow:hidden;color:#24190f!important;text-shadow:0 1px rgba(255,255,255,.55);transform-style:preserve-3d}.mw-piece:before{content:"";position:absolute;inset:3px;z-index:-1;border:1px solid rgba(255,255,255,.55);border-radius:inherit}.mw-piece i{position:absolute;right:8%;top:12%;width:18%;height:65%;border-radius:45%;background:rgba(255,255,255,.28);transform:skew(-9deg)}.mw-piece strong{position:relative;z-index:1;font-size:clamp(.72rem,1.5vw,.96rem);font-weight:950}.mw-coin{width:58px;height:58px;border:3px solid #b4b6b4!important;border-radius:50%!important;background:radial-gradient(circle at 34% 26%,#fff,#bfc2c0 42%,#777b7a 76%,#d6d9d7)!important;box-shadow:inset -5px -7px 10px rgba(45,48,47,.28),inset 4px 4px 6px rgba(255,255,255,.7),0 6px 8px rgba(0,0,0,.34)!important}.mw-coin-5{width:48px;height:48px}.mw-coin-10{width:54px;height:54px}.mw-coin-20{width:62px;height:62px}.mw-coin-50{width:70px;height:70px;border-radius:0!important;clip-path:polygon(50% 0,75% 7%,93% 25%,100% 50%,93% 75%,75% 93%,50% 100%,25% 93%,7% 75%,0 50%,7% 25%,25% 7%)}.mw-coin-100,.mw-coin-200{border-color:#c49532!important;background:radial-gradient(circle at 34% 26%,#fff1a1,#d9a83e 43%,#8f641e 77%,#f1d06c)!important}.mw-coin-100{width:66px;height:66px}.mw-coin-200{width:55px;height:55px}.mw-note{width:128px;height:58px;border:3px solid rgba(255,255,255,.48)!important;border-radius:10px!important;box-shadow:inset -9px -7px 14px rgba(36,30,40,.22),inset 3px 3px rgba(255,255,255,.3),0 7px 9px rgba(0,0,0,.32)!important}.mw-note-500{background:linear-gradient(135deg,#d7a2c8,#b76d9e 57%,#8c587f)!important}.mw-note-1000{background:linear-gradient(135deg,#9dd9e6,#4e9fc4 58%,#357496)!important}.mw-note-2000{background:linear-gradient(135deg,#f2aa8b,#d66550 58%,#9d4338)!important}.mw-note-5000{background:linear-gradient(135deg,#f6df78,#d8ae3d 58%,#9c7823)!important}.mw-note-10000{background:linear-gradient(135deg,#afd8a6,#59a57f 58%,#34745d)!important}.mw-money-note{margin:12px 0 0;color:#f2d7ad;font-size:.85rem;line-height:1.45}.mw-explore-head{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-bottom:12px}.mw-explore-head .wlcl-field{min-width:210px}
@media(max-width:850px){.cc-workspace{grid-template-columns:1fr}.cc-log{display:grid;grid-template-columns:1fr 1fr}.cc-log>h3,.cc-cause,.cc-question{grid-column:1/-1}.mw-cause{grid-template-columns:1fr}.mw-cause b{transform:rotate(90deg)}}
@media(max-width:560px){.cc-toolbar>*{flex:1 1 auto}.cc-modes{flex-basis:100%}.cc-modes button{flex:1}.cc-log{display:block}.cc-map-wrap{padding:7px}.cc-map-wrap canvas{border-width:4px}.mw-story-card{grid-template-columns:1fr}.mw-story-card>*{grid-column:1!important;grid-row:auto}.mw-hotspot{min-height:34px!important;padding:3px 5px!important}.mw-hotspot span{font-size:.8rem}.mw-hot-register{left:9%;top:31%;width:23%}.mw-hot-customer{right:3%;top:12%;width:23%}.mw-hot-apple{left:59%;top:47%;width:15%}.mw-hot-bread{left:70%;top:49%;width:15%}.mw-hot-notebook{right:3%;top:42%;width:17%}.mw-receipt li{flex-basis:100%}.mw-result{display:grid}.mw-result span{text-align:left}.mw-note{width:112px}.mw-workbench{padding:12px}}
.mw-basket-fixed{box-sizing:border-box;display:grid;grid-template-columns:26px 1fr auto auto;align-items:center;gap:6px;width:100%;min-height:44px;padding:7px 9px;border:1px solid #cbb68a;border-radius:12px;background:#fffaf0;color:#473329;text-align:left;box-shadow:0 3px 7px rgba(79,52,27,.12)}.mw-basket-fixed i{color:#8a7960;font-size:.68rem;font-style:normal}

/* ── Formula Speedway (Equation Rally) layout repair — 2026-08-04 ────────────────
   Three defects, measured headless at 1280/760/390:
   1. PHANTOM GRID COLUMN. `.qber-thinking{grid-area:thinking}` (above) is authored for
      the `.qber-cockpit` grid, but on the race screen the details element sits as a
      DIRECT child of `.qber-game`, whose grid declares no such named line — Grid then
      invented an implicit second column, squeezing the HUD/track/mileage to ~70% of the
      window (815px of 1168) and parking a dead column beside them. `.qber-game>*{grid-column:1}`
      was meant to stop this but lost the cascade to the later `grid-area`.
   2. THE TRACK NEVER FILLED THE WINDOW. `.qber-circuit` was sized by width alone against a
      fixed 3:1 art aspect, so it covered 29% of viewport height at 1280, 15% at 760 and 5%
      at 390 — the rest was inert background.
   3. A SHORT TRACK CLIPPED THE COCKPIT (`max-height:52%` + `overflow:auto`), hiding the
      feedback line and half the answers at every width.
   The race screen now fills the Curio window (`.wlcl-rally-app`, same idiom as Picture
   Pair); the cockpit is a sibling of the circuit so it can float over the infield on a
   wide window and drop below the track on a narrow one. */
.wlcl-rally-app{display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - clamp(16px,4vw,48px));min-height:0}
.wlcl-rally-app .wlcl-head{position:static;padding:9px clamp(12px,2vw,30px)}
.wlcl-rally-app .wlcl-body{min-height:0;overflow:hidden;padding:clamp(8px,1.3vw,16px)}
.wlcl-rally-app .wlcl-tool{max-width:none;height:100%;min-height:0}
.wlcl-rally-app .qber-game{height:100%;min-height:0;grid-template-rows:auto minmax(0,1fr) auto auto;gap:7px;padding:8px}
/* Kill the phantom column: every direct child spans the single explicit column, and the
   stray `grid-area:thinking` is reset outright so it cannot invent an implicit row either. */
.qber-game>*{grid-column:1/-1}
.qber-game>.qber-thinking-below{grid-area:auto;grid-column:1/-1}
/* Keep the race and the question in one window without covering the track. The question card
   is a normal row below the circuit at every width. On a wide screen its prompt/feedback share
   the left column while the four answers use the right, keeping the whole card compact enough
   to leave a useful track above it. */
.wlcl-rally-app .qber-circuit-track{container-type:inline-size;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:clamp(5px,.7vw,8px);min-height:0;position:relative;padding:clamp(6px,.8vw,10px)}
.wlcl-rally-app .qber-circuit{aspect-ratio:auto;width:100%;height:100%;max-height:34cqw;min-height:0;align-self:center}
.wlcl-rally-app .qber-track-cockpit{position:static;transform:none;width:auto;max-height:none;overflow:visible;grid-template-columns:minmax(230px,.8fr) minmax(420px,1.2fr);grid-template-areas:"question choices" "feedback choices";align-content:center;gap:5px 10px;padding:8px 10px;background:rgba(255,255,255,.96);backdrop-filter:none}
.wlcl-rally-app .qber-track-cockpit .qber-question-line h2{font-size:clamp(.98rem,1.35vw,1.32rem)}
.wlcl-rally-app .qber-track-cockpit .qber-choices button{min-height:clamp(32px,4.1dvh,42px)}
.wlcl-rally-app .qber-track-cockpit .qber-feedback-row{grid-template-columns:minmax(0,1fr) auto;align-self:end}
.wlcl-rally-app .qber-track-cockpit .qber-feedback{min-height:32px;padding:5px 8px}
.wlcl-rally-app .qber-track-cockpit .qber-next{width:auto;min-width:116px;min-height:34px}
.wlcl-rally-app .qber-track-cockpit.qber-finish-card{width:auto;grid-template-columns:1fr;grid-template-areas:none;padding:8px 10px}
.wlcl-rally-app .qber-mileage{align-content:center}
/* Narrow / portrait keeps the same track-then-question order. The question becomes a roomy
   full-width stack only when two useful columns no longer fit. */
@media(max-width:1024px){
  .wlcl-rally-app .qber-circuit{max-height:46cqw;min-height:clamp(92px,16dvh,170px)}
  .wlcl-rally-app .qber-track-cockpit{grid-template-columns:minmax(190px,.72fr) minmax(350px,1.28fr)}
  .wlcl-rally-app .qber-track-cockpit .qber-question-line h2{font-size:clamp(.98rem,2.2vw,1.3rem)}
  .wlcl-rally-app .qber-track-cockpit .qber-topic{padding:3px 8px;font-size:clamp(.66rem,1.6vw,.8rem)}
  .wlcl-rally-app .qber-track-cockpit .qber-choices{gap:6px}
  .wlcl-rally-app .qber-track-cockpit .qber-choices button{min-height:clamp(34px,4.7dvh,44px);border-radius:11px;font-size:clamp(.92rem,2.4vw,1.14rem)}
  .wlcl-rally-app .qber-track-cockpit .qber-feedback{font-size:clamp(.72rem,1.8vw,.88rem);line-height:1.2}
}
@media(max-width:760px){
  .wlcl-rally-app .qber-circuit{max-height:62cqw;min-height:clamp(96px,17dvh,150px)}
  .wlcl-rally-app .qber-track-cockpit{grid-template-columns:minmax(0,1fr);grid-template-areas:"question" "choices" "feedback";gap:5px;padding:7px 8px}
  .wlcl-rally-app .qber-track-cockpit .qber-question-line h2{font-size:clamp(.94rem,4vw,1.18rem)}
  .wlcl-rally-app .qber-track-cockpit .qber-choices button{min-height:clamp(34px,4.8dvh,42px);font-size:clamp(.9rem,3.5vw,1.05rem)}
  .wlcl-rally-app .qber-track-cockpit .qber-feedback-row{grid-template-columns:minmax(0,1fr)}
  .wlcl-rally-app .qber-track-cockpit .qber-next{width:100%;min-width:0}
  .wlcl-rally-app .qber-track-cockpit .qber-next[hidden]{display:none!important}
  .wlcl-rally-app .qber-track-cockpit.qber-finish-card{grid-template-areas:none}
}
/* The garage is now step 1, so it must fit before the two-column split is affordable. */
@media(max-width:1080px){.qber-garage-setup{grid-template-columns:minmax(0,1fr)}.qber-car-lab{min-height:0}}
.qber-setup-step{margin-top:18px}
/* Chrome around the track was eating the height the track needed: the HUD stacked three
   lines (128px) and the mileage strip wrapped to two rows (138px), leaving the circuit only
   32% of the window. Title on its own line, round + streak sharing the next, mileage on one
   row — measured 128->~70 and 138->~60, all of it handed back to the track. */
.wlcl-rally-app .qber-hud{grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) minmax(0,.8fr);gap:8px;padding:5px 8px}
.wlcl-rally-app .qber-driver{min-height:0;padding:4px 10px}
.wlcl-rally-app .qber-versus{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 12px}
.wlcl-rally-app .qber-versus strong{flex:1 0 100%;margin:0;font-size:clamp(1rem,1.8vw,1.55rem)}
.wlcl-rally-app .qber-versus small,.wlcl-rally-app .qber-versus span{display:inline;font-size:clamp(.68rem,.9vw,.82rem);line-height:1.15}
.wlcl-rally-app .qber-mileage{grid-template-columns:auto auto minmax(0,1fr) auto;gap:4px 12px;padding:5px 10px;font-size:clamp(.72rem,1vw,.88rem);line-height:1.2}
.wlcl-rally-app .qber-design-link{min-height:34px!important;padding:6px 10px!important}
.wlcl-rally-app .qber-thinking-below{padding:7px 10px}
.wlcl-rally-app .qber-thinking summary{font-size:.8rem;line-height:1.2}
/* Below ~1100px the two nowrap lap read-outs plus the button leave the guidance note an 88px
   column, and 88 characters wrapped into 434px of height — which ate the track's 1fr row and
   left the circuit a 170px sliver. Give the note its own full-width row instead. */
@media(max-width:1100px){
  .wlcl-rally-app .qber-mileage{grid-template-columns:auto auto minmax(0,1fr);gap:4px 12px}
  .wlcl-rally-app .qber-mileage em{grid-column:1/-1;grid-row:2}
  .wlcl-rally-app .qber-design-link{justify-self:end}
}
@media(max-width:700px){
  .wlcl-rally-app .qber-mileage{grid-template-columns:auto auto}
  .wlcl-rally-app .qber-design-link{grid-column:1/-1;justify-self:stretch;width:100%}
}
/* The decorative grass band (.qber-game:before) is a leftover of the straight-road design;
   against the oval art it pokes out either side of the track box and reads as a glitch. */
.wlcl-rally-app .qber-game:before{display:none}
.wlcl-rally-app .qber-track-cockpit{width:auto}
/* Phones: stack the HUD as title+status over the two driver pills. Three wrapped lines in a
   140px middle column made it 139px tall and pushed the mileage strip out of the window. */
@media(max-width:620px){
  .wlcl-rally-app .qber-hud{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:6px 8px}
  .wlcl-rally-app .qber-versus{order:-1;grid-column:1/-1;gap:0 8px}
  .wlcl-rally-app .qber-versus strong{font-size:clamp(.9rem,3.6vw,1.15rem)}
  .wlcl-rally-app .qber-versus small,.wlcl-rally-app .qber-versus span{font-size:clamp(.6rem,2.4vw,.72rem)}
  .wlcl-rally-app .qber-driver{min-height:0;padding:5px 8px}
  .wlcl-rally-app .qber-driver-stack>strong{font-size:clamp(.95rem,4vw,1.2rem)}
}
/* …but below 900px the cockpit is a full-width card under the track, not a floating panel. */
@media(max-width:1024px){.wlcl-rally-app .qber-track-cockpit{width:auto}}
/* The old background painted a hard sky/grass horizon at fixed 16–22% of the box. That was
   tuned for the straight-road layout; with the oval art it lands mid-track and reads as a
   stray green stripe beside the circuit. Soften it to a plain sky-to-dusk wash. */
.wlcl-rally-app .qber-game{background:radial-gradient(circle at 12% 5%,rgba(255,255,255,.85) 0 3%,transparent 3.2%),radial-gradient(circle at 78% 7%,rgba(255,255,255,.7) 0 4%,transparent 4.2%),linear-gradient(180deg,#8dd7f5 0 8%,#79c2e0 18%,#2b3d5d 42%,#24324a 100%)}
/* Phones only: the window is ~740px and the stacked rows totalled ~750, so grid compressed the
   mileage strip and clipped the lap read-out. Trim ~40px of padding/button height instead. */
@media(max-width:620px){
  .wlcl-rally-app .qber-track-cockpit{padding:8px}
  .wlcl-rally-app .qber-track-cockpit .qber-choices button{min-height:clamp(44px,5.6dvh,56px)}
  .wlcl-rally-app .qber-track-cockpit .qber-feedback{min-height:38px;padding:7px 10px}
  .wlcl-rally-app .qber-mileage{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:6px 10px;font-size:.74rem}
  .wlcl-rally-app .qber-thinking-below{padding:7px 10px}
  .wlcl-rally-app .qber-thinking summary{font-size:.8rem}
}
/* Garage (now step 1): .qber-car-lab stretched to match the taller settings column, so the
   640x360 canvas was drawn into a 749x913 box — the car came out as a vertically smeared blob
   and only half the part labels sat above the fold. Hold the drawing's own aspect instead. */
.qber-garage-setup{align-items:start}
.qber-car-lab{grid-template-rows:auto auto;min-height:0;align-content:start}
.qber-garage-stage{box-sizing:border-box;width:100%;min-height:0;aspect-ratio:640/360;max-width:780px;margin-inline:auto}
/* Step 1 is a tall page (diagram + designer + race settings), so keep the way out of it in
   reach rather than at the end of a scroll. */
.qber-race-setup .qber-start{position:sticky;bottom:10px;z-index:2}

/* Formula Speedway custom car: these are transparent painted PNGs, not canvas or SVG shapes.
   Preserve their natural proportions at every breakpoint so the chosen hatch/coupe/pickup stays
   recognisable while it follows the oval track. */
@media(max-width:760px){.qber-circuit .qber-racer{width:clamp(54px,14vw,72px);height:auto}}
@media(min-width:1500px){.qber-circuit .qber-racer{width:168px;height:auto}}

/* ============================================================
   🕹️ CURIO ARCADE — Layout B hub (assets/wordlab-curio-hub.js)
   Phase 2 of _curriculum_ref/CURIO_BUILD_PLAN_2026-08-16.md. Namespaced `.qbh-*`
   throughout: this sheet is also linked by index.html, which never loads the hub
   module, so none of these rules can match anything there.
   Colour comes from the Cabinet's own --curio-* tokens (set on :root by
   wordlab-studios.js) with literal fallbacks, so the hub still paints correctly
   if it is ever rendered before that sheet is injected.
   ============================================================ */
.qbh-cabinet{--qbh-gold:var(--curio-gold,#f6d693);--qbh-rule:var(--curio-rule,#b58a42);--qbh-ink:var(--curio-ink,#173d49);--qbh-soft:var(--curio-soft,#e8f1ff);--qbh-wide:min(94vw,1520px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.qbh-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(12px,2vw,22px);scrollbar-color:#4b8694 #143741}
.qbh-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;white-space:nowrap!important;border:0!important}

/* ---- marquee: the oversized start, in front of the shelves ---- */
.qbh-marquee{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:clamp(12px,2vw,26px);max-width:var(--qbh-wide);margin:0 auto 14px;padding:clamp(14px,2.4vw,28px);border:2px solid var(--qbh-rule);border-radius:22px;background:radial-gradient(circle at 14% 12%,rgba(246,214,147,.18),transparent 20rem),linear-gradient(160deg,#1b4a58,#0d2530);box-shadow:0 16px 40px rgba(4,20,27,.34)}
.qbh-kicker{display:block;color:var(--qbh-gold);font-size:.66rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.qbh-marquee h1{margin:6px 0 4px;color:#fff;font-family:Georgia,serif;font-size:clamp(1.5rem,3.4vw,2.6rem);font-weight:700;line-height:1.04}
.qbh-marquee p{margin:0;color:#cbdadd;font-size:clamp(.8rem,1.2vw,.96rem);line-height:1.4}
.qbh-play{display:block;width:100%;margin:14px 0 10px;border:2px solid var(--qbh-rule);border-radius:18px;background:linear-gradient(180deg,#ffe9b4,var(--qbh-gold));color:var(--qbh-ink);padding:14px 18px;text-align:left;font-family:inherit;cursor:pointer;box-shadow:0 6px 0 rgba(4,24,31,.34),0 14px 26px rgba(4,20,27,.26);transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}
.qbh-play:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 8px 0 rgba(4,24,31,.34),0 18px 32px rgba(4,20,27,.3)}
.qbh-play:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(4,24,31,.34)}
.qbh-play-big{display:block;font-size:clamp(1.15rem,2.2vw,1.6rem);font-weight:950;line-height:1.1}
.qbh-play-sub{display:block;margin-top:4px;color:#3d5b64;font-size:clamp(.76rem,1.1vw,.9rem);font-weight:800}
.qbh-marquee-actions{display:flex;flex-wrap:wrap;gap:8px}
.qbh-ghost{min-height:42px;border:1px solid rgba(255,255,255,.28);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;padding:9px 14px;font-family:inherit;font-size:.8rem;font-weight:850;cursor:pointer}
.qbh-ghost:hover{background:rgba(255,255,255,.19)}
.qbh-marquee-art{display:block;min-width:0;overflow:hidden;border:1px solid rgba(246,214,147,.44);border-radius:18px;background:rgba(255,255,255,.06);padding:0;cursor:pointer}
.qbh-marquee-art img{display:block;width:100%;height:clamp(150px,24vh,240px);object-fit:cover}

/* ---- today widget (pure Date() + local profile) ---- */
.qbh-today{max-width:var(--qbh-wide);margin:0 auto 18px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.07);padding:12px clamp(12px,1.8vw,18px)}
.qbh-today-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:8px}
.qbh-today-day{color:var(--qbh-gold);font-size:.74rem;font-weight:950;letter-spacing:.09em;text-transform:uppercase}
.qbh-today-who{margin-left:auto;color:#cbdadd;font-size:.82rem;font-weight:800}
.qbh-today-body{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:12px}
.qbh-today-kindred{display:block;width:56px;height:56px;object-fit:contain}
.qbh-today-say{margin:0;color:#edf5f6;font-size:clamp(.84rem,1.2vw,.98rem);line-height:1.42}
.qbh-today-say strong{color:var(--qbh-gold)}

/* ---- shelves: capped rails, never a wall ---- */
.qbh-rooms-head{max-width:var(--qbh-wide);margin:26px auto 8px;padding-top:12px;border-top:2px solid var(--qbh-rule)}
.qbh-rooms-head h2{margin:0;color:#fff;font-family:Georgia,serif;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700}
.qbh-rooms-head p{margin:3px 0 0;color:#cbdadd;font-size:.8rem}
.qbh-shelf{max-width:var(--qbh-wide);margin:0 auto 20px}
.qbh-shelf-head{display:flex;align-items:center;gap:11px;margin:0 0 9px;padding-bottom:7px;border-bottom:1px solid rgba(246,214,147,.36)}
.qbh-kindred{flex:0 0 auto;width:46px;height:46px;object-fit:contain}
.qbh-shelf-title{min-width:0;flex:1 1 auto}
.qbh-shelf-title h2{margin:0;color:var(--qbh-gold);font-size:clamp(.98rem,1.7vw,1.24rem);font-weight:900;line-height:1.15}
.qbh-shelf-title p{margin:2px 0 0;color:#cbdadd;font-size:.75rem;font-weight:700}
.qbh-slots{display:flex;flex:0 0 auto;gap:4px}
.qbh-slot{display:grid;place-items:center;width:26px;height:26px;border:1px dashed rgba(246,214,147,.5);border-radius:8px;background:rgba(0,0,0,.22);color:rgba(246,214,147,.55);font-size:.72rem;font-weight:900}
.qbh-seeall{flex:0 0 auto;min-height:36px;border:1px solid rgba(255,255,255,.26);border-radius:11px;background:rgba(255,255,255,.1);color:#fff;padding:7px 12px;font-family:inherit;font-size:.76rem;font-weight:850;cursor:pointer;white-space:nowrap}
.qbh-seeall:hover{background:rgba(255,255,255,.19)}
.qbh-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(206px,1fr);gap:11px;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 3px 10px;scrollbar-color:#4b8694 #143741}

/* ---- keyart tiles ---- */
.qbh-tile{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:linear-gradient(155deg,#fff,var(--qbh-soft));color:var(--qbh-ink);padding:0;text-align:left;font:inherit;cursor:pointer;box-shadow:0 4px 0 var(--qbh-ink),0 10px 18px rgba(3,20,27,.14);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.qbh-tile:hover{transform:translateY(-3px);border-color:var(--qbh-rule);box-shadow:0 7px 0 var(--qbh-ink),0 15px 26px rgba(3,20,27,.2)}
.qbh-tile:focus-visible,.qbh-play:focus-visible,.qbh-ghost:focus-visible,.qbh-seeall:focus-visible,.qbh-door:focus-visible{outline:4px solid var(--qbh-gold);outline-offset:2px}
/* press wiggle — the tile takes the tap before the cabinet powers on */
.qbh-tile:active{animation:qbh-wiggle .22s ease}
@keyframes qbh-wiggle{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(2px) rotate(-1.6deg)}62%{transform:translateY(1px) rotate(1.3deg)}100%{transform:translateY(0) rotate(0)}}
.qbh-tile-art{position:relative;display:block;overflow:hidden;background:color-mix(in srgb,var(--qbh-soft) 52%,#fff)}
.qbh-tile-art img{display:block;width:100%;height:118px;object-fit:cover}
.qbh-badge{position:absolute;top:7px;left:7px;border:1px solid var(--qbh-rule);border-radius:999px;background:var(--qbh-gold);color:var(--qbh-ink);padding:2px 9px;font-size:.66rem;font-weight:950;letter-spacing:.05em;text-transform:uppercase}
.qbh-tile-copy{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;padding:10px 11px 11px}
.qbh-tile-name{color:var(--qbh-ink);font-size:.98rem;font-weight:900;line-height:1.16}
.qbh-tile-verb{display:-webkit-box;margin:4px 0 0;color:#4a5a63;font-size:.79rem;line-height:1.34;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.qbh-tile-foot{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:9px}
.qbh-stars{flex:0 0 auto;letter-spacing:.06em;font-size:.8rem}
.qbh-star{color:#c3cfd6}.qbh-star.on{color:var(--qbh-rule)}
.qbh-tile-room{min-width:0;margin-left:auto;color:#64737d;font-size:.66rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* ---- the Lesson Game Shelf door + footer ---- */
.qbh-shelf-door{margin-top:4px}
.qbh-door{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;width:100%;overflow:hidden;border:1px solid rgba(246,214,147,.44);border-radius:16px;background:rgba(255,255,255,.08);color:#fff;padding:0;text-align:left;font:inherit;cursor:pointer}
.qbh-door img{display:block;width:132px;height:92px;object-fit:cover}
.qbh-door>span{display:block;padding:12px 14px}
.qbh-door strong{display:block;font-size:1rem;font-weight:900}
.qbh-door small{display:block;margin-top:3px;color:#cbdadd;font-size:.78rem}
.qbh-door:hover{border-color:var(--qbh-gold);background:rgba(255,255,255,.16)}
.qbh-foot{max-width:var(--qbh-wide);margin:6px auto 4px;text-align:center;color:#b9b3c9;font-size:.72rem;font-weight:700}

/* ---- two-panel library: stable browse map on the left, results on the right ---- */
.studios-hub.qbh-two-panel{position:relative;display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1fr);min-height:0;overflow:hidden;background:linear-gradient(145deg,#0b2731,#123944)}
.qbh-side{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;overflow:hidden;padding:clamp(16px,2vw,24px);border-right:2px solid rgba(246,214,147,.34);background:radial-gradient(circle at 20% 0,rgba(246,214,147,.13),transparent 18rem),#0b2630;scrollbar-color:#4b8694 #143741}
.qbh-side-head{position:relative;padding:3px 42px 13px 2px}.qbh-side-head h1{margin:4px 0 0;color:#fff;font-family:Georgia,serif;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:700;line-height:1.05}
.qbh-side-close{display:none;position:absolute;right:0;top:0;width:40px;height:40px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:rgba(255,255,255,.08);color:#fff;font:inherit;font-weight:900;cursor:pointer}
.qbh-search{display:block;margin-bottom:15px}.qbh-search input{box-sizing:border-box;width:100%;min-height:48px;border:2px solid rgba(255,255,255,.2);border-radius:14px;background:rgba(255,255,255,.1);color:#fff;padding:10px 13px;font:inherit;font-size:.94rem;font-weight:750}.qbh-search input::placeholder{color:#b7cbd0}.qbh-search input:focus{outline:3px solid var(--qbh-gold);outline-offset:2px;border-color:var(--qbh-gold);background:rgba(255,255,255,.16)}
.qbh-nav{display:grid;align-content:start;gap:6px;min-height:0;overflow:auto;overscroll-behavior:contain;padding-right:3px}.qbh-nav-label{margin:11px 4px 2px;color:#9fb8be;font-size:.64rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.qbh-nav-label:first-child{margin-top:0}
.qbh-nav-item{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:46px;border:1px solid transparent;border-radius:13px;background:transparent;color:#eaf3f4;padding:8px 10px;text-align:left;font:inherit;cursor:pointer}.qbh-nav-item>span{font-size:1.05rem;text-align:center}.qbh-nav-item strong{min-width:0;font-size:.86rem;font-weight:850;line-height:1.15}.qbh-nav-item small{display:grid;place-items:center;min-width:25px;height:25px;border-radius:999px;background:rgba(255,255,255,.1);color:#c9dbdf;font-size:.66rem;font-weight:900}.qbh-nav-item:hover{border-color:rgba(246,214,147,.34);background:rgba(255,255,255,.08)}.qbh-nav-item.on{border-color:var(--qbh-rule);background:linear-gradient(135deg,#ffe8ad,var(--qbh-gold));color:var(--qbh-ink);box-shadow:0 4px 0 rgba(0,0,0,.24)}.qbh-nav-item.on small{background:rgba(23,61,73,.12);color:var(--qbh-ink)}
.qbh-main{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:clamp(16px,2.2vw,30px);scrollbar-color:#4b8694 #143741}.qbh-results{width:min(100%,1280px);margin:0 auto}.qbh-browse-button{display:none}
.qbh-main-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(246,214,147,.36)}.qbh-main-head h1{margin:5px 0 4px;color:#fff;font-family:Georgia,serif;font-size:clamp(1.75rem,3.2vw,2.7rem);font-weight:700;line-height:1.04;overflow-wrap:anywhere}.qbh-main-head h1:focus{outline:none}.qbh-main-head p{max-width:720px;margin:0;color:#cbdadd;font-size:.9rem;line-height:1.45}
.qbh-quick-pick{flex:0 0 auto;max-width:250px;min-height:54px;border:2px solid var(--qbh-rule);border-radius:14px;background:linear-gradient(180deg,#ffe9b4,var(--qbh-gold));color:var(--qbh-ink);padding:9px 13px;text-align:left;font:inherit;cursor:pointer;box-shadow:0 4px 0 rgba(4,24,31,.34)}.qbh-quick-pick>span{display:block;font-size:.9rem;font-weight:950}.qbh-quick-pick small{display:block;max-width:220px;margin-top:2px;overflow:hidden;color:#49616a;font-size:.7rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.qbh-quick-pick:hover{filter:brightness(1.05);transform:translateY(-1px)}
.qbh-game-doors{margin-bottom:16px}.qbh-game-door{background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.07))}
.qbh-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:15px;align-items:stretch}.qbh-results-grid .qbh-tile{height:100%}.qbh-results-grid .qbh-tile-art img{height:132px}.qbh-empty{display:grid;place-items:center;min-height:280px;border:1px dashed rgba(246,214,147,.42);border-radius:18px;background:rgba(255,255,255,.05);padding:28px;color:#d9e6e8;text-align:center}.qbh-empty>span{font-size:2.3rem}.qbh-empty strong{margin-top:8px;color:#fff;font-size:1.1rem}.qbh-empty p{margin:5px 0 0;color:#bcd0d4}.qbh-browse-shade{display:none}
.qbh-nav-item:focus-visible,.qbh-side-close:focus-visible,.qbh-browse-button:focus-visible,.qbh-quick-pick:focus-visible{outline:4px solid var(--qbh-gold);outline-offset:2px}

/* ---- ONE cabinet power-on between press and gameplay (<800 ms) ---- */
.qbh-poweron{position:fixed;inset:0;z-index:11000;display:grid;place-items:center;background:#06161c;animation:qbh-po-fade .62s ease forwards;pointer-events:none}
.qbh-poweron-inner{display:grid;justify-items:center;gap:14px}
.qbh-poweron-line{display:block;width:min(70vw,520px);height:5px;border-radius:99px;background:var(--curio-gold,#f6d693);box-shadow:0 0 26px rgba(246,214,147,.75);animation:qbh-po-line .62s cubic-bezier(.2,.8,.25,1) forwards}
.qbh-poweron-name{color:#f6d693;font-family:Georgia,serif;font-size:clamp(1rem,2.4vw,1.7rem);font-weight:700;opacity:0;animation:qbh-po-name .62s ease forwards}
@keyframes qbh-po-fade{0%{opacity:0}18%{opacity:1}80%{opacity:1}100%{opacity:0}}
@keyframes qbh-po-line{0%{transform:scaleX(.02) scaleY(2.4)}42%{transform:scaleX(1) scaleY(1)}100%{transform:scaleX(1) scaleY(24);opacity:.06}}
@keyframes qbh-po-name{0%,34%{opacity:0}60%{opacity:1}100%{opacity:0}}

@media(max-width:820px){
  .studios-hub.qbh-two-panel{grid-template-columns:minmax(0,1fr)}
  .qbh-side{position:absolute;z-index:12;inset:0 auto 0 0;box-sizing:border-box;width:min(88%,340px);border-right-color:var(--qbh-rule);box-shadow:18px 0 36px rgba(0,0,0,.42);transform:translateX(-105%);transition:transform .2s ease}
  .qbh-two-panel.browse-open .qbh-side{transform:translateX(0)}
  .qbh-side-close{display:block}.qbh-browse-shade{position:absolute;z-index:11;inset:0;display:none;border:0;background:rgba(3,15,20,.68);padding:0}.qbh-two-panel.browse-open .qbh-browse-shade{display:block}
  .qbh-main{padding:10px 11px 18px}.qbh-browse-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;margin-bottom:10px;border:1px solid rgba(255,255,255,.26);border-radius:12px;background:rgba(255,255,255,.1);color:#fff;padding:8px 13px;font:inherit;font-size:.82rem;font-weight:900;cursor:pointer}
  .qbh-main-head{gap:10px;margin-bottom:12px;padding-bottom:11px}.qbh-main-head h1{font-size:clamp(1.5rem,7vw,2rem)}.qbh-main-head p{font-size:.78rem}.qbh-quick-pick{max-width:150px;min-height:48px;padding:7px 9px}.qbh-quick-pick small{max-width:130px}.qbh-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qbh-results-grid .qbh-tile-art img{height:104px}.qbh-game-door{grid-template-columns:96px minmax(0,1fr)}.qbh-game-door img{width:96px;height:78px}
  .qbh-marquee{grid-template-columns:1fr;padding:13px}
  .qbh-marquee-art{order:-1}
  .qbh-marquee-art img{height:clamp(120px,20vh,170px)}
  .qbh-today-body{grid-template-columns:44px minmax(0,1fr)}
  .qbh-today-kindred{width:44px;height:44px}
  .qbh-rail{grid-auto-columns:minmax(168px,1fr);gap:9px}
  .qbh-tile-art img{height:96px}
  .qbh-kindred{width:38px;height:38px}
  .qbh-slots{display:none}
  .qbh-door{grid-template-columns:96px minmax(0,1fr)}
  .qbh-door img{width:96px;height:78px}
}
@media(max-width:520px){.qbh-results-grid{grid-template-columns:1fr}.qbh-main-head{display:grid}.qbh-quick-pick{max-width:none;width:100%}.qbh-quick-pick small{max-width:none}}
@media(prefers-reduced-motion:reduce){
  .qbh-tile,.qbh-play{transition:none}
  .qbh-tile:hover,.qbh-play:hover{transform:none}
  .qbh-tile:active{animation:none}
  .qbh-poweron,.qbh-poweron-line,.qbh-poweron-name{animation:none}
  .qbh-side{transition:none}
}
