:root{--y:#FFD93B;--y2:#FFF4B8;--t:#0F3D3E;--t2:#1B5E5F;--bg:#F7F7F2;--pk:#E94FB5;--red:#D9443A}
*{box-sizing:border-box}body{margin:0;font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;color:var(--t);background:var(--bg)}
button{font:inherit;cursor:pointer;border:0;border-radius:999px;padding:8px 16px;background:var(--t);color:#fff;font-weight:700}
button.ghost{background:#fff;color:var(--t);border:1.5px solid var(--t)}button.y{background:var(--y);color:var(--t)}button.red{background:var(--red)}button:disabled{opacity:.4;cursor:default}
input,textarea,select{font:inherit;padding:10px 12px;border:1.5px solid #cfd8d8;border-radius:12px;width:100%;background:#fff;color:var(--t)}
.wrap{max-width:1100px;margin:0 auto;padding:20px}.muted{color:#6b8080}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.sp{flex:1}
header.top{display:flex;align-items:center;padding:14px 24px;background:#fff;border-bottom:1px solid #e6eaea}.brand{font-weight:900;font-size:20px;color:var(--t);text-decoration:none}.logo{background:var(--y);border-radius:8px;padding:2px 6px;font-size:14px}
.card{background:#fff;border-radius:18px;padding:18px;margin:14px 0;box-shadow:0 1px 3px #0001}
.tabs{display:inline-flex;background:#eef1ee;border-radius:999px;padding:4px;gap:4px}.tabs button{background:transparent;color:var(--t)}.tabs button.on{background:var(--y)}
.livebar{background:var(--y);border-radius:18px;padding:14px 18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}.livebar h2{margin:0;font-size:22px}
.pill{display:inline-block;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:700;background:var(--t);color:#fff}.pill.live::before{content:"● ";color:#ff6b6b}.pill.end{background:#888}.pill.pk{background:var(--pk)}.pill.lt{background:#e3f4f4;color:var(--t)}
.bar{margin:12px 0}.bl{display:flex;justify-content:space-between;font-weight:700;margin-bottom:4px}.bt{height:14px;background:#dfeeee;border-radius:9px;overflow:hidden}.bf{height:100%;background:var(--t);border-radius:9px;transition:width .4s}
.cloud{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:center;padding:10px}.cloud span{font-weight:900}.cloud .c1{color:var(--t2)}.cloud .c2{color:#B8860B}
.texts{display:grid;gap:8px;max-height:340px;overflow:auto}.tx{background:#f3f6f6;border-radius:12px;padding:8px 12px}
.qitem{display:flex;gap:10px;align-items:center;padding:10px;border-radius:12px;border:1.5px solid #e6eaea;margin:6px 0}.qitem.cur{border-color:var(--t);background:var(--y2)}
.qa{border:1.5px solid #e6eaea;border-radius:14px;padding:12px;margin:8px 0;display:flex;gap:12px;align-items:flex-start}.qa .tx2{flex:1}.likes{min-width:48px;text-align:center;font-weight:900}
.empty{border:1.5px dashed #cfd8d8;border-radius:14px;padding:26px;text-align:center;color:#8a9999}
.grid2{display:grid;grid-template-columns:1.4fr 1fr;gap:16px}@media(max-width:860px){.grid2{grid-template-columns:1fr}}
#toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);white-space:nowrap;max-width:calc(100vw - 24px);overflow:hidden;text-overflow:ellipsis;background:var(--t);color:#fff;padding:10px 18px;border-radius:999px;opacity:0;transition:.3s;pointer-events:none;z-index:9}#toast.show{opacity:1}
.sw{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-weight:700}.sw input{display:none}.sw i{width:40px;height:22px;border-radius:99px;background:#bbb;position:relative;transition:.2s}.sw i::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.2s}.sw input:checked+i{background:var(--t)}.sw input:checked+i::after{left:20px}
.stepper{display:inline-flex;align-items:center;gap:8px}.stepper button{width:40px;height:40px;padding:0;background:#fff;color:var(--t);border:1.5px solid var(--t);font-size:20px}

.aipromo{display:flex;align-items:center;gap:12px;margin:22px 0 8px;padding:14px 16px;border-radius:18px;background:var(--t);color:#fff;text-decoration:none}.aipromo:hover{background:var(--t2)}
.ai-badge{flex:none;width:42px;height:42px;border-radius:12px;background:var(--y);color:var(--t);font-weight:900;display:grid;place-items:center;font-size:17px}
.ai-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ai-text b{font-size:17px}.ai-text small{font-size:clamp(11px,3.2vw,13px);opacity:.85;line-height:1.5;display:flex;flex-direction:column}.ai-text small span{white-space:nowrap}.ai-go{flex:none;font-weight:800;color:var(--y);font-size:14px}
@media(max-width:480px){.ai-go{display:none}}
.aifoot{font-size:13px;color:#6b8080;text-align:center;margin:10px 0}.aifoot a{color:var(--t);font-weight:800}
.form label.f{display:block;font-weight:700;margin:16px 0 6px}.form label.f small{font-weight:400;color:#6b8080;margin-left:6px}.form .req::after{content:" *";color:var(--red)}
.cks{display:flex;flex-wrap:wrap;gap:8px}.ck{display:inline-flex;align-items:center;cursor:pointer;position:relative}.ck input{position:absolute;opacity:0;pointer-events:none}.ck span{border:1.5px solid #cfd8d8;border-radius:999px;padding:6px 12px;font-size:14px;background:#fff}.ck input:checked+span{background:var(--y);border-color:var(--t);font-weight:700}.ck input:focus-visible+span{outline:2px solid var(--t)}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}@media(max-width:640px){.g2{grid-template-columns:1fr}}
.note{background:var(--y2);border-radius:14px;padding:12px 14px;font-size:14px;line-height:1.6}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kv{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:14px}.kv dt{color:#6b8080}.kv dd{margin:0;white-space:pre-wrap;word-break:break-word}@media(max-width:560px){.kv{grid-template-columns:1fr}.kv dt{margin-top:6px}}
.pill.pend{background:#B8860B}.pill.rej{background:var(--red)}
a.lnk{color:var(--t);font-weight:700}

.cs{font-size:14px;color:var(--t);text-align:center;margin:10px 0;white-space:nowrap}.cs a{display:inline-flex;align-items:center;gap:6px;color:var(--t);font-weight:900;text-decoration:none;background:#fff;border-radius:999px;padding:4px 12px 4px 4px;margin-left:4px}.cs .ln{background:#06C755;color:#fff;border-radius:999px;padding:2px 8px;font-size:12px}
.home .apply,button.apply{background:var(--red)}.home .apply:hover{background:#b8352d}

/* 講師工具卡片（三張同一個版型） */
.tools{display:grid;gap:12px;margin-top:14px;text-align:left}.tools.n3{grid-template-columns:repeat(3,1fr)}.tools.n2,.tools.n4{grid-template-columns:repeat(2,1fr)}
.tool{position:relative;display:flex;flex-direction:column;gap:10px;text-decoration:none;color:var(--t);background:#fff;border:1.5px solid #e3e9e9;border-radius:18px;padding:18px 16px 16px;transition:border-color .15s,transform .15s,box-shadow .15s}
a.tool:hover{border-color:var(--t);transform:translateY(-2px);box-shadow:0 6px 18px #0f3d3e1a}
.ti{width:44px;height:44px;border-radius:13px;display:grid;place-items:center}.ti svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.t-live .ti{background:var(--y);color:var(--t)}.t-cert .ti{background:#fde8e6;color:var(--red)}.t-events .ti{background:#e3f4f4;color:var(--t2)}.t-survey .ti{background:#ede9fe;color:#5b3fb3}
.tb{display:flex;flex-direction:column;gap:4px;min-width:0}.tb b{font-size:17px;white-space:nowrap}.tb small{font-size:13px;color:#5d7373;line-height:1.5}
.tb ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px}.tb li{font-size:13px;position:relative;padding-left:18px;white-space:nowrap}.tb li::before{content:"";position:absolute;left:2px;top:6px;width:9px;height:5px;border-left:2px solid var(--t2);border-bottom:2px solid var(--t2);transform:rotate(-45deg)}
.tfree,.tgo{position:absolute;top:16px;right:14px;font-size:12px;font-weight:800;border-radius:999px;padding:3px 10px}.tfree{background:var(--y);color:var(--t)}.tgo{color:var(--red);padding-right:0}
@media(max-width:700px){.tools.n3,.tools.n2,.tools.n4{grid-template-columns:1fr}.tool{flex-direction:row;align-items:flex-start;padding:14px 14px}.tb ul{grid-template-columns:repeat(3,auto);justify-content:start;gap:4px 12px}.tb li{font-size:12px}}
@media(max-width:430px){.tb ul{grid-template-columns:1fr}}
.tstage{font-style:normal;align-self:flex-start;font-size:11.5px;font-weight:800;color:var(--t2);background:#eef3f3;border-radius:6px;padding:1px 7px;margin-bottom:2px}
