.top-mode-switch{border-color:#d5ded9;background:#edf3ef}.top-mode-switch button{color:var(--muted)}.top-mode-switch button.active{background:var(--navy);color:#fff}.button:disabled,.plan-card .button:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.25)}
body[data-mode="kids"] .brand,body[data-mode="kids"] .nav-links a,body[data-mode="kids"] .account-button{color:#fff}body[data-mode="kids"] .brand small{color:#d8cdf6}body[data-mode="kids"] .top-mode-switch{border-color:#ffffff4d;background:#ffffff12}body[data-mode="kids"] .top-mode-switch button{color:#e7def9}body[data-mode="kids"] .top-mode-switch button.active{background:#ffd35c;color:#2c1d62}body[data-mode="kids"] .nav-actions>.button.primary{background:#ffd35c;color:#2c1d62}
@media(max-width:980px){body[data-mode="kids"] .side-nav button:nth-of-type(n+8){display:none}}
.kids-mascot-image{display:block;width:auto;height:280px;max-width:100%;object-fit:contain;filter:drop-shadow(0 14px 14px rgba(14,8,42,.28));animation:kids-float 3s ease-in-out infinite}
.kids-mascot{gap:14px}.kids-speech{position:relative;inset:auto;flex:none;white-space:nowrap}
@media(max-width:760px){.kids-mascot-image{width:auto;height:245px}}
@media(prefers-reduced-motion:reduce){.kids-mascot-image{animation:none}}
.tutor-message-row{display:flex;align-items:flex-end;gap:10px;max-width:86%}.tutor-message-row .message{max-width:none}.tutor-avatar{flex:0 0 54px;width:54px;height:72px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(7,31,55,.16))}.tutor-name{display:block;margin-bottom:4px;color:var(--green-dark);font:800 12px Sora,sans-serif;letter-spacing:.06em;text-transform:uppercase}.message>span{display:block}.tutor-profile{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:12px;margin:-6px -4px 18px;padding:10px 8px 14px;border-bottom:1px solid var(--line)}.tutor-profile img{display:block;width:90px;height:134px;object-fit:contain;filter:drop-shadow(0 7px 7px rgba(7,31,55,.16))}.tutor-profile span{color:var(--green-dark);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.tutor-profile h3{margin:4px 0;font-size:24px}.tutor-profile p,.tutor-source-note{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.tutor-source-note{margin-top:18px}@media(max-width:760px){.tutor-message-row{max-width:96%}.tutor-avatar{flex-basis:46px;width:46px;height:62px}.tutor-profile{grid-template-columns:76px 1fr}.tutor-profile img{width:76px;height:114px}}
.flashcard-image{width:190px;height:190px;margin:-10px auto 8px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(7,31,55,.14));pointer-events:none}.flashcard strong{margin:10px 0 8px}.match-grid button{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.match-grid button img{display:block;width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 5px 5px rgba(7,31,55,.12));pointer-events:none}.match-grid button span{display:block}.match-grid button.visual-card{background:linear-gradient(145deg,#fff,#edf5ff);border-color:#b8c9e9}.match-grid button.meaning-card{background:#fffdf5}@media(max-width:760px){.flashcard-image{width:150px;height:150px}.match-grid{grid-template-columns:repeat(2,1fr)}.match-grid button{min-height:134px;padding:9px}.match-grid button img{width:72px;height:72px}}

/* Kids mode keeps one labeled activity menu; the header switch alone changes modes. */
body[data-mode="kids"] .workspace-grid{grid-template-columns:250px minmax(0,1fr)}
body[data-mode="kids"] .sidebar h2{display:block}
body[data-mode="kids"] .side-nav button{justify-content:flex-start;padding:10px 12px}
body[data-mode="kids"] .side-nav button span{display:inline}
@media(max-width:980px){body[data-mode="kids"] .workspace-grid{grid-template-columns:1fr}body[data-mode="kids"] .sidebar h2,body[data-mode="kids"] .nav-group{display:none}body[data-mode="kids"] .side-nav{display:flex;overflow-x:auto;gap:5px}body[data-mode="kids"] .side-nav button,body[data-mode="kids"] .side-nav button:nth-of-type(n+8){display:flex;flex:0 0 96px;flex-direction:column;gap:3px;justify-content:center;padding:6px 4px}body[data-mode="kids"] .side-nav button span{display:block;font-size:11px;line-height:1.15;text-align:center}}

/* Adult mode shares the Kids palette while retaining its quieter learning layout. */
body[data-mode="adult"]{--navy:#2c1d62;--indigo:#3f56c5;--green:#0fa86b;--green-dark:#087d72;--gold:#ffd43b;--red:#f04f5f;--coral:#ff7867}
body[data-mode="adult"] .workspace{background:#f1f4fb;background-image:linear-gradient(135deg,rgba(63,86,197,.045) 25%,transparent 25%),linear-gradient(225deg,rgba(15,168,107,.04) 25%,transparent 25%);background-size:32px 32px}
body[data-mode="adult"] .sidebar{background:linear-gradient(165deg,#2c1d62,#263f96 68%,#087d91);box-shadow:0 14px 32px rgba(44,29,98,.2)}
body[data-mode="adult"] .sidebar:before{background:linear-gradient(90deg,#ffd43b 0 25%,#19b7bb 25% 50%,#ff7867 50% 75%,#0fa86b 75%)}
body[data-mode="adult"] .top-mode-switch button.active{background:#2c1d62;color:#fff}
body[data-mode="adult"] .resume-card{background:linear-gradient(125deg,#3f56c5,#563bc6 58%,#f04f5f)}
body[data-mode="adult"] .course-card:nth-child(4n+1) .course-number{background:#dff8e9;color:#087d72}
body[data-mode="adult"] .course-card:nth-child(4n+2) .course-number{background:#fff5c5;color:#765800}
body[data-mode="adult"] .course-card:nth-child(4n+3) .course-number{background:#e8eaff;color:#3f56c5}
body[data-mode="adult"] .course-card:nth-child(4n) .course-number{background:#ffe8ee;color:#a22b42}
body[data-mode="adult"] .game-card:nth-child(4n+1){border-top:4px solid #0fa86b}
body[data-mode="adult"] .game-card:nth-child(4n+2){border-top:4px solid #ffd43b}
body[data-mode="adult"] .game-card:nth-child(4n+3){border-top:4px solid #ff7867}
body[data-mode="adult"] .game-card:nth-child(4n){border-top:4px solid #3f56c5}
body[data-mode="adult"] .game-card .icon{background:linear-gradient(145deg,#3f56c5,#563bc6);color:#ffd43b}

.game-card.illustrated{display:grid;grid-template-columns:132px 1fr;align-items:center;gap:18px;min-height:176px;padding:14px;text-align:left;overflow:hidden}.game-card.illustrated>img{width:132px;height:132px;border-radius:15px;object-fit:contain;background:#f4f6fb}.game-card.illustrated h3{margin:0 0 4px}.game-card.illustrated p{line-height:1.45}.game-card.illustrated b{display:inline-block;margin-top:12px;color:var(--indigo);font-size:13px}.quiz-visual{display:grid;grid-template-columns:150px 1fr;align-items:center;gap:22px;margin:20px 0}.quiz-visual img{width:150px;height:150px;border-radius:18px;object-fit:contain;background:#f4f6fb}.quiz-visual h2{margin:0 0 7px}
.listening-lesson{display:grid;gap:18px}.listening-intro,.full-passage,.sentence-study{border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:26px}.listening-intro{border:0;background:linear-gradient(125deg,#3f56c5,#563bc6 58%,#087d91);color:#fff}.listening-intro .eyebrow{color:#ffd43b}.listening-intro h2{margin:7px 0 5px}.listening-intro p:last-child{max-width:780px;margin:0;color:#eff0ff}.full-passage-head{display:flex;align-items:start;justify-content:space-between;gap:18px}.full-passage-head h2{margin:7px 0 12px}.full-passage audio{display:block;width:100%;margin:4px 0 12px}.listening-transcript{display:grid;gap:6px;max-height:430px;margin-top:20px;padding:8px;overflow-y:auto;overscroll-behavior:contain;border:1px solid #d7def1;border-radius:16px;background:#f7f8fe;scroll-padding:8px}.listening-transcript button{display:grid;grid-template-columns:38px 1fr;align-items:start;gap:10px;width:100%;border:1px solid transparent;border-radius:12px;background:transparent;padding:11px;text-align:left;cursor:pointer;transition:.15s}.listening-transcript button:hover{background:#fff;border-color:#cdd5f1}.listening-transcript button.active{border-color:#3f56c5;background:#eceeff;box-shadow:inset 4px 0 0 #ffd43b}.listening-transcript strong,.listening-transcript small{display:block}.listening-transcript strong{font:800 17px/1.45 Sora}.listening-transcript small{margin-top:3px;color:var(--muted);font-size:14px;line-height:1.45}.sentence-study .transcript-head{align-items:center}.sentence-list{display:grid;gap:14px;margin-top:18px}.listening-sentence{border:1px solid #d5e0dc;border-radius:18px;background:#fff;padding:20px;transition:.16s}.listening-sentence.active{border-color:#3f56c5;box-shadow:inset 5px 0 0 #ffd43b}.listening-sentence header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.listening-sentence header>span{color:var(--indigo);font:800 12px Sora;text-transform:uppercase;letter-spacing:.09em}.listening-sentence header>div{display:flex;gap:7px;flex-wrap:wrap}.listening-sentence>strong{display:block;font:800 clamp(22px,3vw,30px)/1.35 Sora}.listening-sentence>p{margin:5px 0 15px;color:var(--muted)}.listening-words{display:flex;flex-wrap:wrap;gap:9px}.listening-words button{display:grid;grid-template-columns:1fr auto;min-width:126px;min-height:78px;border:1px solid #cfd8e8;border-radius:13px;background:#f7f8ff;padding:10px;text-align:left;cursor:pointer}.listening-words button:hover,.listening-words button:focus-visible{border-color:#3f56c5;background:#eceeff;outline:none}.listening-words b,.listening-words span{grid-column:1}.listening-words b{font:800 16px Sora}.listening-words span{max-width:180px;color:var(--muted);font-size:12px;line-height:1.3}.listening-words em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal}.return-full{margin-top:13px;border:0;background:transparent;color:var(--indigo);padding:3px 0;font-weight:800;cursor:pointer}.hide-english .english{display:none!important}
@media(max-width:760px){.game-card.illustrated{grid-template-columns:100px 1fr;min-height:142px}.game-card.illustrated>img{width:100px;height:100px}.quiz-visual{grid-template-columns:92px 1fr;gap:14px}.quiz-visual img{width:92px;height:92px}.listening-intro,.full-passage,.sentence-study{padding:18px}.full-passage-head,.listening-sentence header{align-items:stretch;flex-direction:column}.listening-transcript{max-height:52vh}.listening-transcript button{grid-template-columns:32px 1fr;padding:10px 8px}.listening-words button{flex:1 1 132px}.listening-sentence header .button{flex:1}.sentence-study .transcript-head>span{margin:0}.sentence-study .transcript-head{display:block}}
.illustrated-dialogue{display:block}.dialogue-scene{margin:0 0 18px}.dialogue-scene img{display:block;width:100%;height:auto;border-radius:16px}.dialogue-scene figcaption{font-size:12px;color:var(--muted);margin-top:8px}.dialogue-speaker{display:block;font-weight:700;color:var(--indigo);margin-bottom:5px}.illustrated-dialogue .dialogue-turns p{border-left:3px solid var(--indigo);padding-left:12px}
