:root{
  --bg:#f4f1e8;--card:#fffdf8;--ink:#173024;--muted:#65766d;--line:#d9e1d9;
  --nav:#173c2a;--nav2:#214f36;--accent:#2f7d4a;--accent-dark:#235f39;--accent-soft:#e5f1e8;
  --grass:#5f9f4f;--grass2:#81b75f;--dirt:#9a7047;--stone:#7a8580;--sand:#e8d9b4;
  --danger:#b95358;--shadow:0 10px 24px rgba(38,69,49,.08);
}
*{box-sizing:border-box}html{font-size:17px}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:linear-gradient(180deg,#f8f6ef 0,#eef3ec 100%);color:var(--ink)}button,input{font:inherit}.app-shell{display:grid;grid-template-columns:255px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,var(--nav),#12301f);color:#fff;padding:24px 16px;display:flex;flex-direction:column;gap:26px;position:sticky;top:0;height:100vh;border-right:6px solid #0d2b1a}.brand{display:flex;align-items:center;gap:12px;padding:0 6px}.brand-badge{width:48px;height:48px;background:var(--grass);display:grid;place-items:center;font-weight:950;letter-spacing:.04em;box-shadow:inset 0 -8px 0 var(--dirt),4px 4px 0 rgba(0,0,0,.18);border-radius:4px}.brand-badge span{transform:translateY(-3px)}.brand h1{font-size:1.08rem;margin:0;letter-spacing:.12em}.brand p{font-size:.7rem;color:#bdd3c4;margin:3px 0 0;text-transform:uppercase;letter-spacing:.1em}.nav-menu{display:flex;flex-direction:column;gap:7px}.nav-item{border:0;background:transparent;color:#d4e3d8;padding:13px 14px;border-radius:7px;text-align:left;cursor:pointer;font-weight:750;font-size:.96rem;transition:.16s}.nav-item:hover,.nav-item.active{background:#2a5d40;color:#fff;transform:translateX(2px);box-shadow:inset 4px 0 0 #8dc56e}.sidebar-footer{margin-top:auto}.score-chip{background:#214f36;padding:12px;border-radius:7px;display:flex;align-items:baseline;gap:8px;border:1px solid #3a684b}.score-chip span,.score-chip small{font-size:.62rem;color:#bdd3c4;letter-spacing:.08em}.score-chip strong{font-size:1.45rem}.ghost-btn{width:100%;margin-top:10px;background:transparent;border:1px solid #4e765d;color:#c5d8ca;border-radius:7px;padding:10px;cursor:pointer}
.main-content{padding:30px 36px;max-width:1500px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.eyebrow{margin:0;color:var(--accent);font-size:.68rem;font-weight:950;text-transform:uppercase;letter-spacing:.13em}.topbar h2{margin:5px 0 0;font-size:1.7rem}.topbar-actions{display:flex;gap:10px}.streak-card,.session-chip{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:10px 13px;color:var(--muted);font-size:.84rem;box-shadow:0 3px 0 rgba(47,125,74,.08)}.streak-card strong,.session-chip strong{color:var(--ink)}.section{display:none}.active-section{display:block}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.hero{display:flex;justify-content:space-between;align-items:center;padding:36px;background:linear-gradient(135deg,#fffdf8 55%,#e8f1e5);position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-28px;bottom:-24px;width:160px;height:70px;background:linear-gradient(90deg,var(--grass) 0 33%,var(--dirt) 33% 66%,var(--stone) 66%);opacity:.08;image-rendering:pixelated}.hero-copy{max-width:700px;position:relative;z-index:1}.pill{display:inline-block;background:var(--accent-soft);color:var(--accent-dark);border-radius:4px;padding:7px 10px;font-size:.68rem;font-weight:950;letter-spacing:.08em;border:1px solid #cce0cf}.hero h3{font-size:2.3rem;line-height:1.08;margin:14px 0 12px;max-width:680px}.hero p{font-size:1rem;color:var(--muted);max-width:650px;line-height:1.6}.hero-visual{width:225px;height:170px;border-radius:7px;background:linear-gradient(#dbeed6 0 46%,#9ac46f 46% 58%,#8b6847 58%);color:#fff;display:grid;place-content:center;justify-items:center;gap:6px;position:relative;overflow:hidden;border:5px solid #214f36;box-shadow:8px 8px 0 rgba(33,79,54,.12)}.hero-level{font-size:3.8rem;font-weight:950;line-height:.9;text-shadow:3px 3px 0 #173c2a}.hero-visual>span:not(.pixel-block){font-size:.65rem;letter-spacing:.16em;color:#f2fff4;font-weight:900}.pixel-world{position:absolute;inset:0}.pixel-block{position:absolute;width:28px;height:28px;box-shadow:inset 0 -6px 0 rgba(0,0,0,.14)}.pixel-block.grass{background:var(--grass2)}.pixel-block.dirt{background:var(--dirt)}.pixel-block.stone{background:var(--stone)}.b1{left:12px;bottom:28px}.b2{left:40px;bottom:28px}.b3{left:12px;bottom:0}.b4{right:18px;bottom:0}.b5{right:46px;bottom:28px}.b6{right:46px;bottom:0}
.primary-btn,.secondary-btn{border:0;border-radius:6px;padding:12px 16px;font-weight:850;cursor:pointer;font-size:.92rem}.primary-btn{background:var(--accent);color:#fff;box-shadow:0 4px 0 #1f5935}.primary-btn:hover{background:var(--accent-dark);transform:translateY(1px);box-shadow:0 3px 0 #1f5935}.secondary-btn{background:#e6efe5;color:#285c39;border:1px solid #cbdcc9}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0}.stat{padding:19px;display:flex;gap:13px;align-items:center}.stat>span{width:41px;height:41px;border-radius:6px;background:#edf4eb;display:grid;place-items:center;font-size:.8rem;font-weight:950;color:var(--accent);border:1px solid #d9e5d6}.stat small{display:block;color:var(--muted);font-size:.74rem}.stat strong{font-size:1.55rem}.section-grid.two-col,.progress-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:14px}.panel-card{padding:23px}.card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.card-heading h3,.panel-card h3{margin:6px 0 12px}.muted{color:var(--muted);font-size:.78rem}.focus-card{background:linear-gradient(145deg,#183d2a,#25573a);color:#fff;border-color:#214d35}.focus-card .eyebrow{color:#a9d499}.focus-card p:not(.eyebrow){color:#d2e2d6}.level-list{display:grid;gap:10px}.level-row{display:grid;grid-template-columns:130px 1fr auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.level-track{height:9px;background:#e8eee8;border-radius:2px;overflow:hidden}.level-track span{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--grass) 0 18px,var(--grass2) 18px 36px)}.level-tag{font-size:.7rem;font-weight:950;color:var(--accent)}
.section-intro{padding:23px 25px;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.section-intro:after{content:"";position:absolute;right:0;top:0;width:72px;height:100%;background:linear-gradient(135deg,transparent 0 45%,rgba(95,159,79,.08) 45% 65%,rgba(154,112,71,.08) 65%);pointer-events:none}.section-intro h3{margin:8px 0 4px;font-size:1.7rem}.section-intro p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.5}.level-badge{padding:10px 13px;border-radius:6px;background:#edf4eb;color:#285c39;font-size:.78rem;font-weight:850;border:1px solid #d2e3d1}.level-badge strong{font-size:1.2rem}.level-badge.neutral{background:#f0f1ed;color:var(--muted);font-size:.72rem}.exercise-layout,.reading-layout{display:grid;grid-template-columns:2fr 1fr;gap:14px}.exercise-card{padding:26px;min-height:340px}.side-help{padding:23px}.pixel-note{background:linear-gradient(180deg,#fffdf8 0,#f5f2e7 100%);border-top:5px solid #78aa5c}.side-help h4{font-size:1.15rem;margin:7px 0 14px}.side-help p{line-height:1.55}.exercise-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem}.mini-score{background:#edf3eb;padding:6px 10px;border-radius:4px}.prompt{font-size:1.35rem;font-weight:850;margin:24px 0;line-height:1.45}.math-prompt{font-size:2.5rem;letter-spacing:.03em}.options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option-btn{border:2px solid var(--line);background:#fffefb;border-radius:7px;padding:15px;text-align:left;cursor:pointer;min-height:56px;font-weight:700;font-size:.98rem;box-shadow:0 3px 0 rgba(33,79,54,.05)}.option-btn:hover{border-color:#91b79b;background:#f7fbf5}.option-btn.correct{border-color:#2f9a68;background:#eaf8ee}.option-btn.wrong{border-color:#cf767a;background:#fff0f0}.feedback{min-height:28px;margin:15px 0;font-weight:800;font-size:.86rem}.feedback.ok{color:#1f744c}.feedback.bad{color:#ad454c}.hidden{display:none!important}
.division-answer-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.division-answer-row label{font-size:.73rem;color:var(--muted);font-weight:850;text-transform:uppercase;letter-spacing:.06em}.division-answer-row input,.guided-answer-row input{width:100%;margin-top:6px;padding:13px;border:2px solid var(--line);border-radius:6px;background:#fffefb;font-size:1rem}.division-answer-row input:focus,.guided-answer-row input:focus{outline:3px solid rgba(95,159,79,.18);border-color:#7daa72}.formula{padding:13px;border-radius:6px;background:#edf3eb;font-weight:850;margin:12px 0;border-left:5px solid var(--grass)}.mode-switch{padding:6px;display:inline-flex;gap:5px;margin-bottom:14px}.mode-btn{border:0;background:transparent;border-radius:5px;padding:10px 13px;cursor:pointer;font-weight:780;color:var(--muted)}.mode-btn.active{background:#1e4d33;color:#fff;box-shadow:0 3px 0 #133523}.division-mode{display:none}.division-mode.active-mode{display:grid}.guided-grid{grid-template-columns:2fr 1fr;gap:14px}.long-division{font-size:2rem;font-weight:900;letter-spacing:.03em;margin:24px 0;padding:24px;border-radius:7px;background:#f5f1e6;display:inline-block;min-width:240px;border:2px solid #d9ddcf}.guided-instruction{font-size:1.08rem;font-weight:850;margin:14px 0}.guided-answer-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;max-width:470px}.guided-answer-row input{margin:0}.reading-layout{grid-template-columns:1.05fr 1fr}.reading-text{padding:26px;line-height:1.8;font-size:1rem}.reading-text h4{font-size:1.4rem;margin-top:0}.reading-text p{margin-bottom:0}.homework-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.download-card{padding:23px;text-align:left;cursor:pointer;transition:.16s;position:relative;overflow:hidden}.download-card:after{content:"";position:absolute;right:-10px;bottom:-10px;width:52px;height:52px;background:linear-gradient(135deg,var(--grass) 0 50%,var(--dirt) 50%);opacity:.09}.download-card:hover{transform:translateY(-2px);border-color:#9ab7a0}.download-card span{display:grid;place-items:center;width:42px;height:42px;font-size:1.3rem;font-weight:950;color:#fff;background:var(--accent);border-radius:4px;box-shadow:4px 4px 0 rgba(47,125,74,.13)}.download-card strong{display:block;font-size:1.05rem;margin:13px 0 4px}.download-card small{color:var(--muted);font-size:.76rem}.download-card.featured{background:linear-gradient(135deg,#e9f3e7,#fffdf8)}.docx-status{margin-top:13px;color:var(--muted);font-size:.78rem}
.progress-grid{margin-bottom:14px}.progress-subject{padding:19px}.progress-subject small{color:var(--muted)}.bar{height:9px;background:#e9eee8;border-radius:2px;overflow:hidden;margin:10px 0}.bar span{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--grass) 0 16px,var(--grass2) 16px 32px)}.session-chart{display:flex;align-items:flex-end;gap:10px;min-height:180px;padding-top:20px}.session-bar-wrap{flex:1;min-width:38px;text-align:center}.session-bar{height:140px;display:flex;align-items:flex-end;justify-content:center}.session-bar span{display:block;width:70%;max-width:44px;background:repeating-linear-gradient(180deg,#5f9f4f 0 12px,#79b05d 12px 24px);border-radius:3px 3px 0 0;min-height:3px}.session-bar-wrap small{display:block;color:var(--muted);font-size:.66rem;margin-top:7px}.recent-row{display:grid;grid-template-columns:100px 1fr 42px;gap:10px;align-items:center;margin:12px 0;font-size:.76rem}.history-table{overflow:auto}.history-row{display:grid;grid-template-columns:1.1fr 1fr 1fr .7fr;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.76rem}.shape-visual{font-size:5rem;text-align:center;margin:10px 0}.angle-box{height:135px;display:grid;place-items:center}.angle-lines{width:135px;height:100px;position:relative}.angle-lines:before,.angle-lines:after{content:"";position:absolute;left:20px;bottom:18px;width:92px;height:5px;background:#294337;border-radius:2px;transform-origin:left center}.angle-lines:after{transform:rotate(var(--angle,45deg))}.angle-label{font-size:.8rem;color:var(--muted);text-align:center;margin-top:4px}
@media(max-width:950px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:5px solid #0d2b1a}.nav-menu{display:grid;grid-template-columns:repeat(2,1fr)}.main-content{padding:18px}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.section-grid.two-col,.exercise-layout,.reading-layout,.progress-grid,.guided-grid{grid-template-columns:1fr}.homework-grid{grid-template-columns:1fr 1fr}.hero{flex-direction:column;align-items:flex-start}.hero-visual{margin-top:20px}.options-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:12px}.topbar-actions{flex-direction:column}.level-row{grid-template-columns:110px 1fr auto}}
@media(max-width:560px){html{font-size:16px}.dashboard-grid,.homework-grid{grid-template-columns:1fr}.main-content{padding:12px}.hero h3{font-size:2rem}.division-answer-row{grid-template-columns:1fr}.guided-answer-row{grid-template-columns:1fr}.history-row{min-width:560px}.level-row{grid-template-columns:1fr auto}.level-track{grid-column:1/-1}.hero-visual{width:100%}}

/* V3 · subtle block-world visual system + larger type */
html{font-size:18px}
body{background:
  linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.88)),
  repeating-linear-gradient(0deg,rgba(95,159,79,.04) 0 24px,rgba(154,112,71,.035) 24px 48px)}
.main-content{max-width:1440px}
.sidebar{background:
  linear-gradient(180deg,#173c2a 0 78%,#143220 78%),
  repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 28px,transparent 28px 56px)}
.brand-badge{border-radius:4px;box-shadow:4px 4px 0 rgba(0,0,0,.18);position:relative}
.brand-badge:after{content:"";position:absolute;right:-5px;bottom:-5px;width:11px;height:11px;background:#8c6847;border:2px solid #173c2a}
.nav-item{font-size:.94rem;min-height:48px}
.topbar h2{font-size:1.95rem}
.hero{border-radius:10px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(90deg,#5f9f4f 0 34px,#79b05d 34px 68px,#8c6847 68px 102px)}
.hero h3{font-size:2.45rem}
.hero p,.section-intro p{font-size:1.02rem}
.card{border-radius:9px;box-shadow:0 5px 0 rgba(32,68,45,.05)}
.section-intro.block-banner:before{content:"";position:absolute;left:0;bottom:0;width:100%;height:5px;background:repeating-linear-gradient(90deg,#74a95a 0 30px,#8d6845 30px 60px)}
.prompt{font-size:1.48rem;line-height:1.5}
.option-btn{font-size:1.05rem;padding:17px 18px;min-height:62px}
.reading-text{font-size:1.06rem;line-height:1.86}
.side-help p{font-size:.93rem}.side-help h4{font-size:1.22rem}
.feedback{font-size:.95rem;line-height:1.45}

.language-switch{display:inline-flex;gap:7px;padding:7px;margin-bottom:14px}
.language-mode-btn{border:0;background:transparent;border-radius:5px;padding:11px 16px;cursor:pointer;font-weight:850;color:var(--muted);font-size:.92rem}
.language-mode-btn.active{background:#1e4d33;color:#fff;box-shadow:0 3px 0 #133523}
.language-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:14px}
.language-topic{display:inline-block;margin-top:18px;padding:7px 10px;border-radius:4px;background:#edf4eb;color:#285c39;font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em;border-left:5px solid #5f9f4f}
.text-answer-area{display:grid;gap:10px;margin-top:4px}
.text-answer-area textarea{width:100%;resize:vertical;min-height:110px;border:2px solid var(--line);background:#fffefb;border-radius:7px;padding:14px 15px;font:inherit;font-size:1.03rem;line-height:1.5;color:var(--ink)}
.text-answer-area textarea:focus{outline:3px solid rgba(95,159,79,.16);border-color:#7daa72}
.explanation{margin:-2px 0 16px;padding:12px 14px;border-left:5px solid #78a95c;background:#f0f6ec;border-radius:4px;font-size:.9rem;line-height:1.5;color:#385544}
.language-help{padding:22px;background:linear-gradient(180deg,#f9fbf6,#f2f5e9);border-top:5px solid #5f9f4f}
.rule-cards{display:grid;gap:10px;margin-top:14px}
.rule-card{padding:12px 13px;background:#fff;border:1px solid #dfe8dc;border-radius:6px;box-shadow:3px 3px 0 rgba(85,122,75,.06)}
.rule-card strong{display:block;color:#23563a;margin-bottom:3px;font-size:.9rem}
.rule-card span{display:block;color:#647265;font-size:.82rem;line-height:1.35}

.download-card strong{font-size:1.1rem}.download-card small{font-size:.81rem;line-height:1.35}.docx-status{font-size:.86rem}

@media(max-width:950px){html{font-size:17px}.language-layout{grid-template-columns:1fr}.language-help{order:2}}
@media(max-width:560px){html{font-size:16px}.language-switch{display:grid;grid-template-columns:1fr;width:100%}.language-mode-btn{text-align:left}.hero h3{font-size:2.05rem}}

/* V4 · perfiles, edades y arquitectura escalable */
.profile-panel{margin:18px 0;padding:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px}.profile-panel small{display:block;color:#bcd5c2;font-size:.62rem;letter-spacing:.08em;margin-bottom:7px}.profile-panel select{width:100%;padding:10px;border-radius:5px;border:0;background:#f5f1e6;color:#173326;font-weight:800}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px}.mini-btn{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:white;padding:8px;border-radius:5px;cursor:pointer;font-size:.72rem}.mini-btn.danger{color:#ffd5d5}.profile-gate{position:fixed;inset:0;background:rgba(11,28,19,.82);z-index:999;display:grid;place-items:center;padding:20px}.profile-modal{width:min(480px,100%);padding:30px}.profile-modal h2{margin:12px 0 8px;font-size:1.7rem}.profile-modal p{color:var(--muted);line-height:1.55}.profile-modal label{display:block;font-size:.78rem;font-weight:800;margin:16px 0 6px}.profile-modal input,.profile-modal select,.worksheet-toolbar select{width:100%;padding:12px 13px;border:2px solid var(--line);border-radius:6px;background:#fffefb;font:inherit;margin-top:6px}.worksheet-toolbar{padding:16px 18px;margin-bottom:14px;display:flex;align-items:end;gap:18px}.worksheet-toolbar label{font-weight:800;font-size:.78rem;min-width:180px}.worksheet-toolbar span{color:var(--muted);font-size:.82rem;padding-bottom:9px}.self-assessment{margin:14px 0;padding:14px;background:#f4f7ef;border-radius:7px;border-left:5px solid var(--grass)}.self-assessment p{font-weight:800;margin-top:0}.self-buttons{display:flex;gap:8px;flex-wrap:wrap}.ghost-light-btn{border:2px solid var(--line);background:white;padding:11px 14px;border-radius:6px;font-weight:800;cursor:pointer}.reading-passage{padding:18px 20px;background:#f6f1e5;border-left:6px solid #78a95c;border-radius:6px;margin:18px 0}.reading-passage h4{margin:0 0 8px;font-size:1.22rem}.reading-passage p{margin:0;line-height:1.75;font-size:1rem}.coverage-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.78rem}.progress-subject strong{display:block;font-size:1.55rem;margin-top:6px}.download-card{border:none;width:100%}.download-card:focus-visible,.nav-item:focus-visible,.option-btn:focus-visible{outline:3px solid #9bc889;outline-offset:2px}.section-intro{position:relative;overflow:hidden}
@media(max-width:720px){.worksheet-toolbar{align-items:stretch;flex-direction:column}.worksheet-toolbar label{min-width:0}.profile-actions{grid-template-columns:1fr}}
.division-mode-btn{border:0;background:transparent;border-radius:5px;padding:10px 13px;cursor:pointer;font-weight:780;color:var(--muted);font-size:.92rem}.division-mode-btn.active{background:#1e4d33;color:#fff;box-shadow:0 3px 0 #133523}

.progress-export-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.session-panel{margin-top:20px}.session-evolution{overflow-x:auto}.session-table{width:100%;border-collapse:collapse;min-width:720px}.session-table th,.session-table td{padding:12px 10px;border-bottom:1px solid rgba(31,99,59,.12);text-align:left;font-size:.95rem}.session-table th{color:#214f36;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}.session-table td strong{color:#214f36}.trend-up{color:#257044;font-weight:700}.trend-down{color:#9b493f;font-weight:700}.trend-flat{color:#68736c;font-weight:700}@media(max-width:760px){.progress-export-actions{width:100%}.progress-export-actions button{flex:1 1 220px}}

/* V7 · English, current-interest literacy, games and worksheet builder */
.game-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.8fr);gap:14px}.game-area{min-height:210px}.game-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-choice{border:2px solid var(--line);background:#fffefb;border-radius:7px;padding:16px;text-align:left;cursor:pointer;font-weight:800;font-size:1rem;min-height:62px}.game-choice:hover{border-color:#91b79b;background:#f7fbf5}.game-choice.correct{border-color:#2f9a68;background:#eaf8ee}.game-choice.wrong{border-color:#cf767a;background:#fff0f0}.order-target{min-height:78px;border:2px dashed #b8c8b8;border-radius:8px;padding:14px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;background:#f7faf5;margin-bottom:14px}.token-tray{display:flex;flex-wrap:wrap;gap:9px}.word-token,.placed-token{padding:10px 12px;border-radius:6px;font-weight:800}.word-token{border:2px solid #d8e1d6;background:white;cursor:pointer;color:var(--ink);box-shadow:0 3px 0 rgba(33,79,54,.06)}.word-token:disabled{opacity:.38;cursor:default}.placed-token{display:inline-block;background:#e5f1e8;border:1px solid #bfd7c3;color:#214f36}.game-controls{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}.match-board{display:grid;grid-template-columns:1fr 1fr;gap:16px}.match-column{display:grid;gap:9px}.match-card{min-height:58px;border:2px solid var(--line);background:#fffefb;border-radius:7px;padding:12px;text-align:left;cursor:pointer;font-weight:760;color:var(--ink)}.match-card.selected{border-color:#6a9d58;background:#edf6e8}.match-card.matched{border-color:#2f9a68;background:#eaf8ee;color:#1e613f;opacity:.72;cursor:default}
.worksheet-builder{padding:22px}.worksheet-controls{display:grid;grid-template-columns:repeat(2,minmax(180px,260px));gap:14px;margin-bottom:22px}.worksheet-controls label{font-weight:850;font-size:.78rem;color:var(--muted)}.worksheet-controls select{width:100%;padding:11px 12px;border:2px solid var(--line);border-radius:6px;background:#fffefb;font:inherit;margin-top:6px;color:var(--ink)}.worksheet-heading-row{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px}.worksheet-heading-row h4{font-size:1.15rem;margin:5px 0 0}.worksheet-quick-actions{display:flex;gap:7px}.worksheet-quick-actions .mini-btn{color:#285c39;background:#eef5ec;border:1px solid #cbdcc9;padding:9px 11px}.homework-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.homework-option{display:flex;gap:10px;align-items:flex-start;border:2px solid #e0e7df;border-radius:8px;padding:13px;background:#fffefb;cursor:pointer}.homework-option:has(input:checked){border-color:#7fab70;background:#f0f7ec}.homework-option input{margin-top:4px;accent-color:#2f7d4a;transform:scale(1.12)}.homework-option strong{display:block;font-size:.91rem}.homework-option small{display:block;color:var(--muted);font-size:.72rem;margin-top:3px}.worksheet-generate{margin-top:18px}.worksheet-note{margin:12px 0 0}.docx-status{padding:12px 2px;min-height:24px}
@media(max-width:950px){.game-layout{grid-template-columns:1fr}.homework-options{grid-template-columns:repeat(2,minmax(0,1fr))}.game-quick-grid{grid-template-columns:1fr}}
@media(max-width:620px){.homework-options,.worksheet-controls,.match-board{grid-template-columns:1fr}.worksheet-heading-row{align-items:flex-start;flex-direction:column}.worksheet-quick-actions{width:100%}.worksheet-quick-actions button{flex:1}}

/* V7.1 hotfix - restore persistent desktop sidebar without changing app logic */
@media (min-width:951px){
  .app-shell{display:block;min-height:100vh}
  .sidebar{
    position:fixed;
    left:0;
    top:0;
    bottom:0;
    width:255px;
    height:100vh;
    z-index:100;
    overflow-y:auto;
  }
  .main-content{
    width:auto;
    max-width:none;
    margin-left:255px;
  }
}
@media (max-width:950px){
  .app-shell{display:block}
  .sidebar{position:relative;left:auto;top:auto;bottom:auto;width:100%;height:auto;z-index:auto}
  .main-content{margin-left:0;width:100%}
}
