/* Warm learning palette: ivory surfaces, subtle forest accents, clean reading space. */
body:has(.world-main){background:#f5f7f7;color:#354239}
body:has(.world-main) .layout{background:#f7f9f9ed}
body:has(.world-main):before{opacity:.14;filter:blur(2px) saturate(.55);mask-image:linear-gradient(to bottom,transparent 52%,black)}
body:has(.world-main) header{background:#ffffff;border-color:#e6e4da}
body:has(.world-main) aside{background:#fbfcfcf5;border-color:#e5e3d8}
body:has(.world-main) nav button{color:#7c8475}
body:has(.world-main) nav button.active{background:#e7ebdf;color:#455744;box-shadow:inset 2px 0 #849772}
body:has(.world-main) .nav-school{border-color:#e7e6dc!important}
.world-main h1,.world-main h2,.world-main h3{color:#3e4d40}
.world-main .eyebrow,.world-main .view-chip{color:#949a86}
.world-main .sub,.world-main .sample,.world-main .row p{color:#8a8e7f}
.world-main .card,.world-main .reader,.world-main .study-panel,.world-main .cd{background:#ffffffef;border-color:#e4e6d8;box-shadow:0 2px 8px #47523804}
.world-main .primary{background:#627a5e;color:#ffffff}
.world-main .secondary{background:#edf4f0;color:#738266;border-color:#dfe5d5}
.world-main .notice{background:#eff5f2;color:#808b74}
.world-main .input{border-color:#dce2d2;background:#ffffff;color:#4a5745}
.world-main .reader-art{background:#f1f6f4!important}
.world-main .record-tabs button{background:#eff4f2;color:#818a72}
.world-main .record-tabs button.active{background:#778b68;color:#ffffff}
.world-main .step{background:#e7ecdf;color:#7c8b6e}
.world-main .step.current{background:#7c936f;color:#fff}
.world-main .chips button{background:#edf4f0;color:#78886a}
.world-main .tag{background:#e7eddc;color:#819166}
.history-bar{background:#eff4f2;color:#939681;padding:9px 14px;font-size:10px}
.history-bar strong{color:#7c896e}
.history-bar span:nth-child(2){flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:100px}
.app-date{color:#4c5c43}
.lecture-footer{background:#fffffffa;border-color:#e0e4d3;box-shadow:0 3px 14px #52633c08}
.lecture-footer button{background:#ebefe0;color:#7c8b6c}
.lecture-footer .continue{background:#6d8461;color:#fff}
.student-label{background:transparent;border:0;padding:5px 4px;color:#46583e;font-size:13px;font-weight:600;white-space:nowrap}
.student-label:after{content:' ▾';font-size:10px;color:#9aA68E}
.student-top-input{width:100%;padding:13px;border:1px solid #d7dfca;background:#ffffff;border-radius:6px;margin:14px 0;color:#536748}
.modal{background:#ffffff;color:#49533f;border-color:#e0e5d4}
.modal .primary{background:#6c825e;color:#fff}
.modal .secondary,.modal .notice{background:#eff5f2;color:#829372}
.collection-table th,.collection-table td{border-color:#e6e8dc}
.world-main .lesson-record-card{border-color:#e3e7d8}
.world-main .reward-summary{color:#8d967e}
.world-main .locked,.world-main .step:disabled{background:#e9e9e1;color:#adb09f}
.world-main .back,.world-main .link{color:#8c957e}
body:has(.world-main) .side-bottom,body:has(.world-main) .side-bottom button{color:#a0a58f}
body:has(.world-main) nav button{color:#66725e}
.world-main .sub,.world-main .sample,.world-main .row p{color:#727d67}
.history-bar{color:#778168}
.history-bar strong{color:#647751}
.history-bar{max-width:870px;padding:6px 11px;font-size:9px;gap:9px;margin-bottom:14px;min-height:26px}

/* Bright neutral surfaces; retain sage only as an accent. */
body:has(.world-main){background:#f6f8f8;color:#37453f}
body:has(.world-main) .layout{background:transparent}
body:has(.world-main):before{opacity:.62;filter:blur(1px) saturate(.7);mask-image:none}
body:has(.world-main) .world-main{background:#f8fafaf0;border-radius:12px;margin:12px 18px 28px;box-shadow:0 4px 22px #334c3810}
body:has(.world-main) header,.modal{background:#fff}
body:has(.world-main) aside{background:#fbfdfcf5}
body:has(.game-home) header{background:#ffffffed}
.game-home{background:#eef5f2}.game-home:before{background:url('/quiet-forest.png') center/cover no-repeat;opacity:.92;filter:saturate(.85)}
.game-heading{padding:10px 24px;border-radius:12px;background:#f8fcf552;backdrop-filter:blur(3px)}
@media(max-width:620px){body:has(.world-main) .world-main{margin:8px 8px 18px;border-radius:9px}}
.sheet-sync-note{color:#587078;background:#edf3f5}

