/* ============================================================
   DESIGN SYSTEM
   Brand: Forkhill Physics Tuition
   Palette: deep charcoal canvas (#12131C), dark slate panels
   (#1E2030, borders #2D314E), crimson accent (#D62828),
   premium gold (#E9B44C) reserved for booking + rewards.
   ============================================================ */
:root{
  --bg:#12131C;
  --bg-raise:#1E2030;
  --card:#1E2030;
  --line:#2D314E;
  --line-strong:#3A4066;
  --text:#EAECF6;
  --muted:#9AA3C4;
  --faint:#6A7392;
  --crimson:#D62828;
  --crimson-light:#E5484D;
  --crimson-deep:#A4161A;
  --gold:#E9B44C;
  --gold-light:#F3D8A0;
  --steel:#8FA3D0;
  --grad:linear-gradient(135deg,#E5484D 0%,#D62828 55%,#A4161A 130%);
  --grad-gold:linear-gradient(135deg,#F3D8A0 0%,#E9B44C 45%,#C98F2B 130%);
  --radius:20px;
  --shadow:0 20px 50px rgba(6,7,12,.5);
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,"Helvetica Neue",Arial,sans-serif;
  --eq-font:Georgia,"Times New Roman",serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  min-height:100dvh;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  /* IP PROTECTION LAYER 1: text on the page cannot be highlighted.
     (Typing inputs are re-enabled individually below.)             */
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
input,textarea{-webkit-user-select:text;user-select:text}
img{-webkit-user-drag:none;user-drag:none}
body.no-scroll{overflow:hidden}
::selection{background:rgba(214,40,40,.45)}

/* IP PROTECTION LAYER 2: print lock, with one deliberate exception.

   By default, printing any screen produces the notice below and nothing
   else. The exception is an OPEN LESSON: pen-and-paper working is
   authentic practice (canonical principles §6/§7), so js/ui.js adds
   .allow-worksheet-print to <body> while the curriculum item view is
   showing, and css/curriculum.css turns that view into a worksheet.
   Every printed worksheet carries the student's name and a
   "not for distribution" licence line — a social deterrent rather than a
   technical one, which is the only kind that was ever available here. */
#print-guard{display:none}
@media print{
  body:not(.allow-worksheet-print) > *:not(#print-guard){display:none !important}
  body:not(.allow-worksheet-print) #print-guard{
    display:block !important;color:#000;background:#fff;
    font-family:Georgia,serif;font-size:18px;padding:60px 40px;text-align:center;
  }
  /* Worksheet mode: drop the app chrome, keep the lesson. */
  body.allow-worksheet-print > *:not(main){display:none !important}
  body.allow-worksheet-print #print-guard{display:none !important}
  body.allow-worksheet-print{background:#fff;color:#000}
  body.allow-worksheet-print main{max-width:none;padding:0}
  body.allow-worksheet-print .view:not(.active){display:none !important}
}

/* Ambient background glows */
.bg-decor{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bg-decor::before,.bg-decor::after{content:"";position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}
.bg-decor::before{width:560px;height:560px;top:-180px;left:-120px;background:radial-gradient(circle,rgba(214,40,40,.22),transparent 65%)}
.bg-decor::after{width:640px;height:640px;bottom:-260px;right:-160px;background:radial-gradient(circle,rgba(83,92,145,.18),transparent 65%)}
