:root{color-scheme:light}*{box-sizing:border-box}body.site{margin:0;background:#f4f1ea;color:#203d47;font:17px/1.6 -apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif}.site header{background:#183d4a;color:white;padding:26px max(20px,calc((100vw - 920px)/2))}.site header a{color:#ffda8b}.site main{max-width:920px;margin:auto;padding:24px 18px 80px}.site h1{font-size:clamp(25px,5vw,38px);margin:0}.site h2{font-size:24px}.site .card,#sync-panel{background:#fff;border:1px solid #cdd9db;border-radius:16px;padding:20px;margin:16px auto;max-width:920px;box-shadow:0 4px 18px #17364209}.site .muted{color:#5e6f75}.site .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px}.site a{color:#155468}.site .button,#sync-panel button,.site button{display:inline-block;padding:10px 16px;margin:4px;border:2px solid #215a6d;border-radius:10px;min-height:46px;background:white;color:#194e60;font:inherit;text-decoration:none;cursor:pointer}.site .primary{background:#215a6d;color:white}.site .badge{background:#fff1cd;border-radius:9px;padding:4px 10px;font-size:14px}.site-strip{padding:10px 16px;background:#fff1cd;font-size:14px}.site-strip a{color:#194e60}#sync-panel{font-size:15px;margin:12px;padding:14px;color:#203d47}#sync-panel summary{font-weight:700;cursor:pointer}#sync-panel input{font:inherit;max-width:100%;min-height:46px;padding:8px;border:1px solid #839da4;border-radius:8px}#sync-status{padding:8px;background:#eef5f7;border-radius:8px}#sync-secret{overflow-wrap:anywhere;background:#fff2ca;padding:12px}#sync-conflicts{color:#813c17}#sync-panel small{display:block}#sync-panel .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}#sync-panel button:disabled{opacity:.5}.site li{margin:6px 0}@media(min-width:960px){#sync-panel{margin:16px auto}}@media(max-width:480px){#sync-panel{margin:10px;font-size:14px;padding:12px}.site main{padding:14px}.site .card{padding:16px}}

/* Child dashboard only. The existing lesson styles and sync panel remain intact. */
body.dashboard{margin:0;background:#f4f5f7;color:#17191b;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
.dashboard *{box-sizing:border-box}.dashboard a{-webkit-tap-highlight-color:transparent}.dashboard a:focus-visible,.dashboard button:focus-visible{outline:3px solid #4f9e92;outline-offset:4px}
.dashboard .app-shell{max-width:480px;min-height:100dvh;margin:0 auto;background:#fdfdfd;border-inline:1px solid #e7e8ea}
.dashboard main{padding:20px 12px calc(112px + env(safe-area-inset-bottom,0px))}.dashboard .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dashboard .continue-card{background:#f1f2f3;border-radius:22px;padding:16px 13px 14px}.dashboard .continue-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#626569;font-size:14px;font-weight:500}.dashboard .continue-meta span:last-child{font-size:13px;white-space:nowrap}
.dashboard #lesson-title{font-size:26px;letter-spacing:-.6px;line-height:1.2;margin:12px 0 13px;font-weight:720}.dashboard .lesson-subtitle{font-size:20px;line-height:1.4;letter-spacing:-.5px;font-weight:650;margin:0 0 12px;white-space:nowrap}
.dashboard .progress-track{height:9px;background:#e9ebed;border-radius:20px;overflow:hidden;margin:0 0 10px}.dashboard #progress-fill{display:block;height:100%;width:0;background:#529e90;border-radius:20px;transition:width .3s}
.dashboard .continue-button{min-height:55px;background:#206e84;color:white;border-radius:15px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:9px;font-size:21px;font-weight:600}.dashboard .continue-button svg{width:23px;height:23px}.dashboard .continue-button:hover{background:#195f74}
.dashboard .feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.dashboard .feature-card{min-width:0;min-height:108px;border:1px solid #e0e1e3;box-shadow:0 0 0 .5px #eeeeef;border-radius:19px;text-align:center;color:#151718;text-decoration:none;padding:14px 4px 12px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.dashboard .feature-card>svg{width:24px;height:24px;color:#626363;margin-bottom:7px}.dashboard .feature-card h2{font-size:20px;line-height:1.3;margin:0 0 5px;font-weight:680}.dashboard .feature-card p{font-size:14px;color:#6a6b6e;margin:0;white-space:nowrap;letter-spacing:-.2px}.dashboard .feature-card:hover{background:#f5faf9;border-color:#8ab7ad}
.dashboard .bottom-nav{position:fixed;z-index:10;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:478px;background:rgba(253,253,253,.97);border-top:1px solid #ececee;display:grid;grid-template-columns:repeat(4,1fr);padding:15px 8px calc(12px + env(safe-area-inset-bottom,0px));backdrop-filter:blur(15px)}.dashboard .bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:#707174;font-size:15px;min-height:48px}.dashboard .bottom-nav svg{width:24px;height:24px}.dashboard .bottom-nav .active{color:#16191b;font-weight:600}
.dashboard .page-heading{padding:10px 8px 16px}.dashboard .page-heading h1{font-size:29px;line-height:1.3;margin:4px 0 9px;letter-spacing:-.5px}.dashboard .page-heading p{color:#727579;margin:0}.dashboard .eyebrow{font-size:12px;color:#747a7d}.dashboard .page-note{font-size:13px;line-height:1.7;color:#74787b;margin:8px 4px 16px}
.dashboard .content-card{background:#fff;border:1px solid #e3e5e7;border-radius:20px;padding:21px 18px;margin:8px 0 14px}.dashboard .content-card h2{font-size:20px;margin:0 0 12px}.dashboard .content-card p{color:#6b7074;font-size:15px}.dashboard .empty-icon{width:48px;height:48px;padding:11px;background:#edf6f3;color:#438a7c;border-radius:16px;margin-bottom:18px}.dashboard .empty-icon svg{width:100%;height:100%}.dashboard .action-link{display:inline-block;color:#206e84;text-decoration:none;font-weight:600;margin-top:12px;min-height:40px;padding-block:8px}
.dashboard .unit-list{display:grid;gap:10px}.dashboard .unit-card{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e4e6e8;background:white;border-radius:17px;padding:17px;text-decoration:none;color:inherit}.dashboard .unit-card h2{font-size:20px;margin:4px 0}.dashboard .unit-card p{margin:0;font-size:13px;color:#767b80}.dashboard .unit-card>svg{width:23px;height:23px;color:#a0a5a7}.dashboard .unit-action{font-size:13px;white-space:nowrap;color:#206e84;font-weight:650}.dashboard .open-unit{border-color:#b7d4cc;background:#f4faf7}.dashboard .locked-unit{color:#747a7d;background:#fafafa}.dashboard .report-stats{margin:20px 0}.dashboard .report-stats>div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #eef0f1}.dashboard .report-stats dt{color:#676d71;font-size:14px}.dashboard .report-stats dd{margin:0;font-size:15px;font-weight:600;text-align:right}.dashboard #review-items{padding-left:20px;line-height:2}
.dashboard #sync-panel{margin:0;border:1px solid #e3e5e7;border-radius:20px;box-shadow:none;background:#fff;padding:17px;font-size:14px;line-height:1.7}.dashboard #sync-panel summary{font-size:16px}.dashboard #sync-panel button{font:inherit;min-height:44px;border:1px solid #b5cdcf;border-radius:10px;background:#f1f7f6;color:#245d6b;padding:8px 12px;margin:5px 0}.dashboard #sync-panel label{display:block}.dashboard #sync-panel input{display:block;width:100%;margin:6px 0}.dashboard #sync-panel .row{display:block}.dashboard #sync-panel small{font-size:12px;color:#71787c}.dashboard #sync-panel #sync-status{font-size:13px;margin:0 0 12px;background:#f0f5f5}
@media(min-width:400px){.dashboard main{padding-inline:14px}.dashboard .continue-card{padding:18px 14px 15px}.dashboard #lesson-title{font-size:28px}.dashboard .lesson-subtitle{font-size:21px}.dashboard .feature-card{min-height:119px}.dashboard .feature-card p{font-size:15px}}
@media(min-width:600px){.dashboard .app-shell{margin:24px auto;min-height:calc(100dvh - 48px);border-radius:26px;box-shadow:0 8px 35px #27383e08;overflow:hidden}.dashboard main{padding-top:17px}.dashboard .feature-grid{gap:12px}.dashboard .feature-card{min-height:127px}}
@media(max-width:350px){.dashboard .lesson-subtitle{font-size:17px}.dashboard .feature-card p{font-size:12px}.dashboard .continue-meta{font-size:12px}.dashboard .feature-card h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.dashboard #progress-fill{transition:none}}
