@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800&display=swap');
:root{--navy:#102a44;--bg:#f3f4f6;--line:#dfe3e7;--muted:#687482}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--navy);font:16px/1.9 Vazirmatn,Tahoma,sans-serif}button,input,select,textarea{font:inherit}a{color:#174b7b}button,.btn{border:0;background:var(--navy);color:white;border-radius:6px;display:inline-block;padding:10px 18px;cursor:pointer;text-decoration:none;line-height:1.6}button:disabled{background:#a7afb8;cursor:default}.shell{max-width:1000px;margin:auto;padding:18px 18px 120px;min-height:100dvh}.narrow{max-width:500px;margin:30px auto}header{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:8px 0 24px;border-bottom:1px solid var(--line)}header small{display:block;color:var(--muted)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;color:inherit;font-weight:800}.brand img{width:64px;height:44px;object-fit:contain}h1{font-size:24px;margin:24px 0 16px}h2{font-size:19px;margin:20px 0 12px;border-right:3px solid #255a86;padding-right:10px}h3{font-size:17px}label{display:block;margin:14px 0;color:var(--navy)}input,textarea,select{display:block;width:100%;background:#fff;border:1px solid var(--line);border-radius:6px;padding:10px 12px;color:inherit;margin-top:5px;min-width:0}input[type=password],input[type=date],input[type=number],input[type=url]{direction:ltr;text-align:left}textarea{min-height:100px;resize:vertical}input[type=checkbox]{display:inline-block;width:auto}input[type=file]{font-size:14px}form{margin:12px 0}.card{background:white;border:1px solid var(--line);border-radius:8px;padding:18px;margin:14px 0;overflow-wrap:anywhere}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid .card{margin:0}.row{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}.muted,small{color:var(--muted);font-size:14px}.error,.success{padding:12px;border:1px solid var(--line);background:#fff}.error{border-right:4px solid #a34242}.success{border-right:4px solid #255a86}.money{font-size:24px;font-weight:800;direction:ltr;text-align:right}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:right;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}th{white-space:nowrap}nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,1000px);display:flex;overflow-x:auto;background:#fff;border-top:1px solid var(--line);padding:8px 6px max(8px,env(safe-area-inset-bottom));z-index:5}nav a{flex:1;min-width:80px;text-align:center;text-decoration:none;color:var(--navy);font-size:14px;padding:12px 6px}nav a.on{background:#e8edf2;border-radius:6px}details{border:1px solid var(--line);background:#fff;padding:14px;border-radius:6px;margin:12px 0}summary{cursor:pointer;font-weight:600}progress{width:100%;height:14px;accent-color:var(--navy)}.status{border:1px solid var(--line);border-radius:4px;padding:3px 8px;font-size:14px;display:inline-block}p{white-space:pre-line}.library-row{display:flex;align-items:center;gap:12px}.library-row>div{flex:1;min-width:0}.crumbs{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.crumbs button{background:#e8edf2;color:var(--navy);font-size:14px;padding:7px 12px}.english{direction:ltr;text-align:left}.links{display:flex;gap:8px;flex-wrap:wrap}.empty{padding:22px 0;color:var(--muted)}.tools{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.tools a{padding:22px;border:1px solid var(--line);background:white;text-decoration:none;font-weight:600;border-radius:6px}button:hover,.btn:hover{filter:brightness(1.12)}:focus-visible{outline:3px solid #4e8ab8;outline-offset:3px}@media(max-width:600px){.grid,.tools{grid-template-columns:1fr}.shell{padding:12px 12px 116px}header{font-size:14px}.brand span{max-width:100px}h1{font-size:22px}.card{padding:14px}.library-row{flex-wrap:wrap}.library-row .btn{font-size:14px}.row{align-items:flex-start}}

/* Experimental amendments on installed v2.2 */
button,.btn,.tools a{display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px}.brand{justify-content:center;text-align:center}.brand img{width:60px;height:60px}.shell{padding-top:10px}header{padding-bottom:12px}h1{font-size:21px;margin:14px 0 10px}h2{font-size:17px;margin:14px 0 8px}h3{margin:8px 0}p{margin:6px 0}.card{padding:12px;margin:8px 0}label{margin:8px 0}form{margin:8px 0}.row{gap:8px}.empty{padding:10px 0}.tools.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.quick-grid a{padding:12px 6px;min-height:82px;flex-direction:column;font-size:13px}.quick-grid svg{width:26px;height:26px}.latest-message{display:block;text-decoration:none;color:inherit}.latest-message small{float:left;font-size:11px}.latest-message p{font-size:13px}.chat-contacts{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chat-contacts a{display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-size:13px}.chat-contacts svg{width:24px;height:24px}.chat-panel{border:1px solid var(--line);border-radius:8px;background:white;padding:10px;margin-top:12px}.chat-panel h2{margin-top:0}.chat-history{height:300px;overflow-y:auto;overscroll-behavior:contain;background:#eef1f4;border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:8px}.chat-bubble{align-self:flex-end;background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 10px;max-width:88%;flex-shrink:0}.chat-bubble.mine{align-self:flex-start;background:#e0eaf4}.chat-bubble p{font-size:14px}.chat-bubble small{display:block;font-size:10px;text-align:left}.chat-compose{display:flex;gap:8px;align-items:end}.chat-compose label{flex:1;margin:0}.chat-compose textarea{min-height:48px;height:48px}.feedback{border-top:1px solid #c6d0db;margin-top:6px;padding-top:6px}nav a{min-width:65px;padding:10px 4px;font-size:12px}@media(max-width:600px){.tools.quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.brand span{max-width:none}.brand img{width:48px;height:48px}.chat-history{height:260px}.shell{padding-bottom:95px}}

/* Unified button boxes throughout the app */
.action-box,.links,.tools,.tools.quick-grid,.chat-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;align-items:stretch;margin:8px 0}
.action-box>*,.links>*,.tools>*,.chat-contacts>*{width:100%;min-width:0;margin:0;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center;overflow-wrap:anywhere;padding:10px 8px}
.action-box>:only-child,.links>:only-child,.tools>:only-child,.chat-contacts>:only-child,.action-box>:last-child:nth-child(odd),.links>:last-child:nth-child(odd),.tools>:last-child:nth-child(odd){grid-column:1/-1}
.tools.quick-grid a{min-height:78px;flex-direction:column}.action-box{clear:both}.chat-compose{display:block}.chat-compose .action-box{margin-bottom:0}.library-row .action-box{flex-basis:100%}
@media(max-width:600px){.action-box,.links,.tools,.tools.quick-grid,.chat-contacts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}

.unified-compose{border:1px solid var(--line);border-radius:6px;padding:8px;background:white}.unified-compose .message-input{font-size:0}.unified-compose textarea{font-size:14px;border:0;margin:0;min-height:54px}.attachment-button{position:relative;display:flex;align-items:center;justify-content:center;background:#e8edf2;border-radius:6px;min-height:48px;text-align:center;cursor:pointer;margin:0!important;color:var(--navy)}.chat-attachment{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}.attachment-button:focus-within{outline:3px solid #4e8ab8;outline-offset:2px}.attachment-names{display:block;font-size:12px;overflow-wrap:anywhere}

.links{padding:8px;border:1px solid var(--line);border-radius:6px;background:#fff}.links>*{height:52px;min-height:52px;font-size:14px}.attachment-button span{display:flex;align-items:center;justify-content:center;gap:6px}.unified-compose .action-box>*{height:48px;font-size:14px}.chat-panel{margin-top:8px}

/* Centered institute identity and compact symmetric term details */
header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}.brand{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:4px;text-align:center}.brand span{max-width:none}.brand img{width:60px;height:60px;display:block;margin:0 auto}header>div{text-align:center;font-size:12px}.term-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;text-align:center}.term-info>div{padding:8px 4px;border-bottom:1px solid var(--line);min-width:0}.term-info dt{font-size:12px;color:var(--muted)}.term-info dd{font-size:15px;font-weight:600;margin:2px 0 0;overflow-wrap:anywhere}.term-info .term-schedule{grid-column:1/-1;border-bottom:0}@media(max-width:600px){.brand img{width:52px;height:52px}.brand span{font-size:15px}}

/* Composer above independently scrolling message history */
.chat-panel{display:flex;flex-direction:column}.chat-panel>h2{order:0}.chat-panel>form{order:1;margin:0 0 8px}.chat-panel>.chat-history{order:2;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;min-height:0}.chat-history{scrollbar-gutter:stable}

.unified-compose textarea{text-align:right}.unified-compose textarea::placeholder{direction:rtl;text-align:right}

/* Centered page and section headings */
h1,h2,h3{text-align:center}h2{border-right:0;padding-right:0}.chat-panel>h2{width:100%}

h1,h2,h3{display:block!important;width:100%!important;text-align:center!important;border-right:0!important;padding-right:0!important;margin-inline:auto!important}

.term-info .term-schedule{grid-column:auto;border-bottom:1px solid var(--line)}

.resource-grid button{min-height:82px;flex-direction:column;background:#fff;color:var(--navy);border:1px solid var(--line);border-radius:6px;font-size:13px}.resource-grid svg{width:26px;height:26px}

[hidden]{display:none!important}

.story-word{cursor:pointer;border-radius:3px;padding:2px 0}.story-word:hover,.story-word.selected{background:#dce7f1;color:var(--navy)}.story-word:focus-visible{outline:2px solid #4e8ab8}#story-text{line-height:2.3}#selected-word{display:block;text-align:center;font-size:20px}#story-meaning p{text-align:right}

/* Refreshed palette; existing layout preserved */
:root{--navy:#123553;--bg:#f1f6fa;--line:#d3e1ed;--muted:#5e7486;--blue:#246fb0;--teal:#178276}
body{background:var(--bg);color:var(--navy)}a{color:#2165a0}button,.btn{background:var(--blue);color:#fff}button:disabled{background:#dce5ec;color:#758796}header{border-bottom-color:#c9dce9}.brand{color:var(--navy)}.card{background:#fff;border-color:var(--line)}h1,h2,h3{color:#164a72}.quick-grid a,.resource-grid button{background:#fff;color:#194f79;border-color:#cddfea}.quick-grid svg,.resource-grid svg{color:var(--blue)}.quick-grid a:nth-child(4n+2),.resource-grid button:nth-child(4n+2){background:#edf8f5;border-color:#c9e5df}.quick-grid a:nth-child(4n+2) svg,.resource-grid button:nth-child(4n+2) svg{color:var(--teal)}.quick-grid a:nth-child(4n+3),.resource-grid button:nth-child(4n+3){background:#f1f0fa;border-color:#ddd9ef}.quick-grid a:nth-child(4n+3) svg,.resource-grid button:nth-child(4n+3) svg{color:#7063a4}.quick-grid a:nth-child(4n+4),.resource-grid button:nth-child(4n+4){background:#eef5fc;border-color:#ccdfef}.chat-panel{background:#fff;border-color:#cbdfea}.chat-history{background:#edf4f8}.chat-bubble{background:#fff;border-color:#d3e1e9}.chat-bubble.mine{background:#dceee9;border-color:#bcded3}.unified-compose{border-color:#bdd5e6}.attachment-button{background:#e1f0f7;color:#1b628d}.term-info dt{color:#55778c}.term-info dd{color:#164a72}.status{background:#e8f2fb;border-color:#c3daed;color:#205f93}nav{background:#fff;border-color:#c5dbe9}nav a{color:#53718a}nav a.on{background:#dcecf8;color:#15578b}.story-word:hover,.story-word.selected{background:#d9eee8;color:#126c60}.success{background:#eff9f5;border-color:#c7e6d9;border-right-color:var(--teal)}progress{accent-color:var(--teal)}

/* Navy institute header, neutral surfaces and balanced warm actions */
:root{--navy:#102f49;--bg:#f1f2f4;--line:#dadfe4;--muted:#65717d;--warm:#a84c35}
body{background:var(--bg);color:var(--navy)}header{background:var(--navy);color:#fff;border:0;border-radius:0;margin:-10px -18px 14px;padding:16px 18px;gap:8px}.brand{color:#fff}.brand span{color:#fff;font-weight:700}.brand img{width:64px;height:64px}header small,header>div,header a{color:#e4e9ee}.card,.chat-panel{background:#fff;border-color:var(--line)}h1,h2,h3,.term-info dd{color:var(--navy)}.term-info dt{color:var(--muted)}button,.btn{background:#a84c35;color:#fff}button:disabled{background:#d9dee3;color:#6f7982}.quick-grid a,.resource-grid button{background:#fff;color:var(--navy);border-color:var(--line)}.quick-grid a:nth-child(n),.resource-grid button:nth-child(n){background:#fff;border-color:var(--line)}.quick-grid a:nth-child(n) svg,.resource-grid button:nth-child(n) svg{color:#a84c35}.quick-grid a:nth-child(2n) svg,.resource-grid button:nth-child(2n) svg{color:#98563b}.quick-grid a:hover,.resource-grid button:hover{background:#f8f1ed}.chat-history{background:#eceff2}.chat-bubble{background:#fff;border-color:#d8dfe5}.chat-bubble.mine{background:#e0e7ed;border-color:#c9d5df}.unified-compose{background:#fff;border-color:#d2dbe3}.attachment-button{background:#f4e8e0;color:#884632}.status{background:#eef1f4;border-color:#d4dce3;color:var(--navy)}nav{background:#fff;border-color:#d4dbe1}nav a{color:#65717d}nav a.on{background:#e3e9ef;color:var(--navy)}progress{accent-color:var(--navy)}.story-word:hover,.story-word.selected{background:#f3e5db;color:#85432e}a{color:#244c6d}.latest-message{color:var(--navy)}.crumbs button{background:#f4e8e0;color:#884632}.success{background:#fff;border-color:var(--line);border-right-color:var(--navy)}
@media(max-width:600px){header{margin:-10px -12px 12px;padding:14px 12px}.brand img{width:58px;height:58px}.brand span{font-size:16px}}

/* Gray actions within the navy, gray and white theme */
:root{--warm:#555f69}button,.btn{background:#555f69;color:#fff}.attachment-button{background:#e5e8eb;color:#344554}.quick-grid a:nth-child(n) svg,.resource-grid button:nth-child(n) svg{color:#596a78}.quick-grid a:hover,.resource-grid button:hover{background:#edf0f3}.crumbs button{background:#e5e8eb;color:#344554}.story-word:hover,.story-word.selected{background:#e4e9ee;color:#173d5a}.receipt-preview{display:block;max-width:100%;max-height:220px;object-fit:contain;margin:8px auto;border-radius:5px}.finance-history td,.finance-history th{text-align:center;padding:8px;font-size:12px}.finance-history td{white-space:nowrap}.finance-history th{background:#eef1f4}.receipt-status{font-size:12px;color:var(--muted)}

.report-term summary{text-align:center}.report-term .term-info .term-teacher{grid-column:1/-1}.report-scores th,.report-scores td{padding:7px 10px;font-size:14px}.report-scores td{text-align:center}.report-total{background:#e7edf2;font-weight:700}.report-scores{margin-top:8px}

.leitner-boxes{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin:10px 0}.leitner-boxes>div{text-align:center;padding:8px 3px;border:1px solid var(--line);background:#fff;border-radius:5px;font-size:12px}.leitner-boxes b{display:block;font-size:18px}.dictionary-word,.leitner-word{text-align:center!important;font-size:23px;direction:ltr;font-weight:600}.dictionary-ipa{text-align:center!important;direction:ltr;font-size:17px}.dictionary-synonyms{direction:ltr;text-align:left!important;font-size:14px}.dictionary-result p{margin:6px 0}.dictionary-result button{width:100%}.learning-answer{text-align:center;margin:10px 0}.term-info .term-teacher{grid-column:1/-1}

.home-quick-grid .quick-class{grid-column:1 / -1}

.tools.home-quick-grid>a{grid-column:span 1!important}
.tools.home-quick-grid>a.quick-class{grid-column:1 / -1!important}

.unified-compose textarea:placeholder-shown{direction:rtl;text-align:right}

.notification-help{padding-inline-start:20px;margin:8px 0;color:var(--muted);font-size:13px}.notification-help li{margin:6px 0}

.report-chart-card{padding:10px}.report-chart-card h2{margin-top:0}#report-chart{width:100%;direction:ltr}#report-chart svg{display:block;width:100%;height:auto;max-height:280px}#report-chart text{font-family:Vazirmatn,Tahoma,sans-serif;font-size:12px;fill:#687482}#report-chart .report-bar{cursor:help}

/* Subtle monochrome learning doodles behind the shared page shell. */
body{background-color:var(--bg);background-image:linear-gradient(rgba(243,244,246,.82),rgba(243,244,246,.82)),var(--app-doodle-pattern);background-size:auto,480px 480px;background-position:0 0,center top;background-repeat:repeat;background-attachment:scroll}
.shell{background:transparent}

/* Two warm accents, with navy and gray retained for the main structure. */
:root{--rose:#c45f77;--rose-button:#b44f69;--peach:#f3d4c8}
button,.btn{background:var(--rose-button);color:#fff}
button:disabled{background:#d9dee3;color:#6f7982}
button:hover:not(:disabled),.btn:hover{filter:brightness(.96)}
.tools.home-quick-grid>a.quick-class{background:var(--peach);color:var(--navy);border-color:#e7bcae}
.quick-grid a:nth-child(n) svg,.resource-grid button:nth-child(n) svg{color:var(--rose)}
.quick-grid a:hover,.resource-grid button:hover{background:#faede7}
.resource-grid button:nth-child(3n+1){background:var(--peach);color:var(--navy);border-color:#e7bcae}
.attachment-button{background:var(--peach);color:var(--navy)}
.chat-bubble.mine{background:#fae9e2;border-color:#eccdc1;color:var(--navy)}
.report-total{background:var(--peach);color:var(--navy)}
.leitner-boxes>div:first-child{background:var(--peach);color:var(--navy)}
.story-word:hover,.story-word.selected{background:var(--peach);color:var(--navy)}
.success{border-right-color:var(--rose)}
form:has(input[name="action"][value="logout"]) button,#logout-demo{background:#555f69;color:#fff}

/* Educational resources use one coherent theme per section. */
.resource-grid.downloads-theme button:nth-child(n){background:#f7e5ea;color:var(--navy);border-color:#e4b5c1}
.resource-grid.downloads-theme button:nth-child(n) svg{color:var(--rose-button)}
.resource-grid.downloads-theme button:hover{background:#efd3dc}
.resource-grid.stories-theme button:nth-child(n){background:var(--peach);color:var(--navy);border-color:#e7bcae}
.resource-grid.stories-theme button:nth-child(n) svg{color:var(--navy)}
.resource-grid.stories-theme button:hover{background:#edc7b8}
#library-area .crumbs button,#library-area button,.library-row button[data-demo-file]{background:var(--rose-button);color:#fff}
#story-selected button,#story-levels button,#story-ages button,button[data-demo-level],button[data-demo-story],button[data-story-demo]{background:var(--peach);color:var(--navy);border:1px solid #e7bcae}

.chat-tabs{margin:12px 0 0}.chat-tabs button{background:#e8edf1;color:var(--navy);border:1px solid var(--line);font-size:13px;min-height:48px}
.chat-tabs button[aria-selected="true"]{background:var(--rose-button);color:#fff;border-color:var(--rose-button)}
.class-chat-tabs [role="tabpanel"] .chat-panel{margin-top:8px}.class-chat-tabs [role="tabpanel"][hidden]{display:none!important}


/* Distinguish boxes using action colors while preserving original surfaces. */
#content>:is(.card,.chat-panel,details){--box-button:#315b85}
#content>:nth-child(3n+2 of .card,.chat-panel,details){--box-button:#35715c}
#content>:nth-child(3n of .card,.chat-panel,details){--box-button:#a34e68}
#content>.class-access-box{--box-button:#315b85}
#content>.class-communication-box{--box-button:#35715c}
#content>:is(.card,.chat-panel,details) :is(button,.btn):not(:disabled):not([aria-selected="false"]){background:var(--box-button);color:#fff}
#content>:is(.card,.chat-panel,details) .attachment-button{background:var(--box-button);color:#fff}
#content>:is(.card,.chat-panel,details) .chat-tabs button[aria-selected="true"]{border-color:var(--box-button)}
.class-access-box .links{margin:10px 0 0}.class-communication-box{margin-top:14px}.class-communication-box .class-chat-tabs{margin:0}.class-communication-box .chat-panel{border:0;padding:0;margin-top:10px;background:transparent}.class-communication-box .chat-tabs{margin-top:0}


#content .app-back-action,#teacher-class-workspace .app-back-action,#exams-workspace .app-back-action{background:#a34e68!important;color:#fff!important;border-color:#a34e68!important}
#content .chat-panel button:not(:disabled),#content .chat-panel .attachment-button{background:#35715c;color:#fff}


body .ui-action.ui-open,#content .ui-action.ui-open{background:#f3d4c8!important;color:#102a44!important;border-color:#e4b8a6!important}
body .ui-action.ui-download,#content .ui-action.ui-download{background:#315b85!important;color:#fff!important;border-color:#315b85!important}
body .ui-action.ui-chat,#content .ui-action.ui-chat{background:#35715c!important;color:#fff!important;border-color:#35715c!important}
body .ui-action.ui-gray,#content .ui-action.ui-gray{background:#64717d!important;color:#fff!important;border-color:#64717d!important}
.ui-action[disabled]{background:#d9dee3!important;color:#6f7982!important;border-color:#d9dee3!important}
.teacher-audio-row.ui-download b{color:#fff!important}
#teacher-class-workspace>.teacher-roster-box{margin-bottom:16px}
#teacher-class-workspace>.teacher-chat-area{display:block;margin-top:16px}

/* Age affects visual presentation; action meanings and colors stay consistent. */
.age-preview-controls{margin:12px 0 18px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:center}.age-preview-controls>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.age-preview-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.age-preview-buttons button{min-height:48px;width:100%;padding:9px 8px;font-size:14px;text-align:center;display:flex;align-items:center;justify-content:center}.age-preview-buttons button[aria-pressed=true]{outline:2px solid var(--navy);outline-offset:2px;font-weight:700}.age-preview-controls output{display:block;font-size:11px;margin-top:10px;color:var(--muted)}
body[data-age-group=child]{--bg:#fff8ef;--line:#e3dcd2;--navy:#16364e;--muted:#626e77;background-color:var(--bg);font-size:17px;line-height:2}
body[data-age-group=child] .card,body[data-age-group=child] .chat-panel{border-radius:12px;background:#fff}
body[data-age-group=child] #content :is(button,.btn),body[data-age-group=child] .attachment-button{min-height:54px;font-size:15px;border-radius:9px;line-height:1.7;text-align:center;align-items:center;justify-content:center}
body[data-age-group=child] #content :is(input,select,textarea){font-size:16px;min-height:50px;border-radius:9px}
body[data-age-group=child] #content h1{font-size:24px}body[data-age-group=child] #content h2{font-size:18px}
body[data-age-group=child] .home-quick-grid a{border-radius:12px;min-height:116px;font-size:15px;gap:10px;padding:16px 10px}
body[data-age-group=child] nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:thin}
body[data-age-group=child] nav a{font-size:13px;min-height:54px;min-width:82px;flex:0 0 82px;padding:12px 6px;display:flex;align-items:center;justify-content:center}
body[data-age-group=child] nav a.on{background:#f3d4c8;color:#16364e;border-radius:8px}
body[data-age-group=teen]{--bg:#f3f3fa;--line:#dbdce8;--navy:#172c49;--muted:#62687b;background-color:var(--bg);font-size:16px;line-height:1.9}
body[data-age-group=teen] .card,body[data-age-group=teen] .chat-panel{border-radius:9px;background:#fff}
body[data-age-group=teen] #content :is(button,.btn){min-height:48px;border-radius:7px;font-size:14px;text-align:center}
body[data-age-group=teen] .home-quick-grid a{min-height:100px;border-radius:9px;gap:8px;font-size:14px}
body[data-age-group=teen] nav a.on{background:#e6e4f5;color:#172c49;border-radius:6px}
.age-hero{display:flex;align-items:center;justify-content:center;gap:18px;padding:20px 16px;margin:12px 0 18px;border:1px solid var(--line);border-radius:12px;text-align:center;overflow:hidden}
.age-hero-text{flex:1;min-width:0}.age-hero-text h2{margin:0 0 7px!important;line-height:1.7;border:0!important}.age-hero-text p{font-size:14px;line-height:1.9;margin:0}.age-hero svg{flex:0 0 88px;width:88px;height:88px}
body[data-age-group=child] .age-hero{background:#fff0dc;border-color:#ecd9bc}
body[data-age-group=teen] .age-hero{background:#e9e7f7;border-color:#d4d0eb;border-radius:9px}
body[data-age-group=adult] .age-hero{display:none}
body[data-age-group] *{box-shadow:none!important}
/* Distinct palettes retain the action color families in every age mode. */
body[data-age-group=child]{--bg:#fff9e9;--line:#e4e7df;--navy:#164655;--open:#ffc28f;--open-text:#51301c;--download:#1469aa;--chat:#16805a;--gray:#626d79}
body[data-age-group=teen]{--bg:#f1f0fc;--line:#dfddec;--navy:#30235c;--open:#ffb69e;--open-text:#512c25;--download:#3158d5;--chat:#087e68;--gray:#636578}
body:is([data-age-group=child],[data-age-group=teen]) header{background:var(--navy)!important}
.age-brand-mark{display:none;width:60px;height:60px;flex:0 0 60px}.age-brand-mark svg{width:100%;height:100%}
body[data-age-group=child] .age-brand-child,body[data-age-group=teen] .age-brand-teen{display:inline-flex}
body:is([data-age-group=child],[data-age-group=teen]) header .brand>img{display:none!important}
body:is([data-age-group=child],[data-age-group=teen]) .ui-action.ui-open,body:is([data-age-group=child],[data-age-group=teen]) #content .ui-action.ui-open{background:var(--open)!important;color:var(--open-text)!important;border-color:var(--open)!important}
body:is([data-age-group=child],[data-age-group=teen]) .ui-action.ui-download,body:is([data-age-group=child],[data-age-group=teen]) #content .ui-action.ui-download{background:var(--download)!important;color:#fff!important;border-color:var(--download)!important}
body:is([data-age-group=child],[data-age-group=teen]) .ui-action.ui-chat,body:is([data-age-group=child],[data-age-group=teen]) #content .ui-action.ui-chat{background:var(--chat)!important;color:#fff!important;border-color:var(--chat)!important}
body:is([data-age-group=child],[data-age-group=teen]) .ui-action.ui-gray,body:is([data-age-group=child],[data-age-group=teen]) #content .ui-action.ui-gray{background:var(--gray)!important;color:#fff!important;border-color:var(--gray)!important}
body[data-age-group=child] .age-hero{background:#ffdf72;border:0;color:#164655}
body[data-age-group=teen] .age-hero{background:#483294;border:0;color:#fff}
body[data-age-group=child] nav a.on{background:#ffdf72;color:#164655}
body[data-age-group=teen] nav a.on{background:#483294;color:#fff}
body[data-age-group=child] .age-preview-buttons button{background:#ffc28f;color:#51301c}
body[data-age-group=teen] .age-preview-buttons button{background:#ffb69e;color:#512c25}
.section-icon-wrap{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;vertical-align:middle;pointer-events:none}
#nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
#content :is(h1,h2)>.section-icon-wrap{margin-inline-end:8px}
.resource-grid :is(a,button){display:flex;align-items:center;justify-content:center;gap:9px}
/* Each launcher symbol contains its own opaque background and explicit foreground. */
body .section-icon{display:block!important;width:32px;height:32px;flex-shrink:0;overflow:visible!important;background:transparent!important;padding:0!important;border:0!important;border-radius:0!important;opacity:1!important;visibility:visible!important;filter:none!important}
body #nav .section-icon{width:26px;height:26px}
body #content h1 .section-icon{width:34px;height:34px}
body #content h2 .section-icon{width:30px;height:30px}
body #content .home-quick-grid .section-icon{width:58px;height:58px}
body #content .resource-grid .section-icon{width:38px;height:38px}

/* Approved adult action palette. */
body[data-age-group=adult] .ui-action.ui-open,body[data-age-group=adult] #content .ui-action.ui-open{background:#315b85!important;color:#fff!important;border-color:#315b85!important}
body[data-age-group=adult] .ui-action.ui-gray,body[data-age-group=adult] #content .ui-action.ui-gray{background:#64717d!important;color:#fff!important;border-color:#64717d!important}
body[data-age-group=adult] .ui-action.ui-chat,body[data-age-group=adult] #content .ui-action.ui-chat{background:#aa266c!important;color:#fff!important;border-color:#aa266c!important}
body[data-age-group=adult] .ui-action.ui-download,body[data-age-group=adult] #content .ui-action.ui-download{background:#f7c9cb!important;color:#7b202a!important;border-color:#e9a8ad!important}
body[data-age-group=adult] .ui-action[disabled],body[data-age-group=adult] #content .ui-action[disabled]{background:#d9dee3!important;color:#6f7982!important;border-color:#d9dee3!important;cursor:not-allowed}


/* Age-scoped surface and action palettes; existing icon artwork is retained. */
body[data-age-group=child]{--bg:#fff9ed;--line:#eadfc9;--navy:#20485a;--muted:#616b72;--open:#ffce55;--open-text:#503600;--download:#f7c9cb;--chat:#aa266c;--gray:#667180;--hero:#ffe186;--hero-text:#493814;--soft:#fff0c8;--soft-text:#5b4210;--accent:#c16425;--mine:#e5f4dd;--history:#fff8e9;--download-soft:#e8f1ff;--chat-soft:#e4f4e9;--story-soft:#fff0d6;--extra-soft:#f0eaff;--disabled:#eee6d6;--disabled-text:#756e60}
body[data-age-group=teen]{--bg:#f5f3fc;--line:#e1dbef;--navy:#39305f;--muted:#696379;--open:#176b56;--open-text:#fff;--download:#f7c9cb;--chat:#aa266c;--gray:#6b6a7f;--hero:#e6def8;--hero-text:#44316b;--soft:#e9e2f8;--soft-text:#513879;--accent:#7052bf;--mine:#e0f2ed;--history:#f5f2fb;--download-soft:#fce7ef;--chat-soft:#e0f3ed;--story-soft:#eee8fb;--extra-soft:#e7f1fb;--disabled:#e8e3ef;--disabled-text:#777080}
body:is([data-age-group=child],[data-age-group=teen]) .age-hero{background:var(--hero);color:var(--hero-text)}
body:is([data-age-group=child],[data-age-group=teen]) .age-hero h2{color:var(--hero-text)!important}
body:is([data-age-group=child],[data-age-group=teen]) nav a.on{background:var(--soft);color:var(--soft-text)}
body:is([data-age-group=child],[data-age-group=teen]) :is(.card,.chat-panel,.age-preview-controls){border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) .home-quick-grid a:nth-child(4n+1){background:var(--soft);border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) .home-quick-grid a:nth-child(4n+2){background:var(--chat-soft);border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) .home-quick-grid a:nth-child(4n+3){background:var(--story-soft);border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) .home-quick-grid a:nth-child(4n){background:var(--extra-soft);border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) .resource-grid.downloads-theme button:nth-child(n){background:var(--download-soft);color:var(--navy);border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) .resource-grid.stories-theme button:nth-child(n){background:var(--story-soft);color:var(--navy);border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) .ui-action.ui-download,body:is([data-age-group=child],[data-age-group=teen]) #content .ui-action.ui-download{color:#7b202a!important;border-color:#e9a8ad!important}
body:is([data-age-group=child],[data-age-group=teen]) .teacher-audio-row.ui-download b{color:#7b202a!important}
body:is([data-age-group=child],[data-age-group=teen]) .age-preview-buttons button{background:var(--soft)!important;color:var(--soft-text)!important;border-color:var(--line)!important}
body:is([data-age-group=child],[data-age-group=teen]) .age-preview-buttons button[aria-pressed=true]{background:var(--open)!important;color:var(--open-text)!important}
body:is([data-age-group=child],[data-age-group=teen]) .chat-history{background:var(--history)}
body:is([data-age-group=child],[data-age-group=teen]) .chat-bubble.mine{background:var(--mine);border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) .status{background:var(--soft);color:var(--soft-text);border-color:var(--line)}
body:is([data-age-group=child],[data-age-group=teen]) progress{accent-color:var(--chat)}
body:is([data-age-group=child],[data-age-group=teen]) .story-word:is(:hover,.selected){background:var(--soft);color:var(--soft-text)}
body:is([data-age-group=child],[data-age-group=teen]) .ui-action:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
body:is([data-age-group=child],[data-age-group=teen]) .ui-action[disabled],body:is([data-age-group=child],[data-age-group=teen]) #content .ui-action[disabled]{background:var(--disabled)!important;color:var(--disabled-text)!important;border-color:var(--disabled)!important;cursor:not-allowed}


/* Coordinated teen palette: ocean, violet, peach, and cool neutral surfaces. */
body[data-age-group=teen]{--bg:#f2f7fa;--line:#d7e3eb;--navy:#193e55;--muted:#607482;--open:#176b91;--open-text:#fff;--download:#f5d1bd;--chat:#7055a2;--gray:#647582;--hero:#dceef4;--hero-text:#204e65;--soft:#e0eef5;--soft-text:#24566f;--accent:#176b91;--mine:#eee7f6;--history:#f3f6fa;--download-soft:#fbeddf;--chat-soft:#eee8f7;--story-soft:#fbeddf;--extra-soft:#e6edf8;--disabled:#e0e7eb;--disabled-text:#6c7c87}
body[data-age-group=teen] .ui-action.ui-open,body[data-age-group=teen] #content .ui-action.ui-open{background:#176b91!important;color:#fff!important;border-color:#176b91!important}
body[data-age-group=teen] .ui-action.ui-chat,body[data-age-group=teen] #content .ui-action.ui-chat{background:#7055a2!important;color:#fff!important;border-color:#7055a2!important}
body[data-age-group=teen] .ui-action.ui-download,body[data-age-group=teen] #content .ui-action.ui-download{background:#f5d1bd!important;color:#70402c!important;border-color:#e5b89f!important}
body[data-age-group=teen] .teacher-audio-row.ui-download b{color:#70402c!important}
body[data-age-group=teen] .ui-action.ui-gray,body[data-age-group=teen] #content .ui-action.ui-gray{background:#647582!important;color:#fff!important;border-color:#647582!important}
body[data-age-group=teen] .ui-action[disabled],body[data-age-group=teen] #content .ui-action[disabled]{background:#e0e7eb!important;color:#6c7c87!important;border-color:#e0e7eb!important;cursor:not-allowed}
body[data-age-group=teen] .age-preview-buttons button{background:#e0eef5!important;color:#24566f!important;border-color:#d7e3eb!important}
body[data-age-group=teen] .age-preview-buttons button[aria-pressed=true]{background:#176b91!important;color:#fff!important;border-color:#176b91!important}
body[data-age-group=teen] :is(h1,h2,h3,.term-info dd){color:#193e55}
body[data-age-group=teen] nav{background:#fff;border-color:#d7e3eb}
body[data-age-group=teen] nav a{color:#607482}
body[data-age-group=teen] nav a.on{background:#dceef4;color:#204e65}
body[data-age-group=teen] .age-hero{background:#dceef4;color:#204e65}
body[data-age-group=teen] .home-quick-grid a{color:#193e55}
body[data-age-group=teen] .chat-tabs button[aria-selected=false]{background:#eee8f7!important;color:#513a78!important;border-color:#d9cde9!important}
body[data-age-group=teen] progress{accent-color:#176b91}


/* Three coordinated age themes, including all action categories. */
body[data-age-group=adult]{--bg:#f2f5f8;--line:#d8e0e8;--navy:#17344f;--muted:#647484;--theme-open:#244d72;--theme-open-text:#fff;--theme-chat:#436c89;--theme-chat-text:#fff;--theme-download:#dce8f2;--theme-download-text:#244d72;--theme-gray:#64717d;--theme-gray-text:#fff;--theme-soft:#e3ebf3;--theme-soft-text:#244d72;--theme-disabled:#e0e5ea;--theme-disabled-text:#6b7781}
body[data-age-group=child]{--bg:#fffae9;--line:#ebdfb6;--navy:#59451c;--muted:#776b4c;--theme-open:#ffd65a;--theme-open-text:#503b0b;--theme-chat:#ffe1a0;--theme-chat-text:#62400d;--theme-download:#fff0ac;--theme-download-text:#594614;--theme-gray:#eee6cf;--theme-gray-text:#655638;--theme-soft:#fff0bd;--theme-soft-text:#59451c;--theme-disabled:#ece7d8;--theme-disabled-text:#78715f;--hero:#ffe58c;--hero-text:#59451c;--soft:#fff0bd;--soft-text:#59451c;--download-soft:#fff3c5;--chat-soft:#fff0d2;--story-soft:#fff4d6;--extra-soft:#fff0b7;--history:#fffaee;--mine:#fff0bf}
body[data-age-group=teen]{--bg:#f2f8f2;--line:#d4e5d7;--navy:#28533c;--muted:#63796a;--theme-open:#c8e9ce;--theme-open-text:#24533a;--theme-chat:#b8dfce;--theme-chat-text:#254f41;--theme-download:#e0edca;--theme-download-text:#40552b;--theme-gray:#e2eae1;--theme-gray-text:#52644f;--theme-soft:#e0f0df;--theme-soft-text:#28533c;--theme-disabled:#e4eae1;--theme-disabled-text:#707b6d;--hero:#d6eed7;--hero-text:#28533c;--soft:#e0f0df;--soft-text:#28533c;--download-soft:#edf4e1;--chat-soft:#e2f1e8;--story-soft:#e8f2df;--extra-soft:#e0efe2;--history:#f3f8f2;--mine:#dceee0}
body[data-age-group] .ui-action.ui-open,body[data-age-group] #content .ui-action.ui-open{background:var(--theme-open)!important;color:var(--theme-open-text)!important;border-color:var(--theme-open)!important}
body[data-age-group] .ui-action.ui-chat,body[data-age-group] #content .ui-action.ui-chat{background:var(--theme-chat)!important;color:var(--theme-chat-text)!important;border-color:var(--theme-chat)!important}
body[data-age-group] .ui-action.ui-download,body[data-age-group] #content .ui-action.ui-download{background:var(--theme-download)!important;color:var(--theme-download-text)!important;border-color:var(--line)!important}
body[data-age-group] .teacher-audio-row.ui-download b{color:var(--theme-download-text)!important}
body[data-age-group] .ui-action.ui-gray,body[data-age-group] #content .ui-action.ui-gray{background:var(--theme-gray)!important;color:var(--theme-gray-text)!important;border-color:var(--theme-gray)!important}
body[data-age-group] .age-preview-buttons button{background:var(--theme-soft)!important;color:var(--theme-soft-text)!important;border-color:var(--line)!important}
body[data-age-group] .age-preview-buttons button[aria-pressed=true]{background:var(--theme-open)!important;color:var(--theme-open-text)!important;border-color:var(--theme-open)!important}
body[data-age-group] :is(h1,h2,h3,.term-info dd){color:var(--navy)}
body[data-age-group] :is(.card,.chat-panel,.age-preview-controls){border-color:var(--line)}
body[data-age-group=adult] header{background:#17344f!important}
body[data-age-group=child] header{background:#ffe089!important;color:#59451c}
body[data-age-group=teen] header{background:#c8e9ce!important;color:#24533a}
body:is([data-age-group=child],[data-age-group=teen]) header :is(.brand,.brand span,small,div,a){color:var(--navy)!important}
body[data-age-group] nav{background:#fff;border-color:var(--line)}
body[data-age-group] nav a{color:var(--muted)}
body[data-age-group] nav a.on{background:var(--theme-soft);color:var(--theme-soft-text)}
body[data-age-group] .home-quick-grid a{color:var(--navy)}
body[data-age-group=teen] .age-hero{background:var(--hero);color:var(--hero-text)}
body[data-age-group] .chat-tabs button[aria-selected=false]{background:var(--theme-soft)!important;color:var(--theme-soft-text)!important;border-color:var(--line)!important}
body[data-age-group] progress{accent-color:var(--theme-open-text)}
body[data-age-group=adult] progress{accent-color:#244d72}
body[data-age-group=child] progress{accent-color:#b28715}
body[data-age-group=teen] progress{accent-color:#5c9a70}
body[data-age-group] .ui-action[disabled],body[data-age-group] #content .ui-action[disabled]{background:var(--theme-disabled)!important;color:var(--theme-disabled-text)!important;border-color:var(--theme-disabled)!important;cursor:not-allowed}


/* Shared action colors across all three age themes. */
body[data-age-group]{--theme-chat:#aa266c;--theme-chat-text:#fff;--theme-gray:#64717d;--theme-gray-text:#fff}
body[data-age-group] .ui-action.ui-chat,body[data-age-group] #content .ui-action.ui-chat{background:#aa266c!important;color:#fff!important;border-color:#aa266c!important}
body[data-age-group] .ui-action.ui-gray,body[data-age-group] #content .ui-action.ui-gray{background:#64717d!important;color:#fff!important;border-color:#64717d!important}
body[data-age-group] .chat-tabs button[aria-selected=false]{background:#f7e6ef!important;color:#852055!important;border-color:#e9c6d8!important}
body[data-age-group] .ui-action[disabled],body[data-age-group] #content .ui-action[disabled]{background:var(--theme-disabled)!important;color:var(--theme-disabled-text)!important;border-color:var(--theme-disabled)!important;cursor:not-allowed}


/* Slightly livelier pale green, retaining a light teen interface. */
body[data-age-group=teen]{--bg:#eff8f0;--line:#c8dfcc;--navy:#28533c;--theme-open:#b4e1be;--theme-open-text:#234f34;--theme-soft:#d8eedb;--theme-soft-text:#28533c;--hero:#c6e8cc;--hero-text:#28533c;--soft:#d8eedb;--soft-text:#28533c;--download-soft:#e7f2da;--chat-soft:#dceddf;--story-soft:#dfedcf;--extra-soft:#d4ebd8}
body[data-age-group=teen] header{background:#b4e1be!important}
/* All student chat surfaces share the same magenta palette across ages. */
body[data-age-group] #content :is(.class-communication-box,.class-chat-tabs,.chat-panel){--line:#e7bfd3;--muted:#856375;--navy:#68324e;--chat:#aa266c;--theme-chat:#aa266c;--theme-chat-text:#fff;color:#512c40;background:#fff7fb!important;border-color:#e7bfd3!important}
body[data-age-group] #content .chat-panel{border:1px solid #e7bfd3!important;padding:12px!important}
body[data-age-group] #content :is(.class-communication-box,.chat-panel) :is(h1,h2,h3){color:#852055!important}
body[data-age-group] #content .chat-history{background:#faedf4!important;border:1px solid #eed4e2!important;scrollbar-color:#cd8bab #faedf4}
body[data-age-group] #content .chat-bubble{background:#fffafd!important;border-color:#e9cbdc!important;color:#512c40!important}
body[data-age-group] #content .chat-bubble.mine{background:#f2d5e5!important;border-color:#dfabc6!important;color:#602641!important}
body[data-age-group] #content .chat-bubble :is(b,small){color:#874464!important}
body[data-age-group] #content .chat-panel :is(.unified-compose,.chat-compose){background:#fffafd!important;border-color:#dfabc6!important}
body[data-age-group] #content .chat-panel :is(textarea,input:not([type=file])){background:#fffafd!important;color:#512c40!important;border-color:#dfabc6!important;caret-color:#aa266c}
body[data-age-group] #content .chat-panel textarea::placeholder{color:#967387!important;opacity:1}
body[data-age-group] #content .chat-panel :is(button,.btn,.attachment-button):not(:disabled):not(.ui-gray){background:#aa266c!important;color:#fff!important;border-color:#aa266c!important}
body[data-age-group] #content .chat-tabs button[aria-selected=true]{background:#aa266c!important;color:#fff!important;border-color:#aa266c!important}
body[data-age-group] #content .chat-tabs button[aria-selected=false]{background:#f7e2ee!important;color:#852055!important;border-color:#e2b6ce!important}
body[data-age-group] #content .chat-panel :is(.muted,.attachment-names,.receipt-status){color:#856375!important}
body[data-age-group] #content .chat-panel :is(button,textarea,.attachment-button):focus-visible,body[data-age-group] #content .chat-panel .attachment-button:focus-within{outline:3px solid #aa266c!important;outline-offset:3px}
body[data-age-group] #content .chat-contacts a,body[data-age-group] #content .latest-message{background:#fff5fa!important;border-color:#e7bfd3!important;color:#68324e!important}


body[data-age-group=teen]{--bg:#f2fae9;--line:#cee5b8;--navy:#2b5021;--theme-open:#58cc02;--theme-open-text:#204500;--theme-soft:#e2f5c9;--theme-soft-text:#2b5021;--hero:#d1efa9;--hero-text:#2b5021;--soft:#e2f5c9;--soft-text:#2b5021;--download-soft:#eaf5d5;--story-soft:#e5f1cd;--extra-soft:#d9f0bc}
body[data-age-group=teen] header{background:#58cc02!important}
body[data-age-group=teen] progress{accent-color:#58ad0d}


body[data-age-group=teen]{--bg:#f5ffec;--line:#cde9b4;--navy:#285014;--muted:#53713d;--theme-open:#78df20;--theme-open-text:#24430e;--theme-soft:#e3fac9;--theme-soft-text:#285014;--hero:#d8f8b5;--hero-text:#285014;--soft:#e3fac9;--soft-text:#285014;--download-soft:#eefbdc;--story-soft:#e7f8d2;--extra-soft:#def6c0}
body[data-age-group=teen] header{background:#78df20!important}
body[data-age-group=teen] progress{accent-color:#69c913}
body[data-age-group] header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
body[data-age-group] header .brand{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;text-align:center}
body[data-age-group] header .brand>img{display:block!important;width:58px;height:58px;object-fit:contain;flex:0 0 58px}
body[data-age-group] header .age-brand-mark{display:none!important}
.student-header-path{width:100%;margin:0;padding:7px 0 0;border-top:1px solid currentColor;background:transparent!important;font-size:12px;line-height:1.8;color:inherit!important;overflow-wrap:anywhere}
.student-header-path ol{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px 9px;list-style:none;padding:0;margin:0}
.student-header-path li{display:inline-flex;align-items:center;gap:9px}
.student-header-path li+li::before{content:'‹';opacity:.65;font-size:16px}
body[data-age-group] header .student-header-path a{color:inherit!important;text-decoration:none;padding:4px 2px;display:inline-block}
body[data-age-group] header .student-header-path a:hover{text-decoration:underline}
body[data-age-group] header .student-header-path a:focus-visible{outline:2px solid currentColor;outline-offset:2px}
body[data-age-group=adult] header .student-header-path{color:#fff!important;border-top-color:#ffffff45}
body:is([data-age-group=child],[data-age-group=teen]) header .student-header-path{color:var(--navy)!important;border-top-color:#24430e35}
@media(max-width:420px){body[data-age-group] header .brand>img{width:48px;height:48px;flex-basis:48px}.student-header-path{font-size:11px}}


body[data-age-group=teen]{--bg:#fff4fa;--line:#edc6dc;--navy:#6b2850;--muted:#895f77;--theme-open:#b72c79;--theme-open-text:#fff;--theme-soft:#f9deee;--theme-soft-text:#742b55;--theme-download:#f6d0e4;--theme-download-text:#71234e;--hero:#f8cee4;--hero-text:#6b2850;--soft:#f9deee;--soft-text:#742b55;--download-soft:#fce7f2;--story-soft:#fae0ed;--extra-soft:#f4d9eb}
body[data-age-group=teen] header{background:#f2bbd8!important}
body[data-age-group=teen] progress{accent-color:#b72c79}
body[data-age-group]{--theme-chat:#c4e5fa;--theme-chat-text:#225272}
body[data-age-group] .ui-action.ui-chat,body[data-age-group] #content .ui-action.ui-chat{background:#c4e5fa!important;color:#225272!important;border-color:#a4d1ed!important}
body[data-age-group] #content :is(.class-communication-box,.class-chat-tabs,.chat-panel){--line:#bedcee;--muted:#5c7c91;--navy:#285a78;--chat:#c4e5fa;--theme-chat:#c4e5fa;--theme-chat-text:#225272;color:#24495f;background:#f4faff!important;border-color:#bedcee!important}
body[data-age-group] #content .chat-panel{border:1px solid #bedcee!important;padding:12px!important}
body[data-age-group] #content :is(.class-communication-box,.chat-panel) :is(h1,h2,h3){color:#285a78!important}
body[data-age-group] #content .chat-history{background:#eaf5fc!important;border:1px solid #cfe5f2!important;scrollbar-color:#97c9e8 #eaf5fc}
body[data-age-group] #content .chat-bubble{background:#ffffff!important;border-color:#cce3f1!important;color:#24495f!important}
body[data-age-group] #content .chat-bubble.mine{background:#d5ebf9!important;border-color:#add2e9!important;color:#24495f!important}
body[data-age-group] #content .chat-bubble :is(b,small){color:#50758e!important}
body[data-age-group] #content .chat-panel :is(.unified-compose,.chat-compose){background:#ffffff!important;border-color:#add2e9!important}
body[data-age-group] #content .chat-panel :is(textarea,input:not([type=file])){background:#ffffff!important;color:#24495f!important;border-color:#add2e9!important;caret-color:#2d739e}
body[data-age-group] #content .chat-panel textarea::placeholder{color:#6a899e!important;opacity:1}
body[data-age-group] #content .chat-panel :is(button,.btn,.attachment-button):not(:disabled):not(.ui-gray){background:#c4e5fa!important;color:#225272!important;border-color:#c4e5fa!important}
body[data-age-group] #content .chat-tabs button[aria-selected=true]{background:#c4e5fa!important;color:#225272!important;border-color:#c4e5fa!important}
body[data-age-group] #content .chat-tabs button[aria-selected=false]{background:#e3f2fc!important;color:#285a78!important;border-color:#bedcee!important}
body[data-age-group] #content .chat-panel :is(.muted,.attachment-names,.receipt-status){color:#5c7c91!important}
body[data-age-group] #content .chat-panel :is(button,textarea,.attachment-button):focus-visible,body[data-age-group] #content .chat-panel .attachment-button:focus-within{outline:3px solid #6bb2dd!important;outline-offset:3px}
body[data-age-group] #content .chat-contacts a,body[data-age-group] #content .latest-message{background:#f2f9fe!important;border-color:#bedcee!important;color:#285a78!important}



body[data-age-group=teen] header{background:#92235f!important;color:#fff!important}
body[data-age-group=teen] header :is(.brand,.brand span,small,div,a){color:#fff!important}
body[data-age-group=teen] header .student-header-path{color:#fff!important;border-top-color:#ffffff45!important}


/* Chat-only changes: familiar green header, warm conversation canvas, and bottom composer. */
body[data-age-group] #content :is(.class-communication-box,.class-chat-tabs,.chat-panel){--line:#d8dedc;--muted:#667781;--navy:#111b21;--chat:#008069;--theme-chat:#008069;--theme-chat-text:#fff;background:#efeae2!important;border-color:#d8dedc!important;color:#111b21}
body[data-age-group] #content .class-communication-box{padding:0!important;overflow:hidden}
body[data-age-group] #content .class-chat-tabs{padding:0}
body[data-age-group] #content .class-chat-tabs .chat-tabs{padding:8px;margin:0;background:#008069!important;gap:6px}
body[data-age-group] #content .chat-tabs button[aria-selected=true]{background:#fff!important;color:#006d59!important;border-color:#fff!important;border-radius:7px}
body[data-age-group] #content .chat-tabs button[aria-selected=false]{background:#006b58!important;color:#fff!important;border-color:#006b58!important;border-radius:7px}
body[data-age-group] #content .chat-panel{padding:0!important;border:1px solid #d8dedc!important;border-radius:8px;overflow:hidden;gap:0;margin-top:0}
body[data-age-group] #content .chat-panel>h2{order:0;width:100%;margin:0!important;padding:14px 12px!important;background:#008069!important;color:#fff!important;border:0!important;text-align:right!important;font-size:15px!important;line-height:1.8}
body[data-age-group] #content .chat-panel>p.muted{order:0;margin:0!important;padding:7px 12px;background:#e1f2eb;color:#41695a!important;font-size:11px}
body[data-age-group] #content .chat-panel>.chat-history{order:1;height:380px;min-height:260px;border-radius:0;border:0!important;padding:18px 14px!important;background-color:#efeae2!important;background-image:radial-gradient(ellipse at center,transparent 55%,#86958d16 57%,#86958d16 62%,transparent 64%),radial-gradient(circle at center,#86958d10 1px,transparent 2px)!important;background-size:48px 38px,23px 23px!important;background-position:0 0,10px 12px;scrollbar-color:#bcc5bf #efeae2;gap:5px}
body[data-age-group] #content .chat-bubble{position:relative;align-self:flex-end;background:#fff!important;color:#111b21!important;border:0!important;border-radius:0 8px 8px 8px;padding:7px 10px 5px!important;max-width:86%;min-width:92px;margin:3px 0 7px 5px;overflow-wrap:anywhere}
body[data-age-group] #content .chat-bubble::before{content:'';position:absolute;top:0;left:-7px;border-top:9px solid #fff;border-left:8px solid transparent}
body[data-age-group] #content .chat-bubble.mine{align-self:flex-start;background:#d9fdd3!important;color:#111b21!important;border:0!important;border-radius:8px 0 8px 8px;margin-left:0;margin-right:5px}
body[data-age-group] #content .chat-bubble.mine::before{left:auto;right:-7px;border-left:0;border-right:8px solid transparent;border-top-color:#d9fdd3}
body[data-age-group] #content .chat-bubble p{margin:1px 0 4px;line-height:1.8;font-size:14px;color:#111b21!important}
body[data-age-group] #content .chat-bubble b{font-size:12px;color:#008069!important}
body[data-age-group] #content .chat-bubble small{font-size:10px!important;color:#667781!important;line-height:1.4;margin-top:3px;text-align:left}
body[data-age-group] #content .chat-panel>form{order:2;margin:0!important;padding:8px;background:#f0f2f5!important;border-top:1px solid #e2e5e7}
body[data-age-group] #content .chat-panel :is(.unified-compose,.chat-compose){display:flex;flex-wrap:wrap;align-items:center;gap:7px;background:#f0f2f5!important;border:0!important;border-radius:0;padding:0!important}
body[data-age-group] #content .chat-panel .message-input{flex:1 1 100%;margin:0!important}
body[data-age-group] #content .chat-panel textarea{display:block;resize:vertical;width:100%;min-height:48px!important;height:48px;background:#fff!important;border:1px solid #fff!important;border-radius:21px!important;padding:11px 16px!important;color:#111b21!important;caret-color:#008069;font-size:14px!important;line-height:1.7}
body[data-age-group] #content .chat-panel textarea::placeholder{color:#8696a0!important}
body[data-age-group] #content .chat-panel .action-box{width:100%;margin:0!important;gap:7px}
body[data-age-group] #content .chat-panel :is(button,.btn):not(:disabled):not(.ui-gray){background:#008069!important;color:#fff!important;border-color:#008069!important;border-radius:22px!important;min-height:44px!important;height:44px!important}
body[data-age-group] #content .chat-panel .attachment-button:not(:disabled){background:#e2e7eb!important;color:#54656f!important;border:0!important;border-radius:22px!important;min-height:44px!important;height:44px!important;font-size:13px!important}
body[data-age-group] #content .chat-panel .attachment-button :is(span,svg){color:#54656f!important}
body[data-age-group] #content .chat-panel :is(.muted,.attachment-names,.receipt-status){color:#667781!important}
body[data-age-group] #content .chat-panel :is(button,textarea,.attachment-button):focus-visible,body[data-age-group] #content .chat-panel .attachment-button:focus-within{outline:2px solid #00a884!important;outline-offset:2px}
@media(max-width:600px){body[data-age-group] #content .chat-panel>.chat-history{height:340px;padding:14px 11px!important}body[data-age-group] #content .chat-bubble{max-width:88%}}

/* Compact composer keeps attachment, message input and send controls together. */
body[data-age-group] #content .chat-panel .unified-compose{flex-wrap:wrap}
body[data-age-group] #content .chat-panel .message-input{flex:1 1 0;min-width:0}
body[data-age-group] #content .chat-panel .unified-compose>.action-box{display:flex;flex:0 0 auto;width:auto;align-items:center}
body[data-age-group] #content .chat-panel .unified-compose>.action-box>button{width:52px;min-width:52px;padding:5px;font-size:12px!important}
body[data-age-group] #content .chat-panel .unified-compose .attachment-button{width:44px;min-width:44px;flex:0 0 44px;padding:0!important}
body[data-age-group] #content .chat-panel .unified-compose .attachment-button span{font-size:0!important}
body[data-age-group] #content .chat-panel .unified-compose .attachment-button span svg{display:none}
body[data-age-group] #content .chat-panel .unified-compose .attachment-button::before{content:'+';font-size:28px;line-height:1;color:#54656f}
body[data-age-group] #content .chat-panel .unified-compose :is(.attachment-names,.receipt-selected){flex:1 1 100%;margin:0}


:root{--app-doodle-pattern:url("assets/design-1.png")}
body[data-age-group] #content .chat-panel>.chat-history{background-color:#edf1e5!important;background-image:linear-gradient(rgba(236,241,228,.86),rgba(236,241,228,.86)),var(--app-doodle-pattern)!important;background-size:auto,480px 480px!important;background-position:0 0,center top!important;background-repeat:repeat!important;background-attachment:scroll!important;background-blend-mode:normal,multiply!important}
