/* EAS AI Classes — shared classroom styles. 2026-09-24. */
:root{
  --bg:#071019;--panel:#0f1822;--panel2:#162332;--ink:#f5f8fc;
  --muted:#b4c0cc;--line:#2d3d50;--blue:#63bfff;--gold:#f0bf58;
  --green:#57cf88;--orange:#f09d52;--red:#ef6d63;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;
  line-height:1.68;font-weight:600;
  background:
    radial-gradient(circle at 10% 0%,rgba(99,191,255,.10),transparent 30%),
    linear-gradient(180deg,#071019,#0b131d 55%,#071019);
}
.wrap{width:min(1080px,94vw);margin:auto}
.topbar{padding:16px 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.topbar a{color:var(--gold);text-decoration:none;font:900 .74rem "Courier New",monospace;text-transform:uppercase;letter-spacing:.12em}
.topbar a:hover{color:var(--blue)}
.hero{padding:56px 0 36px;border-bottom:1px solid var(--line)}
.kicker{font:900 .74rem "Courier New",monospace;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}
h1{margin:12px 0 16px;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(2.6rem,7vw,5rem);line-height:.95;letter-spacing:-.025em}
.lead{max-width:900px;font-size:1.12rem;color:#edf3f9}
main{padding:30px 0 58px}
.panel{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:16px;padding:20px 22px;margin-bottom:16px;box-shadow:0 16px 38px rgba(0,0,0,.22)}
.panel h2{margin:0 0 8px;font-size:1.35rem}
.panel h3{margin:18px 0 6px;font-size:1.1rem;color:#efd39a}
.panel p{color:var(--muted);font-weight:400;margin:8px 0}
.tag{font:900 .72rem "Courier New",monospace;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}
.lesson-list{list-style:none;margin:0;padding:0}
.lesson-list li{display:flex;gap:14px;align-items:baseline;padding:14px 4px;border-bottom:1px solid var(--line)}
.lesson-list li:last-child{border-bottom:0}
.lesson-list .num{font:900 .8rem "Courier New",monospace;color:var(--blue);min-width:44px}
.lesson-list a{color:var(--ink);text-decoration:none;font-weight:700}
.lesson-list a:hover{color:var(--blue)}
.lesson-list .soon{color:var(--muted);font-weight:400;font-size:.9rem}
.cal{border:1px solid var(--line);border-radius:14px;overflow:hidden;font-family:"Courier New",monospace;margin:14px 0}
.cal .row{display:grid;grid-template-columns:1.1fr 1fr 1fr}
.cal .row+.row{border-top:1px solid var(--line)}
.cal .hd{background:var(--panel2)}
.cal .c{padding:9px 14px;font-size:.74rem}
.cal .day{font-weight:900;letter-spacing:.1em;color:var(--ink)}
.cal .hd .c{font-size:.72rem;font-weight:900;letter-spacing:.12em;color:var(--muted)}
.cal .hd .c.m{color:var(--gold)}.cal .hd .c.e{color:var(--blue)}
.cal .m{color:var(--gold);font-weight:900;text-align:center}
.cal .e{color:var(--blue);font-weight:900;text-align:center}
.cal .n{color:var(--muted);font-weight:700;text-align:center}
label.q{display:block;margin:16px 0 6px;font-weight:800}
label.q small{display:block;color:var(--muted);font-weight:400}
input.ws,textarea.ws,select.ws{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;
  background:#0a1420;color:var(--ink);font:inherit;font-size:.95rem;font-weight:400}
textarea.ws{min-height:110px;resize:vertical}
input.ws:focus,textarea.ws:focus{border-color:var(--blue);outline:none}
.ws-saved{font:700 .72rem "Courier New",monospace;color:var(--green);letter-spacing:.06em;min-height:1em}
.btn{display:inline-block;border:1px solid var(--blue);background:var(--blue);color:#03111b;
  border-radius:11px;padding:11px 18px;font-weight:1000;font-size:.88rem;cursor:pointer;
  text-decoration:none;font-family:inherit}
.btn.ghost{background:#0c1722;color:var(--ink)}
.btn:hover{filter:brightness(1.12)}
.step{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--line)}
.step:last-child{border-bottom:0}
.step .n{font:900 .8rem "Courier New",monospace;color:var(--orange);min-width:34px}
.footer{padding:22px 0 40px;color:#8fa2b5;font:700 .8rem "Courier New",monospace;text-transform:uppercase;letter-spacing:.08em}
@media print{
  body{background:#fff;color:#000}
  .topbar,.footer,.btn-row{display:none}
  .panel{box-shadow:none;border-color:#ccc}
}
