/* Exam OS · left syllabus map (one path open) + KP → Pro Max convert */
#exam-web-map{
  position:fixed;
  top:var(--bliss-nav-h,72px);
  left:0;
  bottom:0;
  width:min(20.5rem,92vw);
  z-index:70;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,rgba(72,32,42,.97),rgba(36,20,26,.98));
  border-right:1px solid rgba(240,217,196,.42);
  color:#fff8f2;
  font-family:"Noto Serif TC",Georgia,serif;
  transform:translateX(-105%);
  transition:transform .28s ease;
}
body.ewm-open #exam-web-map{transform:translateX(0);}
#exam-web-map .ewm-head{
  padding:.75rem .85rem .55rem;
  border-bottom:1px solid rgba(212,165,116,.18);
}
#exam-web-map .ewm-kicker{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#e8c9a8;margin:0 0 .25rem;
}
#exam-web-map .ewm-title{font-weight:800;font-size:1.02rem;margin:0 0 .2rem;line-height:1.35;}
#exam-web-map .ewm-sub{font-size:.78rem;color:#f0ddd0;line-height:1.5;margin:0;}
#exam-web-map .ewm-crumb{
  display:flex;flex-wrap:wrap;gap:.3rem;padding:.5rem .85rem 0;font-size:.72rem;
}
#exam-web-map .ewm-crumb button{
  border:0;background:transparent;color:#e8c9a8;cursor:pointer;font:inherit;padding:0;min-height:32px;
}
#exam-web-map .ewm-search{padding:.45rem .85rem .35rem;}
#exam-web-map .ewm-search input{
  width:100%;min-height:40px;border-radius:8px;border:1px solid rgba(212,165,116,.28);
  background:rgba(10,5,8,.7);color:#f7efe8;padding:.45rem .7rem;font:inherit;font-size:.88rem;
}
#exam-web-map .ewm-scroll{
  flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.35rem .7rem 1.2rem;
}
#exam-web-map .ewm-row,#exam-web-map .ewm-kp{
  width:100%;text-align:left;border:1px solid rgba(240,217,196,.32);
  background:rgba(255,248,240,.07);color:#fff8f2;border-radius:10px;padding:.55rem .7rem;
  margin:0 0 .4rem;cursor:pointer;font:inherit;
}
#exam-web-map .ewm-row b,#exam-web-map .ewm-kp b{display:block;font-size:.9rem;}
#exam-web-map .ewm-row small,#exam-web-map .ewm-kp small{color:#f0ddd0;font-size:.72rem;}
#exam-web-map .ewm-row.is-on,#exam-web-map .ewm-kp.is-on{
  border-color:#f0d9c4;background:rgba(212,165,116,.22);
}
#exam-web-map .ewm-row.is-done,#exam-web-map .ewm-kp.is-done{box-shadow:inset 3px 0 0 #e8c9a8;}
#exam-web-map .ewm-cluster{
  font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#d4a574;
  margin:.55rem 0 .3rem;
}
#exam-web-map .ewm-foot{
  padding:.55rem .85rem calc(.7rem + env(safe-area-inset-bottom,0px));
  border-top:1px solid rgba(240,217,196,.28);font-size:.75rem;color:#f0ddd0;
}
#exam-web-map .ewm-close{
  position:absolute;top:.55rem;right:.55rem;border:1px solid rgba(255,255,255,.25);
  background:transparent;color:inherit;border-radius:8px;min-height:36px;padding:.2rem .55rem;
  cursor:pointer;font-size:11px;letter-spacing:.08em;
}
#ewm-fab{
  display:none;position:fixed;left:max(.7rem,env(safe-area-inset-left,0px));
  bottom:calc(1.1rem + env(safe-area-inset-bottom,0px));z-index:71;
  min-height:46px;padding:.55rem 1rem;border:0;border-radius:999px;
  background:#e8c9a8;color:#0a0508;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;font-size:11px;cursor:pointer;
  font-family:"Cinzel","Noto Serif TC",serif;
}
#ewm-scrim{display:none;position:fixed;inset:0;top:var(--bliss-nav-h,72px);background:rgba(10,5,8,.45);z-index:69;}
body.ewm-open #ewm-scrim{display:block;}
#exam-kp-next,#exam-kp-convert{
  margin-top:1.4rem;padding:1.05rem 1.1rem 1.15rem;border-radius:14px;
  border:1px solid rgba(232,201,168,.4);
  background:linear-gradient(160deg,rgba(107,31,53,.42),rgba(10,5,8,.88));
}
#exam-kp-next .kpc-kicker,#exam-kp-convert .kpc-kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#e8c9a8;margin:0 0 .35rem;}
#exam-kp-next h3,#exam-kp-convert h3{font-size:clamp(1.15rem,2.6vw,1.45rem);margin:0 0 .45rem;line-height:1.35;}
#exam-kp-next p,#exam-kp-convert p{margin:.25rem 0;font-size:.95rem;line-height:1.65;opacity:.9;}
#exam-kp-next .kpc-acts,#exam-kp-convert .kpc-acts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.85rem;}
#exam-kp-next .kpc-acts button,#exam-kp-convert .kpc-acts button{
  min-height:48px;padding:.55rem 1rem;border-radius:10px;cursor:pointer;font:inherit;
  letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800;
  position:relative;z-index:8;pointer-events:auto;
}
#exam-kp-next .kpc-go,#exam-kp-convert .kpc-go{background:#e8c9a8;color:#0a0508;border:0;}
#exam-kp-next .kpc-ghost,#exam-kp-convert .kpc-ghost{background:transparent;border:1px solid rgba(232,201,168,.4);color:#f7efe8;}
#exam-pdf-root #exam-kp-next .kpc-ghost{
  color:#7c2d12;border-color:#7c2d12;background:#fff;
}
#exam-pdf-root #exam-kp-next .kpc-go{background:#7c2d12;color:#fff8f2;}
#exam-now-card{margin:0 0 1rem;padding:1rem 1.05rem;border-radius:16px;border:1px solid rgba(240,217,196,.42);background:rgba(72,32,42,.72);}
#exam-now-card .kicker{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#e8c9a8;margin:0 0 .3rem;}
#exam-now-card h2{margin:0;font-size:clamp(1.2rem,3vw,1.7rem);line-height:1.3;}
#exam-teacher-door{position:fixed;right:max(.8rem,env(safe-area-inset-right));bottom:calc(5.2rem + env(safe-area-inset-bottom));z-index:8;opacity:.55;font-size:11px;}
#exam-teacher-door:hover{opacity:1;}
body.exam-student #role-toggle-row,
body.exam-student #teacher-workshop,
body.exam-student #modeDesk,
body.exam-student #sitting-overlay,
body.exam-student #btl-examiner-mount{display:none !important;}
#exam-web-map{
  transform:translateX(-105%);
}
body.ewm-open #exam-web-map{transform:translateX(0);}
body.ewm-open #ewm-scrim{display:block;}
#ewm-fab{display:none !important;}
#exam-now-card{display:none !important;}
@media(min-width:1100px){
  #exam-web-map{width:min(22rem, 86vw);}
}
@media(max-width:640px){
  #exam-kp-convert .kpc-acts button{flex:1 1 100%;}
}
