/* 结构层：两套皮肤共用的布局。颜色、字体、描边等外观在 skin-c.css / skin-b.css。
   页面按 iPad 竖屏（约 768–834px 宽）设计，手机上课程格子降到每行 2 个。 */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;min-height:100vh;line-height:1.35;}
button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;}
button:disabled{opacity:.45;cursor:default;}
button:focus-visible,a:focus-visible{outline:3px solid #2F6FD6;outline-offset:3px;}
small{display:block;font-size:.62em;opacity:.8;font-weight:inherit;letter-spacing:0;}
.wrap{max-width:900px;margin:0 auto;padding:0 28px 60px;}
.hidden{display:none!important;}
.en-sub{font-size:.55em;opacity:.7;margin-left:.35em;font-weight:600;}

/* ---------- 首页 ---------- */
.portal{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:44px;padding:24px;}
.portal h1{margin:14px 0 0;text-align:center;font-size:clamp(40px,7vw,64px);}

/* 口令键盘 */
.pinpad{width:min(360px,100%);padding:24px 22px 22px;text-align:center;}
.pinpad .me{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:2px;}
.pinpad .av{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:26px;font-weight:700;flex:none;}
.lost{font-size:18px;font-weight:700;opacity:.7;margin:16px 0 0;line-height:1.6;}
/* 点下去马上有反应（手机上）：按下时往下压一点；点链接后顶部出进度条（负责人 2026-09-25） */
button,a,.seg b,[data-a],[data-k]{touch-action:manipulation;-webkit-tap-highlight-color:transparent;}
button,a,.seg b{transition:transform .06s ease-out,box-shadow .06s ease-out,opacity .1s;}
button:active:not(:disabled),a.lc:active,a.wb:active,.seg b:active,
button.press:not(:disabled),a.press,.seg b.press{transform:translate(2px,2px);}
a.going{opacity:.65;}
body.navigating::before{content:"";position:fixed;left:0;top:0;height:4px;width:100%;z-index:9999;background:var(--k,#56B6E8);
  transform-origin:left;animation:navbar 1.6s cubic-bezier(.1,.7,.3,1) forwards;}
@keyframes navbar{from{transform:scaleX(0);}to{transform:scaleX(.9);}}
@media (prefers-reduced-motion:reduce){button,a,.seg b{transition:none;} body.navigating::before{animation:none;transform:scaleX(.9);}}

/* 课程总页的「设置」：声音 + 皮肤 */
.setbtn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:6px 4px;font-weight:800;font-size:17px;cursor:pointer;color:inherit;}
.setbtn small{font-size:.72em;opacity:.7;margin-left:2px;} .setbtn svg{width:22px;height:22px;}
.setpanel{margin:12px 0 4px;padding:14px 16px 12px;max-width:460px;}
.set-row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:12px;}
.set-t{font-weight:800;font-size:16px;} .set-t small{display:inline;font-weight:700;font-size:13px;opacity:.65;margin-left:6px;}
.set-note{margin:0;font-size:13px;opacity:.7;}
.setpanel .skinswitch{padding:0;margin:0;justify-content:flex-start;text-align:left;}
.logout{background:none;border:none;padding:0;font-weight:800;font-size:17px;cursor:pointer;color:inherit;}
.pinpad h2{margin:0 0 4px;font-size:26px;}
.pinpad .dots{display:flex;justify-content:center;gap:14px;margin:18px 0 10px;}
.pinpad .dots i{width:22px;height:22px;border-radius:50%;}
.pinpad .msg{min-height:1.5em;font-weight:700;font-size:15px;}
.pinpad .keys{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;}
.pinpad .keys button{height:62px;font-size:26px;font-weight:700;}

/* ---------- 课程格子 ---------- */
.g-head{padding:34px 0 10px;}
.g-head h1{margin:10px 0 0;font-size:clamp(34px,6vw,54px);}
.g-head p{margin:12px 0 0;font-size:17px;}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:22px 0;}
@media (max-width:700px){.cards{grid-template-columns:repeat(2,1fr);}}
.lc{display:flex;flex-direction:column;min-height:190px;text-decoration:none;color:inherit;}
.lc-title{font-size:24px;line-height:1.1;margin:12px 14px 4px;font-weight:700;}
.lc-zh{font-size:15px;margin:0 14px;flex:1;}
.pills{display:flex;gap:5px;margin:12px 12px 14px;flex-wrap:wrap;}
.pill{font-size:12px;font-weight:800;padding:2px 8px;border-radius:12px;display:inline-flex;align-items:center;gap:3px;}
.pill .ico{width:12px;height:12px;} .pill:not(.on):not(.sub):not(.doing){opacity:.45;}
.pill.doing{background:#fff4c9;}
.g-top{display:flex;align-items:center;gap:10px;} .g-top .sp{flex:1;} .g-head .skinswitch{padding:0;}
.wb{display:flex;align-items:center;gap:16px;padding:14px 18px;margin:10px 0 4px;text-decoration:none;color:inherit;}
.wb-ico{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;flex:none;} .wb-ico .ico{width:28px;height:28px;}
.wb-t{font-size:23px;font-weight:800;} .wb-t small{font-size:14px;font-weight:700;opacity:.7;}
.wb-go{margin-left:auto;font-size:26px;font-weight:800;}
.ico{flex:none;}
.empty{grid-column:1/-1;text-align:center;padding:50px 10px;font-size:18px;}

/* ---------- 顶栏、皮肤开关 ---------- */
.back{text-decoration:none;font-weight:800;font-size:17px;color:inherit;}
.skinswitch{display:flex;align-items:center;gap:8px;justify-content:flex-end;font-size:13px;font-weight:700;padding:14px 0 0;}
.seg{display:inline-flex;overflow:hidden;}
.seg b{padding:7px 12px;font-size:14px;cursor:pointer;user-select:none;}
.seg b small{font-size:.75em;}

/* ---------- 课页 ---------- */
.l-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:26px 0 12px;}
.l-title{font-size:clamp(28px,5vw,42px);flex:1;font-weight:700;min-width:180px;}
.voicebar{display:flex;gap:8px;flex-wrap:wrap;}
.mode{display:flex;justify-content:center;gap:12px;margin:22px auto 0;}
.mode b{padding:8px 20px;font-size:17px;cursor:pointer;text-align:center;user-select:none;}
.count{text-align:center;font-size:15px;margin-top:18px;font-weight:700;}
.status{min-height:1.6em;margin-top:18px;font-size:15px;font-weight:700;}
.status.warn{color:#b3261e;}
.onair{display:none;}
.queue-note{margin-top:14px;padding:10px 14px;font-weight:700;font-size:15px;}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;}}
