:root { --bg:#0f0f12; --card:#1b1b1f; --line:#444; --blue:#5b9cff;
        --green:#3ddc84; --amber:#ff9f43; --red:#e0556b; --text:#eee; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--text);
       font-family:system-ui,"Microsoft JhengHei",sans-serif; line-height:1.6; }
.wrap { max-width:480px; margin:0 auto; padding:16px; }
h1,h2 { margin:.4em 0; }
.card { background:var(--card); border:1px solid var(--line);
        border-radius:12px; padding:14px; margin-bottom:12px; }
.btn { display:block; width:100%; padding:14px; border-radius:12px; border:none;
       font-size:16px; font-weight:600; text-align:center; text-decoration:none;
       background:var(--blue); color:#06210f; margin:8px 0; cursor:pointer; }
.btn.green{background:var(--green);} .btn.amber{background:var(--amber);}
.btn.ghost{background:transparent;border:2px solid var(--blue);color:var(--blue);}
input { width:100%; padding:12px; border-radius:10px; border:1px solid var(--line);
        background:#15161c; color:var(--text); font-size:16px; margin:6px 0; }
.opt { border:2px solid var(--line); border-radius:10px; padding:12px;
       margin:8px 0; cursor:pointer; }
.opt.correct{border-color:var(--green);background:#16341f;}
.opt.wrong{border-color:var(--red);background:#3a1a20;}
.badge{display:inline-block;font-size:12px;padding:2px 8px;border-radius:20px;
       background:#333;margin-left:6px;}
.badge.ai{background:#26456b;color:#cfe2ff;}
.expl{border-left:3px solid var(--blue);background:#15161c;padding:10px;
      border-radius:0 8px 8px 0;margin:10px 0;font-size:14px;}
.meta{display:flex;justify-content:space-between;font-size:13px;opacity:.7;}
table{width:100%;border-collapse:collapse;} td,th{padding:8px;border-bottom:1px solid var(--line);text-align:left;}
.err{color:var(--red);}
/* AI 聊天面板 */
#ai-fab{position:fixed;right:16px;bottom:16px;border:none;border-radius:30px;padding:12px 18px;
  background:var(--blue);color:#06210f;font-weight:700;z-index:50;cursor:pointer;}
#ai-panel{display:none;position:fixed;right:12px;bottom:12px;width:min(380px,92vw);
  height:min(70vh,520px);background:var(--card);border:1px solid var(--line);border-radius:14px;
  z-index:51;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.6);}
#ai-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;
  background:#15161c;font-weight:700;}
#ai-head button{background:none;border:none;color:var(--text);font-size:22px;line-height:1;cursor:pointer;}
#ai-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;}
.ai-bubble{max-width:85%;padding:8px 11px;border-radius:12px;font-size:14px;line-height:1.55;
  white-space:pre-wrap;word-break:break-word;}
.ai-user{align-self:flex-end;background:var(--blue);color:#06210f;}
.ai-assistant{align-self:flex-start;background:#23242c;color:var(--text);}
#ai-note{text-align:center;font-size:11px;opacity:.4;padding:2px;}
#ai-input{display:flex;gap:6px;padding:10px;border-top:1px solid var(--line);}
#ai-input input{flex:1;margin:0;}
#ai-input button{border:none;border-radius:10px;padding:0 16px;background:var(--green);
  color:#06210f;font-weight:700;cursor:pointer;}
