/* v5d：返回控件、语言切换、设置页、语法每日页、分数卡说明 */
[hidden]{display:none!important}
/* 顶栏返回 */
.back-top{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px 0 6px;margin-left:-6px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink);flex:none;max-width:42vw}
.back-top:hover{background:var(--line)}
.back-top .ph{font-size:18px}
.back-top span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lang-b{width:auto;padding:0 8px;gap:4px;display:inline-flex;align-items:center;font-size:12px}
.lang-b .ph{font-size:17px}
/* 页内返回（色块头部左上） */
.back-l{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px 0 6px;margin:-6px 0 10px -8px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ti)}
.back-l:hover{background:color-mix(in srgb,var(--ti) 12%,transparent)}
.back-l .ph{font-size:16px}
.s-head .back-l{display:flex;width:max-content;margin-top:-20px;margin-bottom:14px}
/* 抽屉头部：返回 + 路径 + 关闭 */
.d-nav{padding:10px 12px 10px 10px}
.d-back{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px 0 6px;border-radius:8px;font-size:14px;font-weight:600;flex:none}
.d-back:hover{background:var(--line)}
.d-back .ph{font-size:18px}
.d-nav .d-crumb{flex:1;justify-content:flex-end}
/* 语言 */
.langs{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.lang-o{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--line2);border-radius:8px;text-align:left}
.lang-o.on{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.lang-o .mono{font-size:12px;opacity:.7}
/* 设置 */
.setf{max-width:720px;margin-top:8px}
.fld{display:grid;gap:4px;font-size:13px;color:var(--muted);margin-top:12px}
.fld input,.fld select{height:44px;border:1px solid var(--line2);border-radius:8px;background:var(--surface);color:var(--ink);font:15px var(--sans);padding:0 12px;width:100%}
.fld input:focus,.fld select:focus{outline:0;border-color:var(--ink)}
.fld-g{display:grid;grid-template-columns:repeat(3,1fr);gap:0 10px}
.set-chk{font-size:13px;margin:14px 0 6px;color:var(--t-ok,#346538)}
.set-chk.bad{color:var(--t-err,#9f2f2d)}
.setf .row-f{flex-wrap:wrap}
/* 分数卡：保底单独一行 */
.score-f{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:10px 0 0;font-size:12.5px}
.score-f em{font-style:normal;color:var(--acc-ink)}
/* 语法每日页 */
.gday-h .row-f{margin-top:18px}
.gday-h .set-title{font-size:38px}
.gday-grid{display:grid;grid-template-columns:1fr 280px;gap:48px;margin-top:28px;align-items:start}
.gday-main{min-width:0;max-width:760px}
.gd-base{padding-bottom:8px;border-bottom:1px solid var(--line)}
.gday-side{position:sticky;top:calc(var(--hdr) + 16px)}
.gday-side .gdays{grid-template-columns:1fr}
.gday.cur{border-color:var(--ink);color:var(--ink);font-weight:600}
.gday.adv .mono{color:var(--ti,#1f6c9f)}
.gday-pn{display:flex;justify-content:space-between;gap:10px;margin:36px 0 8px}
.gday-pn .b{display:inline-flex;align-items:center;gap:6px}
.s-head .gdays.strip{display:flex;overflow-x:auto;gap:6px;margin-top:20px;scrollbar-width:none;padding-bottom:2px}
.s-head .gdays.strip .gday{flex:none;max-width:200px;background:color-mix(in srgb,var(--surface) 70%,transparent);border-color:transparent}
.s-head .gdays.strip .gday.on{opacity:.6}
.p-t a,.lede a.lnk{color:var(--acc-ink)}
@media (max-width:900px){
  .gday-grid{grid-template-columns:1fr;gap:20px}
  .gday-side{position:static}
  .gday-side .gdays{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .top-in{gap:8px}
  body.has-back .logo{display:none}
  body.has-back .m-title{display:none}
  .back-top{max-width:46vw}
  .top-prog{display:none!important}
  .lang-b span{display:none}
  .s-head .back-l{margin-top:-12px}
  .fld-g{grid-template-columns:repeat(2,1fr)}
  .gday-h .set-title{font-size:28px}
  .langs{grid-template-columns:1fr 1fr}
}
/* v5e: 顶栏语言下拉（原生 select 盖在短标签上） */
.lang-b{position:relative;cursor:pointer;width:auto;padding:0 6px 0 8px;gap:3px}
.lang-v{display:inline-flex;align-items:center;gap:4px;pointer-events:none}
.lang-v .ph:last-child{font-size:11px;opacity:.6}
.lang-b select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;font-size:16px;border:0;-webkit-appearance:none;appearance:none}
.lang-b:focus-within{outline:2px solid var(--ink);outline-offset:1px;border-radius:8px}
@media (max-width:760px){ .lang-b .lang-v{display:inline-flex} .lang-b .lang-v .mono{display:inline} .lang-b .lang-v .ph:first-child{display:none} }
/* v5e: 原生日期选择器 + 本地化显示层 */
.dt{position:relative;height:44px;border:1px solid var(--line2);border-radius:8px;background:var(--surface);color:var(--ink)}
.dt:focus-within{border-color:var(--ink)}
.dt-v{position:absolute;inset:0;display:flex;align-items:center;gap:8px;padding:0 40px 0 12px;font:15px var(--sans);pointer-events:none;white-space:nowrap;overflow:hidden}
.dt-v b{font-weight:500;overflow:hidden;text-overflow:ellipsis}
.dt:not(.has) .dt-v b{color:var(--muted);font-weight:400}
.dt-v .ph{font-size:18px;flex:none;opacity:.7}
.fld .dt input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;font-size:16px}
.fld .dt input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;cursor:pointer}
.dt-x{position:absolute;right:4px;top:6px;width:32px;height:32px;display:none;align-items:center;justify-content:center;border-radius:6px;color:var(--muted);z-index:2}
.dt.has .dt-x{display:flex}
.dt-x:hover{background:var(--line)}

/* review fixes 2026-10-15 */
/* one back control only: the top-bar back is shown whenever the page has a parent */
body.has-back .back-l{display:none!important}
/* question column: no nested scroll, no clipping (Q6 was cut at the fold) */
.qcol{max-height:none!important;overflow:visible!important;position:static!important;padding-right:0!important}
/* grammar day strip: edge fade shows there is more to scroll */
.s-head .gdays.strip{--fl:0px;--fr:56px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl),#000 calc(100% - var(--fr)),transparent 100%);scroll-snap-type:x proximity;scroll-padding:0 24px}
.s-head .gdays.strip.sl{--fl:40px}.s-head .gdays.strip.se{--fr:0px}
.s-head .gdays.strip .gday{scroll-snap-align:start;align-items:center;min-height:36px}
@media(max-width:700px){.gday{min-height:36px;align-items:center}.s-head .gdays.strip{--fr:40px}}
/* bigger invisible hit areas for small controls on touch screens */
@media(pointer:coarse),(max-width:700px){.chk{position:relative}.chk::after{content:"";position:absolute;inset:-9px}.gd-badge .lnk{display:inline-block;padding:7px 0}}
/* v11 顶栏「更多」下拉：长语言不再裁掉最后几个版块 */
.tab-more{position:relative;flex:none;margin-left:-14px}
.tm-b{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;font-size:14px;color:var(--muted);border-radius:6px;white-space:nowrap;position:relative}
.tm-b:hover,.tm-b[aria-expanded=true]{color:var(--ink);background:var(--line)}
.tm-b svg{width:12px;height:12px;opacity:.7}
.tm-b.on{color:var(--ink);font-weight:600}
.tm-b.on::after{content:"";position:absolute;left:10px;right:10px;bottom:-11px;height:2px;background:var(--acc);border-radius:2px}
.tm-menu{position:absolute;top:calc(100% + 10px);left:0;min-width:200px;padding:6px;background:var(--surface);border:1px solid var(--line2);border-radius:12px;box-shadow:0 12px 32px -12px rgba(0,0,0,.28);display:grid;gap:2px;z-index:40}
.tm-menu a{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--ink);white-space:nowrap}
.tm-menu a:hover{background:var(--line)}
.tm-menu a.on{font-weight:600;box-shadow:inset 2px 0 0 var(--acc)}
@media (max-width:900px){.tab-more{display:none!important}}
/* v11 手机：长语言（en/es/fr/ms）首页任务卡把页面撑宽 → 允许收缩 */
.home-grid>*,.hero>*,.today-b,.tasks{min-width:0}
.task.card{grid-template-columns:auto minmax(0,1fr) auto}
.task.card .tag{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stage p.mono{white-space:pre-wrap}
.stage,.score{min-width:0;overflow-wrap:anywhere}
.score>*{min-width:0}
.top-in.has-more .tabs{flex:0 1 auto}
.top-in.has-more .top-r{margin-left:auto}
