/* Общий стиль xpclassroom: mobile-first, крупные кнопки, светлая/тёмная тема (ключ pq_theme общий с Python-квизом) */
:root{--bg:#f4f6fa;--fg:#1d2433;--mut:#5d6779;--card:#fff;--bd:#dde3ee;--acc:#2d6cdf;--acc2:#7c3aed;--ok:#15803d;--okbg:#dcfce7;--wait:#a16207;--waitbg:#fef3c7;--bad:#b91c1c;--badbg:#fee2e2;--chip:#eef1f6;--sh:0 2px 10px #0001}
html[data-theme=dark]{--bg:#0f141c;--fg:#e5e9f0;--mut:#9aa6b8;--card:#1a2230;--bd:#2c3646;--acc:#5b8cff;--acc2:#a78bfa;--ok:#4ade80;--okbg:#14532d;--wait:#fcd34d;--waitbg:#4a3b0b;--bad:#fca5a5;--badbg:#5b1d1d;--chip:#243045;--sh:0 2px 10px #0006;color-scheme:dark}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--fg);font-size:17px;line-height:1.45;-webkit-text-size-adjust:100%}
.xw{max-width:860px;margin:auto;padding:14px 14px 40px}
.xtop{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#1e2a44;color:#fff;position:sticky;top:0;z-index:5}
html[data-theme=dark] .xtop{background:#161e2c}
.xtop a{color:#fff;text-decoration:none;font-weight:800;font-size:19px}.xtop .sp{flex:1}
.xcard{background:var(--card);border:1px solid var(--bd);border-radius:18px;padding:16px;margin:14px 0;box-shadow:var(--sh)}
.xcard h2{margin:0 0 10px;font-size:21px}.xcard h3{margin:0 0 8px}
.xbtn,button.xbtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 20px;border:0;border-radius:14px;background:var(--acc);color:#fff;font-size:17px;font-weight:700;cursor:pointer;text-decoration:none;margin:6px 6px 0 0}
.xbtn.wide{width:100%;margin-right:0}.xbtn.sec{background:var(--chip);color:var(--fg);border:1px solid var(--bd)}.xbtn.vio{background:linear-gradient(90deg,#7c3aed,#db2777)}.xbtn:disabled{opacity:.5}
.xbtn.sm{min-height:40px;padding:8px 14px;font-size:15px}
.xin,.xsel{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1px solid var(--bd);background:var(--card);color:var(--fg);font-size:17px;margin:6px 0 10px}
label.xl{display:block;font-weight:600;font-size:15px;color:var(--mut)}
.mut{color:var(--mut)}.small{font-size:14px}
.st{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 12px;font-weight:700;font-size:15px}
.st.ok{background:var(--okbg);color:var(--ok)}.st.wait{background:var(--waitbg);color:var(--wait)}.st.bad{background:var(--badbg);color:var(--bad)}.st.info{background:var(--chip);color:var(--fg)}
.xprog{height:10px;border-radius:6px;background:var(--chip);overflow:hidden;margin:8px 0}.xprog i{display:block;height:100%;background:var(--ok)}
.xtabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.xtabs button{flex:1;min-height:52px;border-radius:14px;border:1px solid var(--bd);background:var(--card);color:var(--fg);font-size:17px;font-weight:700;cursor:pointer}
.xtabs button.on{background:var(--acc);color:#fff;border-color:var(--acc)}
table.xt{width:100%;border-collapse:collapse;font-size:15px}table.xt td,table.xt th{padding:8px 6px;border-bottom:1px solid var(--bd);text-align:left;vertical-align:middle}
#themebtn{position:fixed;right:12px;bottom:12px;z-index:50;width:48px;height:48px;border-radius:50%;border:1px solid var(--bd);background:var(--card);font-size:22px;box-shadow:var(--sh);cursor:pointer}
.xtop #themebtn{position:static;width:40px;height:40px;font-size:18px;background:#ffffff1f;border-color:#ffffff33}
