:root{font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:#253e35;background:#f7f9f3;font-synthesis:none;line-height:1.6;font-size:16px;--green:#276450;--line:#dce5da;--muted:#5e7269}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{min-height:48px;border:0;border-radius:14px;padding:11px 23px;background:transparent;color:inherit;cursor:pointer;font-weight:600}button:hover{background:#e6eee4}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d58922;outline-offset:4px}header{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:25px 28px;border-bottom:1px solid var(--line);gap:20px}.brand{text-decoration:none;color:var(--green);display:flex;align-items:center;gap:12px;font-size:21px;font-weight:750;letter-spacing:1px}.brand small{display:block;font-size:11px;letter-spacing:3px}.brand-icon{font-size:38px;background:#e3edda;width:53px;height:56px;text-align:center;border-radius:18px}nav{display:flex;gap:8px;flex-wrap:wrap}nav .active{background:#e6eedf;color:var(--green)}nav .parent-link{margin-left:24px;color:var(--muted)}main{max-width:1120px;padding:42px 28px 35px;margin:auto;min-height:75vh}.eyebrow{font-size:14px;color:var(--green);font-weight:700;letter-spacing:2px}h1{font-size:clamp(30px,3.5vw,43px);line-height:1.35;letter-spacing:-1px;margin:12px 0 28px;font-weight:750}h2{font-size:25px;line-height:1.4;margin:22px 0 12px}h3{font-size:21px;margin:12px 0}p{color:var(--muted);margin:12px 0}small,.small{font-size:14px;line-height:1.7;color:var(--muted)}.home-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:26px}.card{background:white;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 5px 0 #e8eddf55}.section-top{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:14px}.pill{display:inline-block;border-radius:9px;padding:5px 12px;background:#edf1df;color:#49652d;font-size:14px;font-weight:650}.metrics{display:flex;justify-content:space-between;padding:18px 0 24px}.metrics>div{display:flex;flex-direction:column}.metrics strong{font-size:39px;font-weight:700}.metrics strong small{font-size:16px}.metrics span{color:var(--muted);font-size:14px}.primary{color:white;background:var(--green);box-shadow:0 4px 0 #1a493a}.primary:hover{background:#20553f}.wide{width:100%;margin-top:10px}.secondary,.file-button{background:#edf2e9;border:1px solid var(--line)}.text-button{color:var(--green);font-size:14px;text-decoration:underline;text-underline-offset:4px}.forest{background:#e8f0d8;border-radius:26px;position:relative;overflow:hidden;min-height:390px;border:1px solid #d7e2c5}.sun{position:absolute;top:34px;right:59px;width:78px;height:78px;border-radius:50%;background:#f9d97c}.hill{position:absolute;border-radius:50%}.back{width:160%;height:330px;background:#c9ddaf;left:-55%;top:150px;transform:rotate(-13deg)}.front{width:160%;height:300px;left:20%;top:225px;background:#a7c995}.tree{position:absolute;font-size:205px;color:#558268;line-height:1}.t1{left:24px;top:56px;transform:scaleX(.75)}.t2{right:20px;top:132px;font-size:145px;color:#70987b}.trail{position:absolute;width:80px;height:270px;background:#f4e4bc;bottom:-155px;left:46%;transform:rotate(25deg);border-radius:50%}.fox{font-size:100px;position:absolute;bottom:50px;left:30%;filter:drop-shadow(0 8px 0 #8aa56d44)}.forest-note{position:absolute;bottom:18px;left:20px;right:20px;text-align:center;font-size:16px;color:#305438;font-weight:600}.flower{position:absolute;right:40px;bottom:62px;color:#fff9d7;font-size:42px}.bottom-grid,.parent-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:26px}.soft{background:#f0f3e5}.stats{display:flex;gap:30px;margin:18px 0;flex-wrap:wrap}.stats span{display:flex;flex-direction:column;font-size:14px;color:var(--muted)}.stats b{font-size:31px;color:var(--green)}footer{max-width:1120px;margin:auto;padding:24px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:14px;display:flex;justify-content:space-between;gap:20px}label{display:block;font-size:16px;margin:14px 0 7px}input,select,textarea{border:1px solid #a9b9ad;border-radius:12px;background:white;color:#253e35;padding:12px;width:100%;min-height:48px}textarea{resize:vertical;font-family:monospace;font-size:15px}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;min-height:22px;flex-shrink:0}.help-row{display:flex;gap:14px;margin-top:18px;flex-wrap:wrap}.import,.parent-grid~.card{margin-top:25px}.file-button{position:relative;padding:11px 23px;min-height:48px;border-radius:14px;margin:0;cursor:pointer;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.preview{background:#f3f6ee;border-radius:18px;padding:22px;margin-top:20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:#f2f5ed;color:#496151}td,th{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top}td{min-width:90px}details{margin-top:25px}summary{cursor:pointer;padding:12px 0;font-weight:650;min-height:48px}.notice,.alert{padding:16px 20px;border-radius:12px;background:#fff1c9;margin-bottom:20px}.alert{border:2px solid #a64728}.lesson-top{display:flex;justify-content:space-between;align-items:center;max-width:720px;margin:auto;gap:15px}progress{display:block;width:min(100%,720px);height:10px;margin:15px auto 26px;accent-color:var(--green);border:0;border-radius:10px}.lesson{max-width:720px;margin:auto;text-align:center;min-height:500px;padding:28px 55px}.english{font-size:clamp(40px,6vw,64px);letter-spacing:1px;margin:8px 0;color:var(--green);overflow-wrap:anywhere}.meaning{font-size:23px;color:#405348}.word-emoji{font-size:85px;line-height:1.3;margin:10px}.word-image{max-width:240px;max-height:180px;object-fit:contain}.audio{background:#e9f0e2;color:var(--green);border:1px solid #cbdcc2}.audio.big{font-size:23px;padding:20px 35px;display:block;margin:22px auto}.context{padding:17px 22px;border-radius:16px;background:#f4f6ef;margin:23px 0}.context p{margin:3px 0}.context p[lang=en]{font-size:21px;color:#354f42}.reason{font-size:14px;margin-top:0}.options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:27px}.option{min-height:84px;border:2px solid #dce5d5;background:#fafcf7;font-size:21px;font-weight:500}.option:hover{border-color:var(--green)}.option-picture{display:block;font-size:34px}.lesson .help-row{justify-content:center}.hint{background:#fff0c9;padding:12px;border-radius:12px;margin:14px 0}.letters{font-size:38px;letter-spacing:6px;color:var(--green);margin:25px 0}.letters span{color:#a56814}#spelling{font-size:27px;text-align:center;margin:8px 0}.feedback-symbol{font-size:64px;color:#9b721d}.lesson-bottom{display:flex;justify-content:space-between;max-width:720px;margin:12px auto}.result,.gate{max-width:800px;margin:30px auto;text-align:center}.result button,.gate button{margin:10px}.sticker{font-size:78px;background:#eef2d8;width:150px;height:150px;margin:22px auto;border:3px dashed #b1c886;border-radius:50%;display:grid;place-items:center}.word-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:25px 0}.word-list>div{background:#f2f5ed;border-radius:16px;padding:18px;display:flex;flex-direction:column}.word-list b{font-size:23px}[hidden]{display:none!important}@media(max-width:700px){header{padding:16px;align-items:flex-start;flex-direction:column;gap:12px}nav{width:100%;justify-content:space-between;gap:0}nav button{padding:9px 12px;font-size:14px}nav .parent-link{margin-left:0}main{padding:27px 17px}.home-grid,.bottom-grid,.parent-grid{grid-template-columns:1fr}.forest{min-height:235px;grid-row:2}.sun{width:55px;height:55px;top:15px}.back{top:80px}.front{top:150px}.tree{top:0;font-size:150px}.t2{top:70px;font-size:110px}.fox{font-size:74px;bottom:28px;left:45%}.forest-note{left:8px;right:auto;bottom:20px;font-size:14px}.card{padding:23px}.lesson{padding:23px 20px;min-height:460px}.options{gap:10px}.option{font-size:19px;padding:10px}.section-top{align-items:flex-start;flex-wrap:wrap}footer{flex-direction:column;gap:5px}.lesson-top{font-size:14px}.lesson-top button{padding:10px}.metrics strong{font-size:34px}h1{margin-bottom:23px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Child-learning dashboard: information-panel hierarchy, warm garden visual language. */
body{background:linear-gradient(180deg,#fffdf5 0,#f4f8ee 44%,#edf5ea 100%);color:#294638}
.site-header{max-width:none;padding:18px max(28px,calc((100vw - 1120px)/2));border-bottom:1px solid #dbe8d7;background:#fffdf9;box-shadow:0 3px 18px #4f76500d;position:relative}
.site-header .brand{font-size:22px}.site-header .brand-icon{background:linear-gradient(135deg,#d8f3cb,#fff0b6);font-size:30px;width:50px;height:50px;display:grid;place-items:center;border-radius:16px}.site-header nav{margin-left:auto;background:#f0f6ed;border-radius:14px;padding:4px}.site-header nav button{min-height:40px;padding:8px 15px;border-radius:10px;font-size:14px}.site-header nav .active{background:#276450;color:#fff;box-shadow:0 3px 8px #27645033}.site-header nav .parent-link{margin-left:4px}.header-sparkle{color:#eab449;font-size:22px;margin-left:16px}
main{max-width:1120px;padding-top:34px}.home-grid{grid-template-columns:1.08fr .92fr;gap:18px;margin-top:18px}.today.card,.forest,.bottom-grid .card{border:1px solid #dbe8d7;box-shadow:0 12px 28px #30542b0d}.today.card{padding:30px;background:linear-gradient(145deg,#fff 0%,#f5fbef 100%);border-radius:22px;position:relative;overflow:hidden}.today.card:after{content:'✦';position:absolute;right:26px;bottom:15px;color:#eab449;font-size:32px;opacity:.75}.today.card h2{font-size:29px;max-width:410px;margin-top:26px}.today.card .metrics{background:#fff;border:1px solid #e2ecdd;border-radius:16px;padding:15px 18px;margin:22px 0}.today.card .metrics strong{font-size:34px;color:#276450}.today.card .primary{background:linear-gradient(135deg,#2d7657,#429369);box-shadow:0 5px 0 #225940}.today.card .primary:hover{background:#276450}.forest{min-height:420px;border-radius:22px;background:linear-gradient(180deg,#dff5fb 0%,#e8f5d3 100%);border-color:#d2e6c5}.forest:before{content:'今日探险地图';position:absolute;left:22px;top:20px;color:#386852;font-size:13px;font-weight:750;letter-spacing:1.5px;background:#ffffffba;border-radius:99px;padding:7px 12px;z-index:2}.forest .sun{background:#ffdc74;box-shadow:0 0 0 11px #fff2ba88}.forest .front{background:#8ac07e}.forest .back{background:#bedc9f}.forest .fox{font-size:110px}.forest-note{background:#ffffffc9;border-radius:12px;padding:8px 13px;left:18px;right:auto}.bottom-grid{grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.bottom-grid .card{border-radius:20px;padding:24px;background:#fff}.bottom-grid .soft{background:linear-gradient(135deg,#fff6d8,#fffcf1)}.bottom-grid h3{margin-top:6px}.bottom-grid .stats{gap:0;border-top:1px solid #e5eee1;padding-top:14px}.bottom-grid .stats span{flex:1;padding-right:12px}.bottom-grid .stats b{font-size:28px}
@media(max-width:700px){.site-header{padding:14px 17px}.site-header nav{margin-left:0;border-radius:12px}.site-header .header-sparkle{display:none}.site-header .brand-icon{width:44px;height:44px}.home-grid{gap:14px;margin-top:12px}.today.card{padding:23px}.today.card h2{font-size:26px}.forest{min-height:265px}.bottom-grid{gap:14px;margin-top:14px}.bottom-grid .card{padding:21px}}
