/* ExamGuard Lite — visual layer v2.1. Pure presentation; does not change exam data. */
:root{
  --ink:#18263d;--navy:#142039;--navy2:#22314e;
  --accent:#e76845;--accent-dark:#c94e31;--sun:#f8a66c;
  --sky:#eaf2fc;--border:#e4e9f0;--muted:#78889c;--surface:#ffffff;
  --shadow:0 16px 40px rgba(33,53,80,.055),0 1px 3px rgba(25,40,58,.025);
}
html{scroll-behavior:smooth}
body{
  background:
    radial-gradient(ellipse 52% 25% at 4% 4%,rgba(232,116,77,.065),transparent 90%),
    radial-gradient(ellipse 40% 45% at 100% 27%,rgba(96,144,205,.06),transparent 90%),
    #f7f9fc;color:var(--ink)
}
.top{
  height:82px;padding:0 max(24px,calc((100vw - 1210px)/2));
  position:relative;z-index:2;background:rgba(255,255,255,.96);
  border-bottom:1px solid #e9edf2;
}
.brand{gap:13px;font-weight:850;letter-spacing:-.035em;font-size:21px}
.brand b{color:var(--accent-dark)}
.brand small{font-size:9px;letter-spacing:.15em;color:#95a0b1;font-weight:800;margin-top:6px}
.brand-version{letter-spacing:0;color:#bdc3cf;margin-left:6px}
.logo{
  width:46px;height:46px;border-radius:14px;
  background:linear-gradient(145deg,#ef855d,#cf4a34 67%,#b73728);
  box-shadow:0 7px 14px rgba(215,79,53,.23);
  transform:rotate(-8deg);font-size:22px;
}
.logo span{display:block;transform:rotate(8deg)}
.header-right{display:flex;align-items:center;gap:20px}
.header-label{display:flex;align-items:center;gap:8px;color:#7a8799;font-size:10px;font-weight:850;letter-spacing:.1em}
.header-dot{display:inline-block;width:7px;height:7px;background:#47b88c;border-radius:50%;box-shadow:0 0 0 4px #e3f7ec}
.top .pill{background:#f6f9fc;border-color:#e8edf3;color:#6c7a8d}
main{max-width:1210px;padding:40px 24px 100px}
.hidden{display:none!important}
button{transition:transform .17s,background .17s,border-color .17s,box-shadow .17s}
button:hover:not(:disabled){transform:translateY(-1px)}
button:active:not(:disabled){transform:translateY(0)}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(231,104,69,.22);outline-offset:2px}
button.primary{
  background:linear-gradient(135deg,#ee7957,#d55438 70%,#c8442b);
  color:white;box-shadow:0 8px 19px rgba(213,83,57,.16);border:1px solid #dc684a
}
button.primary:hover:not(:disabled){background:linear-gradient(135deg,#ea7150,#c6462e)}
button.outline{background:white;color:#354761;border:1px solid #dfe6ef;box-shadow:0 1px 2px rgba(25,45,72,.03)}
button.outline:hover:not(:disabled){border-color:#bcc8d8;background:#f9fbfe}
button.quiet{background:#f3f6fa;color:#64748a;border:1px solid #e9edf3}
button.danger{background:#fff3f1;color:#b94332;border:1px solid #f1d3cc}
input,textarea,select{
  background:#fbfcfe;border:1px solid #dee6ef;border-radius:11px;
  padding:12px 14px;color:#25364c;box-shadow:0 1px 2px rgba(22,44,77,.02)
}
input::placeholder,textarea::placeholder{color:#a9b2c0}
label{color:#536378;font-size:12px;letter-spacing:.01em;gap:8px}
form{gap:15px}
.panel{
  border-radius:19px;border:1px solid var(--border);box-shadow:var(--shadow);
  background:var(--surface);
}
p{color:#76869b}
.eyebrow{color:#df6847;font-size:11px;letter-spacing:.18em}

/* Landing — sophisticated study platform aesthetic */
.hero-stage{
  min-height:418px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;
  position:relative;overflow:hidden;border-radius:28px;
  background:linear-gradient(125deg,#17243c 0%,#192b46 43%,#263c59 100%);
  box-shadow:0 24px 50px rgba(27,43,69,.13);
}
.hero-stage:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.085) .75px,transparent .75px);
  background-size:22px 22px;mask-image:linear-gradient(90deg,transparent 40%,black 100%);
}
.hero-stage:after{
  content:"";position:absolute;pointer-events:none;width:340px;height:340px;border-radius:50%;
  border:1px solid rgba(235,250,255,.055);right:-55px;top:-125px;
  box-shadow:0 0 0 45px rgba(235,250,255,.023),0 0 0 100px rgba(235,250,255,.018);
}
.hero-copy{max-width:none;padding:51px 0 53px 56px;position:relative;z-index:1}
.hero-kicker{
  display:inline-flex;align-items:center;gap:10px;color:#ffd2b9;
  background:rgba(241,135,101,.12);border:1px solid rgba(255,194,151,.18);
  border-radius:99px;padding:9px 14px;font-size:10px;font-weight:850;letter-spacing:.12em;
}
.kicker-mark{color:#ffab78;font-size:14px}
.hero-copy h1{
  margin:24px 0 20px;line-height:1.125;font-size:clamp(35px,3.55vw,51px);
  letter-spacing:-.043em;color:white;font-weight:850
}
.hero-copy h1 em{
  color:#ffa47d;background:linear-gradient(90deg,#ffb388,#f2866a);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent
}
.hero-copy>p{font-size:14px;line-height:1.82;color:#adbbcf;max-width:510px;margin-bottom:24px}
.hero-features{display:flex;flex-wrap:wrap;gap:16px;color:#cbd6e7;font-size:11px;font-weight:650}
.hero-features span{display:flex;align-items:center;gap:7px;white-space:nowrap}
.hero-features i{font-style:normal;color:#80dbad;font-size:13px}
.hero-visual{height:100%;min-height:398px;display:flex;align-items:center;justify-content:center;position:relative;padding:35px 40px 35px 5px}
.visual-orb{position:absolute;border-radius:50%;filter:blur(2px)}
.orb-one{height:270px;width:270px;right:30px;top:27px;background:radial-gradient(circle,rgba(241,155,112,.14),transparent 69%)}
.orb-two{height:180px;width:180px;left:-40px;bottom:10px;background:radial-gradient(circle,rgba(90,159,220,.16),transparent 70%)}
.mock-card{
  width:100%;max-width:405px;padding:21px 22px;background:#fff;z-index:1;
  border-radius:17px;box-shadow:0 23px 50px rgba(0,0,0,.24);transform:rotate(1.8deg);
  border:1px solid rgba(255,255,255,.5);
}
.mock-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:9px;font-weight:850;color:#8998aa;letter-spacing:.06em}
.mock-head>span:first-child{display:flex;align-items:center;gap:7px}
.mock-cube{display:grid;place-items:center;background:#e97553;color:#fff;border-radius:6px;width:19px;height:19px;font-size:10px}
.mock-live{font-size:9px;color:#65a48a;background:#eaf8f1;padding:6px 8px;border-radius:99px;white-space:nowrap}
.mock-live span{display:inline-block;width:5px;height:5px;background:#67c39d;border-radius:50%;margin-right:4px}
.mock-title{font-size:18px;font-weight:850;letter-spacing:-.027em;color:#23354d;margin:21px 0 18px}
.mock-title small{display:block;font-size:10px;font-weight:600;color:#96a2b2;margin-top:5px;letter-spacing:0}
.mock-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mock-metrics>div{background:#f5f7fa;border:1px solid #eef1f5;border-radius:10px;padding:10px}
.mock-metrics>div>span{display:block;color:#8b99aa;font-size:10px;font-weight:650}
.mock-metrics strong{display:block;font-size:24px;margin-top:4px;color:#283952}
.mock-metrics strong span{font-size:12px;color:#a9b4c2;font-weight:600}
.mock-progress{display:flex;justify-content:space-between;margin-top:21px;font-size:11px;font-weight:750;color:#6f8094}
.mock-track{height:7px;background:#f1f2f6;border-radius:10px;margin:9px 0 18px;overflow:hidden}
.mock-track span{display:block;width:80%;height:100%;background:linear-gradient(90deg,#faad78,#ed7957);border-radius:10px}
.mock-students>div{display:flex;align-items:center;gap:9px;padding:10px 0;border-top:1px solid #f0f3f6}
.mock-avatar{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;font-weight:850;font-size:11px;flex-shrink:0}
.mock-avatar.green{color:#278569;background:#e3f8ee}.mock-avatar.blue{color:#5382c0;background:#e9f2ff}
.mock-students>div>span:nth-child(2){font-size:11px;font-weight:770;color:#34465e;flex:1;white-space:nowrap}
.mock-students small{display:block;font-size:9px;font-weight:500;color:#9aa7b6;margin-top:3px}
.mock-students b{font-size:9px;color:#339773;font-weight:800;background:#e5f8ee;padding:6px 8px;border-radius:6px;white-space:nowrap}
.mock-students b.in-progress{color:#bd8a3e;background:#fff5e5}
.floating-chip{
  position:absolute;z-index:2;left:5px;bottom:42px;
  color:#4f6880;font-size:11px;font-weight:770;background:white;padding:12px 15px;
  border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.18);
  display:flex;align-items:center;gap:9px;transform:rotate(-4deg)
}
.floating-chip span{display:grid;place-items:center;width:22px;height:22px;background:#e5f8ec;color:#3fba85;border-radius:7px}
.entry-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:42px 0 16px}
.entry-title h2{margin:7px 0 0;font-size:26px;letter-spacing:-.04em}
.entry-title>span{font-size:12px;color:#97a3b2}
.entry-cols{margin-top:0;gap:20px}
.entry-card{padding:28px 30px 30px;position:relative;transition:box-shadow .2s,transform .2s}
.entry-card:hover{box-shadow:0 20px 42px rgba(29,47,73,.092);transform:translateY(-2px)}
.entry-heading{display:flex;align-items:center;gap:12px;margin-bottom:19px}
.entry-icon{height:48px;width:48px;display:grid;place-items:center;border-radius:15px;font-size:24px}
.student-icon{background:#fef0eb;color:#d65a3c}
.teacher-icon{background:#e9f0fa;color:#4e7ab3}
.entry-label{font-size:10px;font-weight:850;letter-spacing:.13em;color:#a2adba}
.entry-card h2{margin:0;font-size:24px;color:#22344b}
.entry-card>p{font-size:13px;margin:8px 0 20px}
.entry-card form{margin:0;gap:14px}
.entry-card form label{font-size:12px}
.entry-submit{margin-top:7px;display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 18px}
.teacher-entry .entry-submit{background:#213650;color:#fff;border:1px solid #213650;box-shadow:0 8px 20px rgba(27,51,77,.12)}
.teacher-entry .entry-submit:hover{background:#152b45;border-color:#152b45}
.entry-submit span{font-size:20px;line-height:1}
.footnote{margin:22px 0 0;display:flex;gap:12px;align-items:flex-start;color:#8793a5;font-size:11px;line-height:1.6;padding:0 4px}
.footnote-icon{display:grid;place-items:center;border-radius:50%;width:19px;height:19px;background:#eaf0f7;color:#78889c;flex-shrink:0}

/* Teacher: operational dashboard */
.admin-heading{margin:7px 0 22px}
.admin-heading h1{font-size:38px;letter-spacing:-.05em;margin:9px 0 6px}
.admin-heading p{margin:0;font-size:13px}
.heading-accent{color:#de6549}
.teacher-cols{margin-top:0;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start}
.teacher-cols>.panel{padding:27px 28px}
.panel-kicker{display:flex;align-items:center;gap:9px;color:#c36149;font-weight:850;font-size:10px;letter-spacing:.13em;margin-bottom:15px}
.panel-icon{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#fff0e9;color:#d96748;font-size:16px}
.room-panel .panel-icon{background:#eaf1fa;color:#6085b4}
.teacher-cols>.panel h2{font-size:24px}
.teacher-cols>.panel>p{font-size:13px;margin:4px 0 18px}
.teacher-cols form{margin:18px 0}
.teacher-cols label{font-size:12px}
.teacher-cols .section-heading.compact{margin:11px 0}
.section-editor{background:#f9fbfd;border-color:#e2e8f0;border-radius:14px;padding:18px;gap:13px}
.question-editor{border:1px solid #e5eaf0;box-shadow:0 2px 8px rgba(31,50,74,.025);padding:16px}
.section-actions strong{font-size:12px;color:#55667a;letter-spacing:.04em}
.section-editor>label>input{background:white}
.exam-item{border-color:#e8edf3;background:#fff;transition:border-color .16s,background .16s}
.exam-item:hover{border-color:#cbd8e6;background:#fcfdff}
.room-panel .stack{margin-top:22px}
.room-panel .exam-item{padding:17px;gap:12px}
.room-panel .exam-item strong{font-size:13px}
.room-panel .exam-item small{font-size:11px}
.detail{border-radius:20px;padding:28px 30px;margin-top:24px}
.detail .section-heading h2{margin:9px 0 6px;font-size:25px}
.detail .section-heading p{font-size:12px;margin:0}
.metrics{gap:11px;margin-top:25px}
.metrics>div{background:#f8fafc;border:1px solid #edf1f5;border-radius:13px;padding:15px}
.metrics strong{font-size:27px;color:#243750;letter-spacing:-.035em}
.metrics>div:nth-child(3){background:#eff9f4;border-color:#e2f2e8}
.metrics>div:nth-child(3) strong{color:#228b68}
.metrics>div:nth-child(5){background:#fff8ed;border-color:#f6ecda}
.metrics>div:nth-child(5) strong{color:#bf8a34}
.detail .actions{padding:4px 0}
.detail .tablewrap{border:1px solid #edf1f5;border-radius:12px}
.detail table{min-width:920px}
.detail th{padding:14px;color:#8290a2;background:#f8fafc}
.detail td{padding:14px 11px;color:#506076}
.detail tr:hover td{background:#fcfdff}
.notice{background:#fff9ed;color:#8a6a3d;border:1px solid #f2e7d1;border-radius:12px}
.manual-panel{background:#f8fafc}

/* Student: distraction-free paper-like reading surface */
#student{max-width:970px;margin:0 auto}
#student>.section-heading{padding:22px 28px;background:white;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);margin-bottom:16px}
#student>.section-heading h1{font-size:27px;letter-spacing:-.035em;margin:7px 0}
#student>.section-heading p{margin:0;font-size:12px}
.timer{background:#192d48;border:1px solid #28415d;color:white;border-radius:13px;padding:12px 20px;font-size:30px;min-width:125px;box-shadow:0 8px 19px rgba(22,43,71,.13)}
.timer.urgent{background:#fff2ed;color:#bb3d29;border-color:#efc1b5}
.exam-status{gap:9px;margin-bottom:12px}
.exam-status .pill{background:#eef4fa;border-color:#dfe9f3;font-size:11px;font-weight:650}
#student .notice{font-size:12px;margin:13px 0 21px}
.progress{height:7px;background:#e5ebf3;border-radius:99px}
.progress>div{background:linear-gradient(90deg,#f4ad7d,#dd6246)}
#progress-text{margin:10px 0 13px}
.question-nav{margin:16px 0 22px}
.question-nav button{height:42px;width:42px;border-radius:11px;font-weight:800;color:#60728a;border-color:#dfe5ed;box-shadow:0 1px 2px rgba(28,48,71,.025)}
.question-nav button.done{background:#fff2e8;color:#c65d3c;border-color:#f5d3c6}
.question-nav button.active{background:#243b59;border-color:#243b59;box-shadow:0 5px 12px rgba(33,55,84,.15)}
#question-area{padding:32px 38px;border-radius:20px;box-shadow:var(--shadow)}
#question-area .eyebrow{font-size:11px;letter-spacing:.1em}
.question{margin:18px 0 27px;font-size:21px;color:#24364c;line-height:1.65;font-weight:780;max-width:800px}
.option{background:#fff;border-color:#e5eaf0;padding:16px 17px;border-radius:12px;margin:11px 0;transition:background .17s,border-color .17s}
.option:hover{background:#fafcff;border-color:#c9d5e4}
.option:has(input:checked){background:#fff8f3;border-color:#e8aa94;box-shadow:inset 0 0 0 1px rgba(224,120,83,.045)}
.option span{font-size:14px;color:#405269;line-height:1.55}
.option strong{color:#bd6b4f;margin-right:5px}
.option input{width:17px;height:17px}
#student .actions.spaced{margin-top:23px}
#student .actions.spaced button{min-width:130px}
#student #submit-exam{min-width:170px}
.preflight div{background:#fbfcfe}
#lobby,#waiting,#released{box-shadow:0 22px 45px rgba(31,50,73,.07);border-radius:23px;padding:43px 44px}
#lobby h1,#waiting h1,#released h1{font-size:30px}
#lobby .preflight{margin:26px 0}
#lobby .preflight div{border-radius:11px;padding:16px;text-align:left;font-size:13px;color:#53677c;font-weight:650}
.lobby-ready{display:grid;justify-items:center;gap:10px;margin:28px 0 22px;padding:28px 20px;background:linear-gradient(145deg,#f1faf5,#f8fcf8);border:1px solid #d7eee0;border-radius:17px;color:#2f7353}
.lobby-ready-icon{display:grid;place-items:center;width:67px;height:67px;margin-bottom:5px;background:#daf2e4;border-radius:20px;color:#218457;font-size:37px;font-weight:800}
.lobby-ready strong{font-size:17px;letter-spacing:-.02em}
.lobby-ready>span:last-child{font-size:13px;color:#5a7d69}
#lobby .notice{margin-top:20px}
#waiting .big,#released .big{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 23px;background:#e8f9ef;border-radius:20px;font-size:37px}
#waiting .big.is-pending{background:#eef4fa;color:#48739c}
#waiting .big.is-error{background:#fff1ed;color:#c54832}
#waiting .notice{margin-top:26px}
.toast{border-radius:13px;box-shadow:0 20px 45px rgba(23,43,67,.22)}

@media(max-width:1080px){
  .hero-copy{padding-left:35px}.hero-copy h1{font-size:40px}.hero-visual{padding-right:20px}
  .floating-chip{left:-3px}.mock-card{transform:rotate(1deg)}
}
@media(max-width:860px){
  .hero-stage{grid-template-columns:1fr}.hero-copy{padding:45px 36px 25px}.hero-visual{min-height:285px;padding:0 35px 30px}
  .mock-card{max-width:440px}.floating-chip{bottom:20px;left:calc(50% - 255px)}
  .entry-title{margin-top:32px}.teacher-cols{grid-template-columns:1fr}
  .metrics{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:650px){
  .top{height:70px;padding:0 16px}.brand{font-size:18px}.brand small{font-size:8px}
  .logo{height:40px;width:40px}.header-label{display:none}
  main{padding:22px 14px 80px}
  .hero-stage{border-radius:21px}.hero-copy{padding:32px 25px 13px}
  .hero-copy h1{font-size:35px}.hero-copy>p{font-size:13px}
  .hero-kicker{font-size:9px}.hero-features{gap:10px;font-size:10px}
  .hero-visual{padding:7px 25px 24px;min-height:265px}.mock-card{padding:16px}
  .mock-title{font-size:16px;margin:15px 0}.mock-metrics strong{font-size:20px}
  .floating-chip{left:9px;bottom:13px;font-size:9px;padding:8px;transform:none}
  .entry-title{display:block}.entry-title>span{display:block;margin-top:9px}
  .entry-cols{grid-template-columns:1fr;gap:14px}
  .entry-card{padding:23px}.entry-card h2{font-size:22px}
  .entry-card .form-grid{grid-template-columns:1fr}
  .teacher-cols>.panel{padding:20px}
  .admin-heading h1{font-size:30px}
  .metrics{grid-template-columns:repeat(2,1fr)}
  #student>.section-heading{padding:16px;gap:10px}
  #student>.section-heading h1{font-size:20px}
  .timer{font-size:19px;min-width:90px}
  #question-area{padding:21px 18px}
  .question{font-size:18px}
  .question-nav button{height:37px;width:37px}
  #student .actions.spaced button{min-width:auto;font-size:12px;padding:12px}
  #lobby,#waiting,#released{padding:28px 21px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important}
}
