:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f4efe7;--paper:#fffdf8;--ink:#1d252c;--muted:#63747d;--navy:#16232d;--gold:#c9902e;--teal:#117f83;--blue:#1d5a83;--green:#4f7d55;--plum:#70526d;--clay:#b65e42;--line:#d8e0e2;font-family:Arial,Arial Unicode MS,sans-serif}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);margin:0}button,input{font:inherit}button{cursor:pointer}main{min-height:100vh}.loading{place-items:center;display:grid}.topbar{z-index:10;background:var(--navy);color:#fff;border-bottom:4px solid var(--gold);grid-template-columns:minmax(210px,1fr) auto minmax(280px,360px) auto auto auto;align-items:center;gap:12px;padding:12px 20px;display:grid;position:sticky;top:0;box-shadow:0 12px 28px #0c161e2e}.brand-block{color:#fff;justify-items:start;gap:4px;min-width:0;text-decoration:none;display:grid}.brand-logo{width:172px;height:auto;display:block}.topbar h1{color:#f8efe2;margin:0;font-size:14px;font-weight:800;line-height:1.1}.tabs{gap:6px;display:inline-flex}.tabs a,.download-link,.presentation-link,.access-form button,.picker button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.tabs a,.download-link,.presentation-link{color:#fff;background:#ffffff14;border:1px solid #ffffff2e;border-radius:6px;min-height:42px;padding:0 14px;font-weight:900;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.tabs a:hover,.download-link:hover,.presentation-link:hover{background:#ffffff26;border-color:#ffffff47}.tabs a.active{background:var(--gold);color:#17232d;border-color:var(--gold);box-shadow:0 5px 14px #c9902e38}.download-link{direction:ltr}.presentation-link{white-space:nowrap}.language-controls{grid-template-columns:repeat(2,minmax(132px,1fr));gap:8px;min-width:300px;display:grid}.language-controls label{color:#f8efe2;gap:4px;font-size:11px;font-weight:800;display:grid}.language-controls select{color:#fff;width:100%;min-height:42px;font:inherit;background:#ffffff1c;border:1px solid #ffffff38;border-radius:6px;padding:0 10px;font-weight:800}.language-controls option{color:var(--ink)}.mode-selector{justify-self:end;position:relative}.mode-button{color:#fff;direction:ltr;background:#ffffff1c;border:1px solid #ffffff38;border-radius:6px;align-items:center;gap:7px;min-height:42px;padding:0 12px;font-weight:800;display:inline-flex}.mode-menu{z-index:30;min-width:230px;color:var(--ink);background:#fffdf8;border:1px solid #cfd9dc;border-radius:6px;padding:7px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 35px #0c161e38}.mode-menu button{width:100%;color:var(--ink);text-align:left;direction:ltr;background:0 0;border:0;gap:3px;padding:10px 11px;display:grid}.mode-menu button.selected{color:var(--teal);background:#e8f1f5;border-radius:4px}.mode-menu small{color:var(--muted);text-align:right;direction:rtl}.modal-backdrop{z-index:60;background:#0c161e94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.adult-dialog{background:var(--paper);border-top:6px solid var(--clay);width:min(560px,100%);padding:24px;box-shadow:0 22px 60px #0c161e47}.adult-dialog h2{color:var(--navy);margin:0 0 10px}.adult-dialog p{color:#41515a;direction:ltr;margin:0 0 18px}.adult-confirm-row{color:var(--ink);direction:ltr;grid-template-columns:auto 1fr;align-items:start;gap:10px;font-weight:700;display:grid}.adult-confirm-row input{margin-top:4px}.dialog-actions{justify-content:flex-start;gap:10px;margin-top:22px;display:flex}.dialog-actions button{background:var(--teal);color:#fff;border:0;min-height:40px;padding:0 16px;font-weight:800}.dialog-actions button.secondary{color:var(--navy);background:#e7ecee}.dialog-actions button:disabled{cursor:not-allowed;opacity:.48}.stack{gap:22px;width:min(1240px,100% - 32px);margin:22px auto 48px;display:grid}.landing-hero{grid-template-columns:minmax(260px,.75fr) minmax(320px,1fr);grid-template-areas:"brand selector""copy selector";align-items:center;gap:28px;width:min(1180px,100% - 32px);min-height:calc(100vh - 90px);margin:0 auto;padding:56px 0;display:grid}.landing-brand{grid-area:brand;align-self:end;gap:10px;display:grid}.landing-logo{width:min(280px,100%);height:auto}.landing-brand p,.landing-copy p{color:var(--muted);margin:0}.landing-copy{grid-area:copy;align-self:start}.landing-copy h1{color:var(--navy);margin:0 0 10px;font-size:clamp(44px,8vw,86px);line-height:.95}.landing-copy p{max-width:620px;font-size:20px;line-height:1.45}.brand-motto{color:var(--clay);letter-spacing:0;text-transform:uppercase;font-size:18px;font-weight:900}.landing-selector{background:var(--paper);border-top:6px solid var(--teal);grid-area:selector;gap:18px;padding:24px;display:grid;box-shadow:0 2px 18px #16232d1f}.landing-selector .language-controls{min-width:0}.landing-selector .language-controls label{color:var(--navy)}.landing-selector .language-controls select{color:var(--ink);background:#fff;border-color:#b9c5ca}.landing-selector button{background:var(--teal);color:#fff;border:0;min-height:46px;padding:0 18px;font-weight:900}.intro-band,.access-band,.sample-panel,.locked-placeholder,.library-main{background:var(--paper);box-shadow:0 2px 12px #16232d14}.intro-band{border-top:6px solid var(--teal);grid-template-columns:1fr auto;align-items:center;gap:24px;padding:22px 24px;display:grid}.intro-band h2,.access-band h2,.section-heading h2,.locked-placeholder h2{color:var(--navy);margin:0;font-size:24px;line-height:1.15}.intro-band p,.access-band p,.section-heading p{color:var(--muted);margin:6px 0 0}.eyebrow{color:var(--teal);margin:0 0 5px;font-size:13px;font-weight:800}.bilingual-title{flex-wrap:wrap;align-items:baseline;gap:8px;display:inline-flex}.bilingual-title [dir=ltr]{direction:ltr;unicode-bidi:isolate}.title-slash{color:var(--gold)}.sample-panel{border-top:6px solid var(--blue);padding:20px}.sample-panel.interesting{border-top-color:var(--plum)}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.scene-study-block{gap:16px;display:grid}.scene-figure{border:1px solid var(--line);background:#f7f3eb;border-radius:6px;margin:0;overflow:visible}.scene-figure.wide{margin-bottom:18px}.scene-image-wrap{background-color:#f7f3eb;background-image:linear-gradient(90deg,#25313a12 1px,#0000 1px),linear-gradient(#25313a12 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:100%;position:relative;overflow:visible}.scene-raw-image{object-fit:fill;background:#efe6d6;border:3px solid #47545c;display:block;position:absolute;box-shadow:0 12px 26px #0c161e2e}.scene-leaders{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.scene-leaders line{stroke:#25313a;stroke-width:2.2px;vector-effect:non-scaling-stroke}.scene-leaders circle{fill:var(--clay);stroke:#fff;stroke-width:3px;vector-effect:non-scaling-stroke}.scene-label-box{border:1px solid #b8c4ca;border-top:6px solid var(--blue);text-align:center;background:#fffffff5;border-radius:4px;align-content:center;gap:4px;padding:10px 11px;line-height:1.16;display:grid;position:absolute;overflow:visible;box-shadow:0 4px 11px #0c161e29}.scene-label-box strong{color:var(--ink);overflow-wrap:anywhere;font-size:clamp(11px,1.1vw,15px);font-weight:900}.scene-label-box span{color:var(--blue);overflow-wrap:anywhere;font-size:clamp(10px,1vw,14px);font-weight:800}.activity-bar-shell{width:min(1240px,100% - 32px);margin:14px auto -8px}.activity-content,.activity-stack,.practice-panel,.game-panel{gap:14px;display:grid}.activity-tabs{border:1px solid var(--line);background:#ede6dc;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px;display:grid}.activity-tabs a{background:var(--paper);min-height:42px;color:var(--navy);border:1px solid #cbd5d8;border-radius:6px;justify-content:center;align-items:center;gap:8px;font-weight:900;text-decoration:none;display:inline-flex}.activity-tabs a.active{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 6px 15px #117f8333}.practice-scene-image{overflow:hidden}.practice-scene-image img{object-fit:contain;background:#efe6d6;width:100%;max-height:560px;display:block}.practice-summary,.game-status,.game-result{border:1px solid var(--line);background:#fbf8f1;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.practice-summary>span,.game-status span,.game-result strong{color:var(--navy);font-weight:900}.practice-actions,.game-result{flex-wrap:wrap;gap:8px;display:flex}.practice-actions button,.primary-action,.game-result button{background:var(--teal);color:#fff;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-weight:900;display:inline-flex}.practice-actions button:nth-child(2){background:var(--blue)}.practice-actions button:nth-child(3){color:var(--navy);background:#e7ecee}.practice-list{gap:8px;display:grid}.practice-row{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(160px,.75fr) minmax(220px,1fr) minmax(150px,.7fr);align-items:center;gap:10px;padding:11px;display:grid}.practice-prompt{color:var(--navy);font-weight:900}.practice-row input,.game-result input{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #b9c5ca;border-radius:6px;padding:0 11px;font-weight:800}.practice-row.correct{background:#edf6ee;border-color:#4f7d558c}.practice-row.wrong{background:#fff1eb;border-color:#b65e4280}.practice-result{color:var(--muted);font-size:13px;font-weight:800}.practice-row.correct .practice-result{color:var(--green)}.practice-row.wrong .practice-result{color:#9e3429}.virtual-keyboard{border:1px solid var(--line);background:#f7f3eb;border-radius:8px;gap:8px;padding:12px;display:grid}.keyboard-title{color:var(--navy);align-items:center;gap:7px;font-weight:900;display:inline-flex}.keyboard-row{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.keyboard-row button{background:var(--paper);min-width:36px;min-height:36px;color:var(--navy);border:1px solid #cbd5d8;border-radius:6px;padding:0 10px;font-weight:900}.keyboard-row button:hover{border-color:var(--teal)}.keyboard-row .space-key{min-width:118px}.match-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.match-column{align-content:start;gap:8px;display:grid}.match-column h3,.leaderboard h3{color:var(--navy);margin:0;font-size:16px}.leaderboard h3{align-items:center;gap:7px;display:inline-flex}.match-column button{background:var(--paper);min-height:44px;color:var(--ink);text-align:center;overflow-wrap:anywhere;border:1px solid #cbd5d8;border-radius:8px;padding:9px 11px;font-weight:900}.match-column button.selected{border-color:var(--blue);background:#e8f1f5}.match-column button.matched{color:var(--green);background:#edf6ee;border-color:#4f7d557a}.match-column button.mismatch{background:#fff1eb;border-color:#b65e4299}.game-result label{min-width:210px;color:var(--navy);gap:4px;font-size:12px;font-weight:900;display:grid}.game-result button:disabled{cursor:not-allowed;opacity:.55}.leaderboard{border:1px solid var(--line);background:#fbf8f1;border-radius:8px;gap:10px;padding:14px;display:grid}.leaderboard ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.leaderboard li{background:var(--paper);border-radius:6px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.leaderboard p{color:var(--muted);margin:0}.compact-scene{overflow:hidden}.compact-scene-image{object-fit:contain;background:#efe6d6;width:100%;max-height:78vh;display:block}.compact-scene-labels{border-top:1px solid var(--line);background:#fffdf8;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:10px;display:grid}.compact-scene-label{background:#f9f5ed;border:1px solid #d8e0e2;border-radius:6px;gap:3px;min-width:0;padding:10px;line-height:1.16;display:grid}.compact-scene-label strong{color:var(--ink);overflow-wrap:anywhere;font-weight:900}.compact-scene-label span{color:var(--blue);overflow-wrap:anywhere;font-weight:800}.table-shell{border:1px solid var(--line);overflow:auto}table{border-collapse:collapse;background:var(--paper);width:100%}th{background:var(--navy);color:#fff;text-align:right;white-space:nowrap;padding:10px 12px;font-size:14px}td{border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}tr:nth-child(2n) td{background:#e8f1f5}.sample-panel.interesting tr:nth-child(2n) td{background:#f1eaf1}.spanish,.target-term{text-align:left;direction:ltr;font-weight:700}.learner-term[dir=rtl],.target-term[dir=rtl]{text-align:right}.learner-term[dir=ltr],.target-term[dir=ltr]{text-align:left}.note{color:#41515a;font-size:14px}.id-cell{text-align:center;color:var(--muted);direction:ltr;font-weight:700}.access-band{border-top:6px solid var(--green);grid-template-columns:1fr minmax(260px,360px);align-items:center;gap:22px;padding:22px 24px;display:grid}.access-form label{color:var(--navy);margin-bottom:7px;font-weight:700;display:block}.code-row{grid-template-columns:1fr auto;gap:8px;display:grid}.code-row input{background:#fff;border:1px solid #b9c5ca;min-height:42px;padding:0 12px}.access-form button{background:var(--teal);color:#fff;border:0;min-height:42px;padding:0 16px;font-weight:700}.error{color:#9e3429;font-weight:700}.access-state{color:var(--green);justify-self:start;align-items:center;gap:8px;font-weight:800;display:inline-flex}.library-section{grid-template-columns:330px 1fr;align-items:start;gap:18px;width:min(1440px,100% - 28px);margin:22px auto 48px;display:grid}.picker{background:#e9e2d8;border-left:1px solid #d1c9bd;max-height:calc(100vh - 108px);position:sticky;top:86px;overflow:auto}.picker button{width:100%;color:var(--ink);text-align:right;background:0 0;border:0;border-bottom:1px solid #d1c9bd;justify-content:flex-start;padding:12px 14px}.picker button.selected{background:var(--paper);color:var(--teal);box-shadow:inset -4px 0 0 var(--teal)}.library-main{padding:20px}.locked-placeholder{min-height:220px;color:var(--muted);place-items:center;display:grid}.content-page{background:var(--paper);border-top:6px solid var(--teal);padding:24px;box-shadow:0 2px 12px #16232d14}.content-page h2{color:var(--navy);margin:0 0 18px;font-size:30px;line-height:1.1}.content-page p{color:#41515a;margin:0;line-height:1.55}.content-page a,.site-footer a{color:var(--blue);font-weight:800;text-decoration:none}.content-page a:hover,.site-footer a:hover{text-decoration:underline}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.contact-card,.legal-contact-box{border:1px solid var(--line);background:#fbf8f1;padding:16px}.contact-card h3,.legal-contact-box h3{color:var(--navy);margin:0 0 8px;font-size:17px}.contact-card p,.legal-contact-box p{margin-bottom:10px}.policy-panel{gap:16px;max-width:820px;display:grid}.site-footer{width:min(1240px,100% - 32px);color:var(--muted);border-top:1px solid #16232d24;justify-content:space-between;align-items:center;gap:16px;margin:-20px auto 34px;padding:16px 4px 0;font-size:14px;display:flex}.footer-contact,.footer-links{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.footer-links a{color:var(--muted);padding:3px 0;font-weight:800;text-decoration:none}.footer-links a:hover{color:var(--blue)}@media (width<=900px){.topbar{grid-template-columns:1fr;position:static}.brand-logo{width:174px}.tabs{overflow-x:auto}.tabs a,.download-link,.presentation-link{min-height:44px}.mode-selector{justify-self:stretch}.language-controls{grid-template-columns:1fr;min-width:0}.mode-button{justify-content:center;width:100%}.presentation-link,.download-link{width:100%}.mode-menu{left:0;right:0}.intro-band,.access-band,.library-section,.landing-hero,.practice-row,.match-board,.contact-grid{grid-template-columns:1fr}.landing-hero{grid-template-areas:"brand""copy""selector";align-items:stretch;min-height:auto;padding:28px 0}.scene-label-box{border-top-width:4px;gap:2px;padding:7px}.scene-label-box strong{font-size:11px}.scene-label-box span{font-size:10px}.picker{max-height:320px;position:static}.site-footer{flex-direction:column;align-items:flex-start;margin-top:-24px}.activity-tabs{grid-template-columns:1fr}.practice-summary,.game-status,.game-result{flex-direction:column;align-items:stretch}}.mobile-view .topbar{grid-template-columns:1fr;gap:10px;width:100%;max-width:100vw;padding:12px;position:static;overflow:hidden}.mobile-view .brand-block{text-align:center;justify-items:center}.mobile-view .brand-logo{width:166px}.mobile-view .tabs{grid-template-columns:1fr;width:100%;display:grid}.mobile-view .tabs a{min-width:0;padding:0 8px}.mobile-view .tabs a span,.mobile-view .presentation-link span,.mobile-view .download-link span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mobile-view .language-controls{grid-template-columns:1fr;min-width:0}.mobile-view .language-controls label,.mobile-view .language-controls select{min-width:0}.mobile-view .mode-selector{justify-self:stretch;min-width:0}.mobile-view .mode-button,.mobile-view .presentation-link,.mobile-view .download-link{width:100%;min-width:0}.mobile-view .stack,.mobile-view .library-section{gap:14px;width:min(760px,100% - 20px);margin-top:12px}.mobile-view .intro-band,.mobile-view .access-band,.mobile-view .sample-panel,.mobile-view .library-main{padding:14px}.mobile-view .intro-band,.mobile-view .access-band,.mobile-view .library-section{grid-template-columns:1fr}.mobile-view .activity-bar-shell{width:min(760px,100% - 20px);margin-top:12px}.mobile-view .activity-tabs,.mobile-view .practice-row,.mobile-view .match-board{grid-template-columns:1fr}.mobile-view .section-heading{flex-direction:column;align-items:start;gap:8px;min-width:0}.mobile-view .section-heading h2,.mobile-view .intro-band h2,.mobile-view .access-band h2{overflow-wrap:anywhere;max-width:100%;font-size:21px}.mobile-view .intro-band p,.mobile-view .access-band p,.mobile-view .section-heading p,.mobile-view .bilingual-title,.mobile-view .bilingual-title span{overflow-wrap:anywhere;min-width:0;max-width:100%}.mobile-view .bilingual-title{gap:3px;display:grid}.mobile-view .title-slash{display:none}.mobile-view .picker{max-height:280px;position:static}@media (width<=520px){.mobile-view .compact-scene-labels{grid-template-columns:1fr}.mobile-view .tabs a span,.mobile-view .presentation-link span,.mobile-view .download-link span{font-size:13px}}
