/* JLPT180 Exam Hall V7.4 */
.jlpt180-eh-v3,
.jlpt180-eh-v3 * { box-sizing: border-box; }

.jlpt180-eh-v3 {
  --ink:#173b57;
  --text:#2a4661;
  --muted:#6d8299;
  --jade:#14b8a6;
  --blue:#2f7fe8;
  --purple:#9a56d0;
  --gold:#f3cb62;
  width:100%;
  max-width:none;
  margin:0;
  padding:14px;
  font-family:Inter,"Plus Jakarta Sans","Nunito",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  overflow:visible;
}

.jlpt180-eh-v3 img { max-width:100%; height:auto; display:block; }
.jlpt180-eh-v3{width:100%;max-width:none;overflow-x:hidden;}
.jlpt180-eh-v3 .eh3-stage,
.jlpt180-eh-v3 .eh3-top,
.jlpt180-eh-v3 .eh3-layout,
.jlpt180-eh-v3 .eh3-left,
.jlpt180-eh-v3 .eh3-right,
.jlpt180-eh-v3 .eh3-progress,
.jlpt180-eh-v3 .eh3-module,
.jlpt180-eh-v3 .eh3-challenge,
.jlpt180-eh-v3 .eh3-benefits{max-width:100%;min-width:0;}
.jlpt180-eh-v3 .eh3-user-name,
.jlpt180-eh-v3 .eh3-pill b,
.jlpt180-eh-v3 .eh3-module h3,
.jlpt180-eh-v3 .eh3-module p,
.jlpt180-eh-v3 .eh3-card-title,
.jlpt180-eh-v3 .eh3-title h1{overflow-wrap:anywhere;word-break:break-word;}

.jlpt180-eh-parent-unlock{
  overflow:visible!important;
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
  min-height:0!important;
}
html.jlpt180-eh-scroll-unlock,
body.jlpt180-eh-scroll-unlock{
  overflow-x:hidden!important;
  overflow-y:auto!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  position:static!important;
  touch-action:pan-y!important;
}


.eh3-stage {
  position:relative;
  overflow:visible;
  min-height:620px;
  border-radius:26px;
  padding:14px;
  background:
    radial-gradient(circle at 16% 12%, rgba(20,184,166,.13), rgba(20,184,166,0) 24%),
    radial-gradient(circle at 86% 14%, rgba(47,127,232,.12), rgba(47,127,232,0) 28%),
    radial-gradient(circle at 50% 85%, rgba(154,86,208,.10), rgba(154,86,208,0) 30%),
    linear-gradient(180deg, rgba(251,254,255,.30), rgba(245,251,254,.44)),
    url('../images/generated/stage-bg-desktop.webp') center top / 100% 100% no-repeat;
  border:1px solid rgba(20,184,166,.18);
  box-shadow:0 20px 50px rgba(17,52,71,.12);
}
.eh3-stage:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% -8%, rgba(255,255,255,.30), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, rgba(255,255,255,.01), rgba(255,255,255,0));
}
.eh3-stage>*{position:relative;z-index:1}

.eh3-top{display:grid;grid-template-columns:minmax(220px,400px) auto;gap:12px;align-items:start;margin-bottom:12px}
.eh3-user,.eh3-pill,.eh3-progress,.eh3-module,.eh3-benefits,.eh3-level{
  background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(246,251,255,.93));
  border:1px solid rgba(193,223,236,.95);
  box-shadow:0 10px 24px rgba(17,52,71,.07);
}
.eh3-user{background:linear-gradient(135deg, #ffffff, #e9fbf4 58%, #def7ef 100%); border-color:rgba(128,218,192,.95)}
.eh3-stats .eh3-pill:first-child{background:linear-gradient(135deg, #fffdf7, #f2fff6 58%, #e6fbef 100%); border-color:rgba(172,222,197,.95)}
.eh3-stats .eh3-pill:last-child{background:linear-gradient(135deg, #fafdff, #eef7ff 58%, #e4f1ff 100%); border-color:rgba(182,212,245,.95)}
.eh3-user{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;padding:9px 12px;border-radius:18px}
 .eh3-avatar{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;background:radial-gradient(circle,#dff9f4,#9fe8db 60%,#4fb8a7);box-shadow:0 10px 24px rgba(15,159,143,.22);padding:7px}
.eh3-avatar img{width:100%;height:100%;object-fit:contain}
.eh3-pill-icon img{width:24px;height:24px;object-fit:contain;display:block}
.eh3-user-name{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:15px;font-weight:950;line-height:1.1;color:var(--ink)}
.eh3-badge{padding:4px 10px;border-radius:999px;background:var(--jade);color:#fff;font-size:12px;font-weight:900}
.eh3-xp{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:5px;color:#334155;font-size:12px;font-weight:750}
.eh3-bar{display:block;width:104px;height:7px;border-radius:99px;background:rgba(17,52,71,.10);overflow:hidden}
.eh3-bar>span{display:block;width:var(--pct,0%);height:100%;border-radius:inherit;background:var(--bar,#14b8a6)}
.eh3-stats{display:flex;gap:10px;justify-self:end}
.eh3-pill{display:flex;align-items:center;gap:8px;min-width:136px;min-height:52px;padding:9px 12px;border-radius:16px}
.eh3-pill-icon{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;font-size:24px;line-height:1}
.eh3-pill small{display:block;color:#597089;font-size:10px;font-weight:800}
.eh3-pill b{display:block;color:#18384f;font-size:16px;font-weight:950;line-height:1.05}
.eh3-plus{width:30px;height:30px;margin-left:auto;border:none;border-radius:50%;background:#dbf7f2;color:#0f766e;font-size:21px;font-weight:950;cursor:pointer}

.eh3-title{text-align:center;margin:4px 0 14px}
.eh3-title-mark{display:block;font-size:20px;line-height:1;margin-bottom:6px}
.eh3-title-row{display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%}
.eh3-title-ornament{width:32px;height:32px;object-fit:contain;flex:0 0 auto;opacity:.95;filter:drop-shadow(0 2px 8px rgba(243,203,98,.20))}
.eh3-title h1{
  margin:0;
  color:#0b5965;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(28px,2.6vw,40px);
  font-weight:950;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-shadow:0 2px 0 rgba(255,255,255,.92),0 5px 18px rgba(243,203,98,.26);
}
.eh3-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}
.eh3-level{
  min-width:0;
  min-height:114px;
  padding:12px 8px;
  border-radius:20px;
  color:var(--ink);
  cursor:pointer;
  transition:.18s;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:2px;
}
.eh3-level:hover{transform:translateY(-2px)}
.eh3-level.active{border-color:var(--level-color);box-shadow:0 14px 34px rgba(20,184,166,.15), inset 0 0 0 1px rgba(20,184,166,.24)}
.eh3-level-icon-img{width:48px;height:48px;object-fit:contain;margin-bottom:6px}
.eh3-level-name,.eh3-level strong,.eh3-level span{display:block;text-align:center}
.eh3-level-name{font-size:13px;font-weight:950;color:#163d58;line-height:1.2;text-transform:uppercase}
.eh3-level strong{font-size:14px;font-weight:900;color:#32516a}
.eh3-level span{margin-top:3px;color:#52697c;font-size:12px;font-weight:800}
.eh3-level:nth-child(1){background:linear-gradient(180deg,#ffffff 0%,#ebfbf1 100%);border-color:#89d9a7;box-shadow:0 10px 22px rgba(34,197,94,.08)}
.eh3-level:nth-child(1) .eh3-level-name,.eh3-level:nth-child(1) strong{color:#137a3e}
.eh3-level:nth-child(2){background:linear-gradient(180deg,#ffffff 0%,#eef6ff 100%);border-color:#8fb9f4;box-shadow:0 10px 22px rgba(59,130,246,.08)}
.eh3-level:nth-child(2) .eh3-level-name,.eh3-level:nth-child(2) strong{color:#1d5fc9}
.eh3-level:nth-child(3){background:linear-gradient(180deg,#ffffff 0%,#fff8df 100%);border-color:#f1ce61;box-shadow:0 10px 22px rgba(245,158,11,.08)}
.eh3-level:nth-child(3) .eh3-level-name,.eh3-level:nth-child(3) strong{color:#af7a00}
.eh3-level:nth-child(4){background:linear-gradient(180deg,#ffffff 0%,#fff0eb 100%);border-color:#ffb199;box-shadow:0 10px 22px rgba(249,115,22,.09)}
.eh3-level:nth-child(4) .eh3-level-name,.eh3-level:nth-child(4) strong{color:#d4511f}
.eh3-level:nth-child(5){background:linear-gradient(180deg,#ffffff 0%,#f7efff 100%);border-color:#d5afea;box-shadow:0 10px 22px rgba(168,85,247,.09)}
.eh3-level:nth-child(5) .eh3-level-name,.eh3-level:nth-child(5) strong{color:#7d3cc9}
.eh3-level.active{background:linear-gradient(180deg,#ffffff,#f8fffe);transform:translateY(-1px)}

.eh3-tab{display:none}
.eh3-tab.active{display:block}
.eh3-layout{display:grid;grid-template-columns:minmax(0,1.46fr) minmax(260px,.82fr);gap:12px;align-items:start}
.eh3-left,.eh3-right{min-width:0;display:grid;gap:12px}
.eh3-section-title{display:flex;align-items:center;gap:12px;margin:0;color:#194957;font-size:15px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.eh3-section-title:before,.eh3-section-title:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(25,73,87,.22))}
.eh3-section-title:before{flex:.25;background:linear-gradient(90deg,rgba(25,73,87,.22),transparent)}

.eh3-module{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-height:118px;
  padding:14px;
  border-radius:22px;
  overflow:hidden;
  transition:.16s;
}
.eh3-module:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(17,52,71,.11)}
.eh3-module:before{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:54px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(249,252,255,.72));
}
.eh3-module:after{
  content:"";
  position:absolute;
  right:-10px;
  bottom:-6px;
  width:140px;
  height:70px;
  background:radial-gradient(circle at 50% 0, rgba(233,241,248,.9), rgba(233,241,248,0) 70%);
  pointer-events:none;
}
.eh3-module > *{position:relative;z-index:1}
.eh3-module-icon{position:relative;display:grid;place-items:center;width:60px;height:60px;justify-self:start}
.eh3-module-icon-img{width:60px;height:60px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(17,52,71,.08))}
.eh3-flame{position:absolute;right:0;top:2px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;border:2px solid #f5c451;color:#f97316;font-size:17px;box-shadow:0 8px 14px rgba(249,115,22,.20)}
.eh3-module h3{margin:0 0 8px;color:var(--module-color);font-family:Georgia,"Times New Roman",serif;font-size:clamp(16px,1.35vw,21px);font-weight:950;line-height:1.08;letter-spacing:.01em;text-transform:uppercase;max-width:14ch}
.eh3-module p{max-width:540px;margin:0 0 12px;color:var(--text);font-size:13px;line-height:1.35;font-weight:650}
.eh3-left .eh3-module:nth-of-type(1){background:linear-gradient(135deg,#ffffff 0%,#ebfbf3 100%);border-color:#8eddb9;box-shadow:0 14px 30px rgba(20,184,166,.08)}
.eh3-left .eh3-module:nth-of-type(1){border-left:6px solid #17b483}
.eh3-left .eh3-module:nth-of-type(2){background:linear-gradient(135deg,#ffffff 0%,#edf4ff 100%);border-color:#9cc0f6;box-shadow:0 14px 30px rgba(59,130,246,.08)}
.eh3-left .eh3-module:nth-of-type(2){border-left:6px solid #3b82f6}
.eh3-left .eh3-module:nth-of-type(3){background:linear-gradient(135deg,#ffffff 0%,#f7efff 100%);border-color:#d8b5f2;box-shadow:0 14px 30px rgba(168,85,247,.08)}
.eh3-left .eh3-module:nth-of-type(3){border-left:6px solid #a855f7}
.eh3-module-progress{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;color:var(--muted);font-size:12px;font-weight:850}
.eh3-module-progress strong{min-width:44px;text-align:right;color:var(--module-color);font-weight:950;white-space:nowrap}
.eh3-linebar{height:8px;border-radius:999px;overflow:hidden;background:rgba(17,52,71,.08)}
.eh3-linebar>span{display:block;height:100%;width:var(--pct,0%);background:var(--bar,#14b8a6);border-radius:inherit}
.eh3-cta{display:inline-flex;align-items:center;justify-content:center;min-width:104px;min-height:42px;padding:0 16px;border:none;border-radius:999px;background:linear-gradient(135deg,#10a59a,#14b8a6);color:#fff;font-size:14px;font-weight:950;box-shadow:0 12px 24px rgba(20,184,166,.20);cursor:pointer}
.eh3-left .eh3-module:nth-of-type(1) .eh3-cta{background:linear-gradient(135deg,#0fa77d,#1ccf97);box-shadow:0 12px 24px rgba(16,185,129,.22)}
.eh3-left .eh3-module:nth-of-type(2) .eh3-cta{background:linear-gradient(135deg,#2d75ea,#4f93ff);box-shadow:0 12px 24px rgba(59,130,246,.22)}
.eh3-left .eh3-module:nth-of-type(3) .eh3-cta{background:linear-gradient(135deg,#8b45e6,#b066ff);box-shadow:0 12px 24px rgba(168,85,247,.22)}
.eh3-cta:after{content:"›";margin-left:10px;font-size:26px;line-height:.8}

.eh3-exam-list{grid-column:1/-1;display:none;grid-template-columns:1fr;gap:10px;padding-top:4px}
.eh3-module.open .eh3-exam-list{display:grid}
.eh3-exam{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;min-height:48px;padding:10px 12px;border-radius:14px;color:#1f3b4d;background:#f8fcff;border:1px solid rgba(188,214,230,.82);text-decoration:none}
.eh3-exam-name{min-width:0;font-size:14px;font-weight:850;line-height:1.34;overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.eh3-exam-progress{display:flex;align-items:center;gap:8px;min-width:94px;color:var(--module-color);font-size:13px;font-weight:950}
.eh3-exam-progress .eh3-linebar{width:54px;height:6px}

.eh3-progress{width:100%;box-sizing:border-box;padding:14px;border-radius:22px;background:linear-gradient(180deg, #ffffff 0%, #f8fbff 54%, #f7fbff 100%);border:1px solid rgba(179,211,231,.95);box-shadow:0 12px 28px rgba(17,52,71,.08)}
.eh3-card-title{margin:0 0 12px;color:#0f766e;font-size:15px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.7)}
.eh3-stat-line:nth-child(1) span{color:#138a5a}
.eh3-stat-line:nth-child(2) span{color:#2563eb}
.eh3-stat-line:nth-child(3) span{color:#8b45e6}
.eh3-progress-main{display:grid;width:100%;min-width:0;grid-template-columns:88px minmax(0,1fr);gap:12px;align-items:center}
.eh3-ring{width:82px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#14b8a6 calc(var(--pct,0)*1%),rgba(17,52,71,.08) 0);position:relative}
.eh3-ring:before{content:"";position:absolute;inset:13px;border-radius:50%;background:#fff}
.eh3-ring>span{position:relative;text-align:center}
.eh3-ring strong{display:block;color:#164e63;font-size:19px;font-weight:950;line-height:1}
.eh3-ring small{display:block;color:#66798b;font-size:11px;font-weight:850}
.eh3-lines{display:grid;min-width:0;gap:8px}
.eh3-stat-line{display:grid;grid-template-columns:20px 56px minmax(0,1fr) 48px;gap:6px;align-items:center;color:#243b53;font-size:11px;font-weight:850}
.eh3-stat-icon-img{width:20px;height:20px;object-fit:contain}
.eh3-stat-line strong{color:#516579;font-size:12px;text-align:right;white-space:nowrap}
.eh3-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.eh3-metric{display:flex;align-items:center;gap:8px;min-height:54px;padding:8px;border-radius:14px;border:1px solid rgba(188,214,230,.82);background:rgba(255,255,255,.92)}
.eh3-metric--fire{background:linear-gradient(180deg, #fff6ef, #fffaf6);border-color:#f6c5a6}
.eh3-metric--energy{background:linear-gradient(180deg, #eef7ff, #f8fbff);border-color:#b8d7f5}
.eh3-metric small{display:block;color:#66798b;font-size:11px;font-weight:850}
.eh3-metric b{display:block;margin-top:2px;color:#113447;font-size:14px;font-weight:950}

.eh3-challenge{
  position:relative;
  overflow:hidden;
  min-height:360px;
  padding:14px;
  border-radius:26px;
  color:#fff;
  background:
    radial-gradient(circle at 15% 15%, rgba(34,197,94,.16), rgba(34,197,94,0) 24%),
    radial-gradient(circle at 82% 18%, rgba(59,130,246,.16), rgba(59,130,246,0) 26%),
    linear-gradient(180deg, rgba(7,70,78,.22), rgba(4,55,66,.36)),
    url('../images/generated/challenge-bg-final-desktop.webp') center/cover no-repeat;
  border:1px solid rgba(113,223,214,.28);
  box-shadow:0 18px 42px rgba(17,52,71,.15)
}
.eh3-challenge:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,17,25,.06),rgba(0,0,0,.12));}
.eh3-challenge-inner{position:relative;z-index:1;display:grid;gap:12px;padding-bottom:80px}
.eh3-challenge h2{margin:0;color:#fde68a;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:clamp(20px,1.45vw,25px);font-weight:950;letter-spacing:.03em;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.eh3-reward:nth-child(1){background:rgba(255,224,130,.20);border-color:rgba(255,224,130,.34)}
.eh3-reward:nth-child(2){background:rgba(96,165,250,.18);border-color:rgba(96,165,250,.32)}
.eh3-reward:nth-child(3){background:rgba(192,132,252,.18);border-color:rgba(192,132,252,.32)}
.eh3-reward:nth-child(4){background:rgba(45,212,191,.18);border-color:rgba(45,212,191,.32)}
.eh3-challenge p{max-width:460px;margin:0 auto;color:rgba(255,255,255,.96);text-align:center;font-size:12px;line-height:1.35;font-weight:750}
.eh3-rewards{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.eh3-reward{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px;border-radius:14px;color:#fff;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:900;backdrop-filter:blur(8px)}
.eh3-challenge-art{display:none}
.eh3-challenge-mascot{position:absolute;right:6px;bottom:8px;z-index:2;pointer-events:none}
.eh3-challenge-mascot img{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(0,0,0,.18))}
.eh3-break{display:flex;align-items:center;justify-content:center;width:min(230px,100%);min-height:46px;margin:0 auto;border-radius:999px;color:#3b2304!important;background:linear-gradient(180deg,#fde68a,#fbbf24);box-shadow:0 8px 0 rgba(120,53,15,.42),0 14px 24px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.7);font-size:16px;font-weight:950;letter-spacing:.05em;text-decoration:none}
.eh3-break.disabled{pointer-events:none;filter:grayscale(.8);opacity:.72}

.eh3-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px 16px;border-radius:20px;background:linear-gradient(180deg, #ffffff, #f6fbff)}
.eh3-benefit{display:flex;gap:10px;align-items:center;min-width:0}
.eh3-benefit-i{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#edf7ff;color:#2563eb;font-size:20px;flex:0 0 auto}
.eh3-benefit b,.eh3-benefit span{display:block}
.eh3-benefit:nth-child(1){background:linear-gradient(180deg,#ffffff,#eefbf3);border-radius:16px;padding:10px}
.eh3-benefit:nth-child(1) .eh3-benefit-i{background:#ecfdf5;color:#10b981}
.eh3-benefit:nth-child(2){background:linear-gradient(180deg,#ffffff,#eef5ff);border-radius:16px;padding:10px}
.eh3-benefit:nth-child(2) .eh3-benefit-i{background:#eff6ff;color:#2563eb}
.eh3-benefit:nth-child(3){background:linear-gradient(180deg,#ffffff,#f8efff);border-radius:16px;padding:10px}
.eh3-benefit:nth-child(3) .eh3-benefit-i{background:#faf5ff;color:#8b5cf6}
.eh3-benefit b{font-size:13px}
.eh3-benefit span{color:#66798b;font-size:11px;font-weight:700}

/* gate */
.eh3-stage--gate{display:grid;place-items:center;min-height:420px}
.eh3-exam-box{max-width:920px;margin:0 auto;padding:clamp(18px,3vw,34px);border-radius:24px;background:rgba(255,255,255,.92);border:1px solid rgba(17,52,71,.10);box-shadow:0 18px 42px rgba(17,52,71,.12)}
.eh3-exam-box--gate{text-align:center}
.eh3-exam-box h1{margin:0 0 12px;color:#0f766e;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,4vw,50px);text-align:center}
.eh3-gate-icon{font-size:56px;line-height:1;margin-bottom:12px}
.eh3-gate-text{max-width:720px;margin:0 auto;color:#475569;font-size:16px;line-height:1.7}
.eh3-gate-actions{margin-top:22px}


@media(min-width:1181px){
  .eh3-levels{grid-template-columns:repeat(5,minmax(0,1fr));}
  .eh3-right{position:sticky;top:10px;}
}

@media(max-width:1180px){
  .jlpt180-eh-v3{padding:12px}
  .eh3-stage{padding:18px}
  .eh3-layout{grid-template-columns:1fr}
  .eh3-right{grid-template-columns:1fr 1fr;align-items:start}
  .eh3-challenge{min-height:400px}
}
@media(max-width:820px){
  .jlpt180-eh-v3{padding:0;max-width:100vw;overflow-x:hidden}
  .eh3-stage{
    width:100%;
    max-width:100%;
    min-height:100vh;
    padding:12px 12px 24px;
    border-radius:0;
    overflow-x:hidden;
    overflow-y:visible;
    background:
      linear-gradient(180deg, rgba(250,253,255,.16), rgba(244,250,253,.22)),
      url('../images/generated/stage-bg-mobile.webp') center top / cover no-repeat;
  }
  .eh3-top{grid-template-columns:1fr;gap:10px;width:100%;margin-bottom:10px}
  .eh3-user{width:100%;padding:10px 12px;border-radius:18px}
  .eh3-avatar{width:52px;height:52px}
  .eh3-user-name{font-size:15px}
  .eh3-xp{gap:8px;font-size:12px}
  .eh3-bar{width:88px}
  .eh3-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;justify-self:stretch;width:100%}
  .eh3-pill{min-width:0;width:100%;padding:10px 12px;min-height:54px}
  .eh3-pill-icon{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px}
  .eh3-pill-icon img{width:20px;height:20px}
  .eh3-pill small{font-size:11px}
  .eh3-pill b{font-size:16px}
  .eh3-plus{width:28px;height:28px;font-size:18px}
  .eh3-title{margin:4px 0 14px}
  .eh3-title-mark{font-size:20px;margin-bottom:6px}
  .eh3-title-row{gap:8px}
  .eh3-title-ornament{width:24px;height:24px}
  .eh3-title h1{font-size:clamp(28px,8vw,38px);padding:0;letter-spacing:.03em}
  .eh3-levels{display:grid;grid-auto-flow:column;grid-auto-columns:94px;gap:8px;overflow-x:auto;overflow-y:hidden;grid-template-columns:none;padding:2px 0 10px;margin:0 0 16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .eh3-levels::-webkit-scrollbar{display:none}
  .eh3-level{scroll-snap-align:start;min-height:112px;padding:10px 8px;border-radius:18px}
  .eh3-level-icon-img{width:46px;height:46px;margin-bottom:6px}
  .eh3-level-name{font-size:13px}
  .eh3-level strong{font-size:13px}
  .eh3-level span{font-size:10px}
  .eh3-tab.active{display:block}
  .eh3-layout{display:flex;flex-direction:column;gap:12px;width:100%}
  .eh3-right{display:flex;flex-direction:column;width:100%;gap:12px}
  .eh3-left,.eh3-right{gap:12px}
  .eh3-progress{order:1;width:100%;max-width:none;padding:14px;border-radius:20px}
  .eh3-left{order:2}
  .eh3-challenge{order:3}
  .eh3-section-title{font-size:13px}
  .eh3-progress-main{grid-template-columns:70px minmax(0,1fr);gap:10px}
  .eh3-ring{width:66px}
  .eh3-ring:before{inset:10px}
  .eh3-ring strong{font-size:19px}
  .eh3-ring small{font-size:9px}
  .eh3-lines{gap:8px}
  .eh3-stat-line{grid-template-columns:18px 48px minmax(0,1fr) 58px;gap:6px;font-size:10px}
  .eh3-stat-icon-img{width:18px;height:18px}
  .eh3-stat-line strong{font-size:10px}
  .eh3-metrics{gap:8px;margin-top:12px}
  .eh3-metric{padding:8px;min-height:56px}
  .eh3-metric small{font-size:10px}
  .eh3-metric b{font-size:13px}
  .eh3-module{grid-template-columns:60px minmax(0,1fr) 42px;gap:10px;min-height:120px;padding:12px;border-radius:18px}
  .eh3-module-icon{width:54px;height:54px}
  .eh3-module-icon-img{width:54px;height:54px}
  .eh3-flame{width:22px;height:22px;font-size:11px}
  .eh3-module h3{font-size:15px;margin-bottom:4px}
  .eh3-module p{font-size:10px;line-height:1.35;margin-bottom:6px}
  .eh3-module-progress{grid-template-columns:1fr;gap:4px;font-size:9px}
  .eh3-linebar{height:7px}
  .eh3-cta{min-width:42px;width:42px;height:42px;padding:0;font-size:0}
  .eh3-cta:after{margin:0;font-size:26px}
  .eh3-exam-list{max-height:none;overflow:visible}
  .eh3-exam{min-height:46px;padding:10px 12px;border-radius:14px}
  .eh3-exam-name{font-size:12px}
  .eh3-exam-progress{min-width:74px;font-size:11px}
  .eh3-exam-progress .eh3-linebar{width:40px}
  .eh3-challenge{
    min-height:360px;
    padding:14px;
    border-radius:22px;
    background:
      radial-gradient(circle at 20% 18%, rgba(34,197,94,.18), rgba(34,197,94,0) 24%),
      radial-gradient(circle at 82% 18%, rgba(59,130,246,.16), rgba(59,130,246,0) 24%),
      linear-gradient(180deg, rgba(7,70,78,.22), rgba(4,55,66,.38)),
      url('../images/generated/challenge-bg-final-mobile.webp') center/cover no-repeat;
  }
  .eh3-challenge h2{font-size:22px}
  .eh3-challenge p{font-size:12px}
  .eh3-rewards{gap:8px}
  .eh3-reward{min-height:38px;font-size:10px}
  .eh3-challenge-art{display:none}
  .eh3-challenge-mascot{right:6px;bottom:6px}
  .eh3-challenge-mascot img{width:68px;height:68px}
  .eh3-break{width:min(230px,100%);min-height:46px;font-size:16px}
  .eh3-benefits{display:none}
}
@media(max-width:430px){
  .eh3-stage{padding:10px 10px 24px}
  .eh3-user{padding:10px}
  .eh3-avatar{width:48px;height:48px}
  .eh3-badge{padding:3px 7px;font-size:10px}
  .eh3-user-name{font-size:14px}
  .eh3-xp{font-size:11px}
  .eh3-bar{width:74px}
  .eh3-pill{padding:10px}
  .eh3-pill b{font-size:15px}
  .eh3-title-row{gap:6px}
  .eh3-title-ornament{width:20px;height:20px}
  .eh3-title h1{font-size:26px;padding:0}
  .eh3-levels{grid-auto-columns:88px}
  .eh3-level{min-height:106px;padding:10px 6px}
  .eh3-level-icon-img{width:42px;height:42px}
  .eh3-level-name,.eh3-level strong{font-size:12px}
  .eh3-level span{font-size:10px}
  .eh3-progress{padding:12px}
  .eh3-progress-main{grid-template-columns:62px minmax(0,1fr)}
  .eh3-ring{width:58px}
  .eh3-ring strong{font-size:18px}
  .eh3-stat-line{grid-template-columns:16px 42px minmax(0,1fr) 52px;font-size:9px}
  .eh3-stat-icon-img{width:16px;height:16px}
  .eh3-metrics{grid-template-columns:1fr 1fr;gap:6px}
  .eh3-metric small{font-size:9px}
  .eh3-metric b{font-size:12px}
  .eh3-module{grid-template-columns:56px minmax(0,1fr) 40px;gap:8px;padding:11px 10px}
  .eh3-module-icon{width:50px;height:50px}
  .eh3-module-icon-img{width:50px;height:50px}
  .eh3-module h3{font-size:14px}
  .eh3-module p{font-size:10px}
  .eh3-module-progress{font-size:9px}
  .eh3-cta{min-width:40px;width:40px;height:40px}
  .eh3-challenge{min-height:340px;padding:12px}
  .eh3-challenge-inner{padding-bottom:74px}
  .eh3-challenge h2{font-size:20px}
  .eh3-reward{font-size:9px;padding:5px}
  .eh3-break{min-height:44px;font-size:15px}
}


/* FORCE FIX V7.1.0 - visible marker + compact scale */
.jlpt180-eh-v3::before{
  content:"V7.1";
  position:fixed;
  right:8px;
  bottom:8px;
  z-index:999999;
  background:#0f766e;
  color:#fff;
  font:700 11px/1 system-ui;
  padding:4px 6px;
  border-radius:999px;
  opacity:.82;
  pointer-events:none;
}

@media (min-width: 821px){
  .jlpt180-eh-v3{
    max-width:none!important;
    padding:10px!important;
    transform:none!important;
    transform-origin:top center;
    margin-bottom:0!important;
  }
  .jlpt180-eh-v3 .eh3-stage{
    min-height:560px!important;
    padding:14px!important;
    border-radius:22px!important;
  }
  .jlpt180-eh-v3 .eh3-top{margin-bottom:8px!important}
  .jlpt180-eh-v3 .eh3-user{padding:8px 10px!important}
  .jlpt180-eh-v3 .eh3-avatar{width:44px!important;height:44px!important}
  .jlpt180-eh-v3 .eh3-pill{min-height:46px!important;min-width:124px!important;padding:8px 10px!important}
  .jlpt180-eh-v3 .eh3-pill b{font-size:15px!important}
  .jlpt180-eh-v3 .eh3-title{margin:0 0 10px!important}
  .jlpt180-eh-v3 .eh3-title h1{font-size:34px!important;letter-spacing:.045em!important}
  .jlpt180-eh-v3 .eh3-title-mark{font-size:18px!important;margin-bottom:4px!important}
  .jlpt180-eh-v3 .eh3-title-ornament{width:26px!important;height:26px!important}
  .jlpt180-eh-v3 .eh3-levels{gap:10px!important;margin-bottom:10px!important}
  .jlpt180-eh-v3 .eh3-level{min-height:96px!important;padding:8px 6px!important;border-radius:16px!important}
  .jlpt180-eh-v3 .eh3-level-icon-img{width:38px!important;height:38px!important;margin-bottom:4px!important}
  .jlpt180-eh-v3 .eh3-level-name{font-size:12px!important}
  .jlpt180-eh-v3 .eh3-level strong{font-size:12px!important}
  .jlpt180-eh-v3 .eh3-level span{font-size:10px!important}
  .jlpt180-eh-v3 .eh3-layout{grid-template-columns:minmax(0,1.22fr) minmax(360px,.98fr)!important;gap:10px!important}
  .jlpt180-eh-v3 .eh3-left,.jlpt180-eh-v3 .eh3-right{gap:10px!important}
  .jlpt180-eh-v3 .eh3-section-title{font-size:13px!important}
  .jlpt180-eh-v3 .eh3-module{grid-template-columns:58px minmax(0,1fr) 92px!important;min-height:108px!important;padding:10px!important;border-radius:16px!important;gap:10px!important}
  .jlpt180-eh-v3 .eh3-module-icon{width:52px!important;height:52px!important}
  .jlpt180-eh-v3 .eh3-module-icon-img{width:52px!important;height:52px!important}
  .jlpt180-eh-v3 .eh3-flame{width:22px!important;height:22px!important;font-size:12px!important}
  .jlpt180-eh-v3 .eh3-module h3{font-size:17px!important;max-width:none!important;margin-bottom:4px!important}
  .jlpt180-eh-v3 .eh3-module p{font-size:11px!important;margin-bottom:5px!important;line-height:1.25!important}
  .jlpt180-eh-v3 .eh3-module-progress{font-size:10px!important;grid-template-columns:42px minmax(80px,130px) auto!important;gap:6px!important}
  .jlpt180-eh-v3 .eh3-cta{min-width:86px!important;min-height:36px!important;font-size:12px!important;padding:0 12px!important}
  .jlpt180-eh-v3 .eh3-progress{padding:10px!important;border-radius:16px!important}
  .jlpt180-eh-v3 .eh3-card-title{font-size:13px!important;margin-bottom:8px!important}
  .jlpt180-eh-v3 .eh3-progress-main{grid-template-columns:70px minmax(0,1fr)!important;gap:8px!important}
  .jlpt180-eh-v3 .eh3-ring{width:62px!important}
  .jlpt180-eh-v3 .eh3-ring strong{font-size:17px!important}
  .jlpt180-eh-v3 .eh3-ring small{font-size:8px!important}
  .jlpt180-eh-v3 .eh3-stat-line{grid-template-columns:18px 52px minmax(0,1fr) 64px!important;font-size:10px!important;gap:6px!important}
  .jlpt180-eh-v3 .eh3-stat-icon-img{width:16px!important;height:16px!important}
  .jlpt180-eh-v3 .eh3-metrics{margin-top:8px!important;gap:6px!important}
  .jlpt180-eh-v3 .eh3-metric{min-height:46px!important;padding:6px!important}
  .jlpt180-eh-v3 .eh3-metric small{font-size:8px!important}
  .jlpt180-eh-v3 .eh3-metric b{font-size:11px!important}
  .jlpt180-eh-v3 .eh3-challenge{min-height:300px!important;padding:10px!important;border-radius:18px!important}
  .jlpt180-eh-v3 .eh3-challenge-inner{gap:8px!important;padding-bottom:56px!important}
  .jlpt180-eh-v3 .eh3-challenge h2{font-size:18px!important}
  .jlpt180-eh-v3 .eh3-challenge p{font-size:10px!important}
  .jlpt180-eh-v3 .eh3-rewards{gap:6px!important}
  .jlpt180-eh-v3 .eh3-reward{font-size:9px!important;min-height:30px!important;padding:5px!important}
  .jlpt180-eh-v3 .eh3-challenge-mascot img{width:54px!important;height:54px!important}
  .jlpt180-eh-v3 .eh3-break{min-height:38px!important;font-size:14px!important;width:min(200px,100%)!important}
}

@media (max-width: 820px){
  .jlpt180-eh-v3::before{content:"V7.1m";}
  .jlpt180-eh-v3{transform:none!important;max-width:100vw!important;}
}


/* V7.2.0 NEON BORDER POLISH */
.jlpt180-eh-v3::before{display:none!important}

.jlpt180-eh-v3{
  --neon-cyan: rgba(64, 214, 255, .88);
  --neon-green: rgba(50, 255, 166, .82);
  --neon-blue: rgba(76, 141, 255, .84);
  --neon-gold: rgba(255, 201, 64, .82);
  --neon-orange: rgba(255, 128, 78, .80);
  --neon-purple: rgba(190, 96, 255, .84);
}

.eh3-stage{
  border-color:rgba(85,220,255,.34)!important;
  box-shadow:
    0 0 0 1px rgba(106,226,255,.30),
    0 0 18px rgba(70,190,255,.18),
    0 0 42px rgba(96,110,255,.12),
    0 26px 58px rgba(17,52,71,.14)!important;
}
.eh3-stage:after{
  content:"";
  position:absolute;
  inset:10px;
  pointer-events:none;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 0 24px rgba(80,214,255,.08);
}

.eh3-user,.eh3-pill,.eh3-progress,.eh3-module,.eh3-benefits,.eh3-level,.eh3-challenge,.eh3-metric{
  position:relative;
  border-width:1px!important;
}
.eh3-user::after,.eh3-pill::after,.eh3-progress::after,.eh3-module::after,.eh3-benefits::after,.eh3-level::after,.eh3-challenge::after,.eh3-metric::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);
}

.eh3-user{
  border-color:rgba(43,245,187,.48)!important;
  box-shadow:0 0 0 1px rgba(43,245,187,.18),0 0 16px rgba(43,245,187,.16),0 12px 28px rgba(17,52,71,.08)!important;
}
.eh3-stats .eh3-pill:first-child{
  border-color:rgba(97,230,155,.44)!important;
  box-shadow:0 0 0 1px rgba(97,230,155,.16),0 0 14px rgba(97,230,155,.13),0 10px 22px rgba(17,52,71,.06)!important;
}
.eh3-stats .eh3-pill:last-child{
  border-color:rgba(88,182,255,.46)!important;
  box-shadow:0 0 0 1px rgba(88,182,255,.16),0 0 14px rgba(88,182,255,.13),0 10px 22px rgba(17,52,71,.06)!important;
}
.eh3-plus{box-shadow:0 0 10px rgba(94,252,211,.45), inset 0 0 0 1px rgba(255,255,255,.45)}

.eh3-title h1{
  text-shadow:0 1px 0 rgba(255,255,255,.95),0 0 10px rgba(112,204,255,.20),0 4px 16px rgba(243,203,98,.22)!important;
}
.eh3-title-ornament{filter:drop-shadow(0 0 8px rgba(243,203,98,.35))!important}
.eh3-title-mark{filter:drop-shadow(0 0 8px rgba(255,90,90,.28))}

.eh3-level:nth-child(1){border-color:rgba(44,220,114,.52)!important; box-shadow:0 0 0 1px rgba(44,220,114,.14),0 0 18px rgba(44,220,114,.14),0 10px 22px rgba(34,197,94,.08)!important}
.eh3-level:nth-child(2){border-color:rgba(72,152,255,.54)!important; box-shadow:0 0 0 1px rgba(72,152,255,.14),0 0 18px rgba(72,152,255,.14),0 10px 22px rgba(59,130,246,.08)!important}
.eh3-level:nth-child(3){border-color:rgba(255,198,70,.55)!important; box-shadow:0 0 0 1px rgba(255,198,70,.16),0 0 18px rgba(255,198,70,.14),0 10px 22px rgba(245,158,11,.08)!important}
.eh3-level:nth-child(4){border-color:rgba(255,132,88,.54)!important; box-shadow:0 0 0 1px rgba(255,132,88,.16),0 0 18px rgba(255,132,88,.14),0 10px 22px rgba(249,115,22,.08)!important}
.eh3-level:nth-child(5){border-color:rgba(196,108,255,.54)!important; box-shadow:0 0 0 1px rgba(196,108,255,.16),0 0 18px rgba(196,108,255,.14),0 10px 22px rgba(168,85,247,.08)!important}
.eh3-level.active{box-shadow:0 0 0 1px color-mix(in srgb, var(--level-color, #14b8a6) 40%, white),0 0 22px color-mix(in srgb, var(--level-color, #14b8a6) 25%, transparent),0 16px 34px rgba(20,184,166,.18)!important}

.eh3-left .eh3-module:nth-of-type(1){border-color:rgba(44,220,114,.48)!important; box-shadow:0 0 0 1px rgba(44,220,114,.13),0 0 16px rgba(44,220,114,.12),0 12px 26px rgba(17,52,71,.08)!important}
.eh3-left .eh3-module:nth-of-type(2){border-color:rgba(72,152,255,.50)!important; box-shadow:0 0 0 1px rgba(72,152,255,.14),0 0 16px rgba(72,152,255,.12),0 12px 26px rgba(17,52,71,.08)!important}
.eh3-left .eh3-module:nth-of-type(3){border-color:rgba(196,108,255,.50)!important; box-shadow:0 0 0 1px rgba(196,108,255,.14),0 0 16px rgba(196,108,255,.12),0 12px 26px rgba(17,52,71,.08)!important}
.eh3-left .eh3-module:nth-of-type(1) h3{color:#16a981!important;text-shadow:0 0 8px rgba(44,220,114,.10)}
.eh3-left .eh3-module:nth-of-type(2) h3{color:#2c73ef!important;text-shadow:0 0 8px rgba(72,152,255,.10)}
.eh3-left .eh3-module:nth-of-type(3) h3{color:#904de0!important;text-shadow:0 0 8px rgba(196,108,255,.10)}

.eh3-progress{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  border-color:rgba(84,201,255,.42)!important;
  box-shadow:0 0 0 1px rgba(84,201,255,.14),0 0 16px rgba(84,201,255,.10),0 12px 26px rgba(17,52,71,.08)!important;
}
.eh3-metric:first-child{border-color:rgba(255,177,118,.50)!important;box-shadow:0 0 0 1px rgba(255,177,118,.12),0 0 14px rgba(255,177,118,.09)!important}
.eh3-metric:last-child{border-color:rgba(128,196,255,.52)!important;box-shadow:0 0 0 1px rgba(128,196,255,.12),0 0 14px rgba(128,196,255,.09)!important}

.eh3-challenge{
  border:1px solid rgba(64,214,255,.36)!important;
  box-shadow:0 0 0 1px rgba(118,248,255,.16),0 0 18px rgba(64,214,255,.14),0 14px 32px rgba(7,29,45,.16)!important;
}
.eh3-reward:nth-child(1){border:1px solid rgba(166,242,111,.26); box-shadow:0 0 12px rgba(166,242,111,.10)}
.eh3-reward:nth-child(2){border:1px solid rgba(92,169,255,.26); box-shadow:0 0 12px rgba(92,169,255,.10)}
.eh3-reward:nth-child(3){border:1px solid rgba(157,128,255,.26); box-shadow:0 0 12px rgba(157,128,255,.10)}
.eh3-reward:nth-child(4){border:1px solid rgba(91,255,226,.26); box-shadow:0 0 12px rgba(91,255,226,.10)}
.eh3-break{
  box-shadow:0 0 0 1px rgba(255,217,88,.30),0 0 18px rgba(255,197,57,.24),0 14px 28px rgba(170,113,8,.20)!important;
}
.eh3-challenge-mascot, .eh3-challenge-mascot img{background:transparent!important;box-shadow:none!important}
.eh3-challenge-mascot img{filter:drop-shadow(0 0 12px rgba(120,255,232,.24)) drop-shadow(0 10px 16px rgba(0,0,0,.16))!important}

.eh3-cta{box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 16px rgba(20,184,166,.18),0 12px 24px rgba(20,184,166,.22)!important}
.eh3-left .eh3-module:nth-of-type(1) .eh3-cta{box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 16px rgba(16,185,129,.20),0 12px 24px rgba(16,185,129,.24)!important}
.eh3-left .eh3-module:nth-of-type(2) .eh3-cta{box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 16px rgba(59,130,246,.20),0 12px 24px rgba(59,130,246,.24)!important}
.eh3-left .eh3-module:nth-of-type(3) .eh3-cta{box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 16px rgba(168,85,247,.20),0 12px 24px rgba(168,85,247,.24)!important}

.eh3-section-title{text-shadow:0 0 8px rgba(64,214,255,.08)}
.eh3-section-title:before,.eh3-section-title:after{height:2px!important;opacity:.9}

@media (max-width: 820px){
  .eh3-stage{box-shadow:0 0 0 1px rgba(86,220,255,.28),0 0 14px rgba(86,220,255,.12),0 20px 42px rgba(17,52,71,.11)!important}
  .eh3-user,.eh3-pill,.eh3-progress,.eh3-module,.eh3-benefits,.eh3-level,.eh3-challenge,.eh3-metric{box-shadow:0 0 0 1px rgba(255,255,255,.18),0 0 10px rgba(64,214,255,.08),0 8px 20px rgba(17,52,71,.08)!important}
}


/* V7.5.0 STRONGER COLOR + WEBP */
.jlpt180-eh-v3{
  --jade:#10b981;
  --blue:#2563eb;
  --purple:#a855f7;
  --gold:#f59e0b;
  --orange:#f97316;
}
.eh3-stage{
  background:
    radial-gradient(circle at 10% 10%, rgba(16,185,129,.22), rgba(16,185,129,0) 22%),
    radial-gradient(circle at 88% 12%, rgba(37,99,235,.20), rgba(37,99,235,0) 24%),
    radial-gradient(circle at 52% 86%, rgba(168,85,247,.18), rgba(168,85,247,0) 28%),
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(244,250,255,.36)),
    url('../images/generated/stage-bg-desktop.webp') center top / 100% 100% no-repeat!important;
  border-color:rgba(60,220,255,.45)!important;
  box-shadow:
    0 0 0 1px rgba(75,226,255,.34),
    0 0 20px rgba(75,226,255,.20),
    0 0 56px rgba(37,99,235,.14),
    0 20px 50px rgba(17,52,71,.12)!important;
}
.eh3-user,.eh3-pill,.eh3-progress,.eh3-module,.eh3-benefits,.eh3-level,.eh3-challenge,.eh3-metric{
  box-shadow:0 10px 24px rgba(17,52,71,.08), 0 0 0 1px rgba(255,255,255,.28) inset!important;
}
.eh3-user{
  background:linear-gradient(135deg,#ffffff 0%,#dffbf0 60%,#cdfaed 100%)!important;
  border-color:#57d7af!important;
  box-shadow:0 0 0 1px rgba(16,185,129,.24),0 0 18px rgba(16,185,129,.16),0 10px 24px rgba(17,52,71,.08)!important;
}
.eh3-stats .eh3-pill:first-child{
  background:linear-gradient(135deg,#fffef9 0%,#eefdeb 100%)!important;
  border-color:#6fd88c!important;
  box-shadow:0 0 0 1px rgba(34,197,94,.22),0 0 16px rgba(34,197,94,.14),0 8px 18px rgba(17,52,71,.06)!important;
}
.eh3-stats .eh3-pill:last-child{
  background:linear-gradient(135deg,#fbfdff 0%,#e8f1ff 100%)!important;
  border-color:#7ab6ff!important;
  box-shadow:0 0 0 1px rgba(37,99,235,.22),0 0 16px rgba(37,99,235,.14),0 8px 18px rgba(17,52,71,.06)!important;
}
.eh3-plus{background:#c9fbef!important;color:#047857!important;box-shadow:0 0 0 1px rgba(16,185,129,.18),0 0 12px rgba(16,185,129,.18)!important}
.eh3-title h1{color:#0b5965!important;text-shadow:0 2px 0 rgba(255,255,255,.92),0 0 14px rgba(80,200,255,.24),0 4px 20px rgba(245,158,11,.24)!important}

.eh3-level:nth-child(1){background:linear-gradient(180deg,#ffffff 0%,#dcfce7 100%)!important;border-color:#4ade80!important;box-shadow:0 0 0 1px rgba(34,197,94,.22),0 0 22px rgba(34,197,94,.18),0 10px 22px rgba(34,197,94,.10)!important}
.eh3-level:nth-child(1) .eh3-level-name,.eh3-level:nth-child(1) strong{color:#15803d!important}
.eh3-level:nth-child(2){background:linear-gradient(180deg,#ffffff 0%,#dbeafe 100%)!important;border-color:#60a5fa!important;box-shadow:0 0 0 1px rgba(59,130,246,.22),0 0 22px rgba(59,130,246,.18),0 10px 22px rgba(59,130,246,.10)!important}
.eh3-level:nth-child(2) .eh3-level-name,.eh3-level:nth-child(2) strong{color:#1d4ed8!important}
.eh3-level:nth-child(3){background:linear-gradient(180deg,#ffffff 0%,#fef3c7 100%)!important;border-color:#fbbf24!important;box-shadow:0 0 0 1px rgba(245,158,11,.24),0 0 22px rgba(245,158,11,.18),0 10px 22px rgba(245,158,11,.10)!important}
.eh3-level:nth-child(3) .eh3-level-name,.eh3-level:nth-child(3) strong{color:#b45309!important}
.eh3-level:nth-child(4){background:linear-gradient(180deg,#ffffff 0%,#ffedd5 100%)!important;border-color:#fb923c!important;box-shadow:0 0 0 1px rgba(249,115,22,.24),0 0 22px rgba(249,115,22,.18),0 10px 22px rgba(249,115,22,.10)!important}
.eh3-level:nth-child(4) .eh3-level-name,.eh3-level:nth-child(4) strong{color:#c2410c!important}
.eh3-level:nth-child(5){background:linear-gradient(180deg,#ffffff 0%,#f3e8ff 100%)!important;border-color:#c084fc!important;box-shadow:0 0 0 1px rgba(168,85,247,.24),0 0 22px rgba(168,85,247,.18),0 10px 22px rgba(168,85,247,.10)!important}
.eh3-level:nth-child(5) .eh3-level-name,.eh3-level:nth-child(5) strong{color:#7e22ce!important}
.eh3-level.active{box-shadow:0 0 0 2px color-mix(in srgb, var(--level-color) 62%, white),0 0 26px color-mix(in srgb, var(--level-color) 26%, transparent),0 14px 30px rgba(17,52,71,.12)!important}

.eh3-left .eh3-module:nth-of-type(1){background:linear-gradient(135deg,#ffffff 0%,#e7fff1 100%)!important;border-color:#4ade80!important;box-shadow:0 0 0 1px rgba(34,197,94,.22),0 0 18px rgba(34,197,94,.14),0 14px 30px rgba(34,197,94,.10)!important}
.eh3-left .eh3-module:nth-of-type(1){border-left:6px solid #16a34a!important}
.eh3-left .eh3-module:nth-of-type(2){background:linear-gradient(135deg,#ffffff 0%,#e9f1ff 100%)!important;border-color:#60a5fa!important;box-shadow:0 0 0 1px rgba(59,130,246,.22),0 0 18px rgba(59,130,246,.14),0 14px 30px rgba(59,130,246,.10)!important}
.eh3-left .eh3-module:nth-of-type(2){border-left:6px solid #2563eb!important}
.eh3-left .eh3-module:nth-of-type(3){background:linear-gradient(135deg,#ffffff 0%,#f6ebff 100%)!important;border-color:#c084fc!important;box-shadow:0 0 0 1px rgba(168,85,247,.22),0 0 18px rgba(168,85,247,.14),0 14px 30px rgba(168,85,247,.10)!important}
.eh3-left .eh3-module:nth-of-type(3){border-left:6px solid #9333ea!important}
.eh3-left .eh3-module:nth-of-type(1) h3{color:#10b981!important}
.eh3-left .eh3-module:nth-of-type(2) h3{color:#2563eb!important}
.eh3-left .eh3-module:nth-of-type(3) h3{color:#9333ea!important}

.eh3-left .eh3-module:nth-of-type(1) .eh3-cta{background:linear-gradient(135deg,#059669,#22c55e)!important;box-shadow:0 0 0 1px rgba(255,255,255,.24),0 0 18px rgba(34,197,94,.26),0 12px 24px rgba(16,185,129,.24)!important}
.eh3-left .eh3-module:nth-of-type(2) .eh3-cta{background:linear-gradient(135deg,#2563eb,#60a5fa)!important;box-shadow:0 0 0 1px rgba(255,255,255,.24),0 0 18px rgba(37,99,235,.26),0 12px 24px rgba(37,99,235,.24)!important}
.eh3-left .eh3-module:nth-of-type(3) .eh3-cta{background:linear-gradient(135deg,#9333ea,#c084fc)!important;box-shadow:0 0 0 1px rgba(255,255,255,.24),0 0 18px rgba(168,85,247,.26),0 12px 24px rgba(168,85,247,.24)!important}

.eh3-progress{background:linear-gradient(180deg,#ffffff 0%,#eef8ff 100%)!important;border-color:#7dd3fc!important;box-shadow:0 0 0 1px rgba(56,189,248,.18),0 0 18px rgba(56,189,248,.12),0 12px 28px rgba(17,52,71,.08)!important}
.eh3-card-title{color:#0f766e!important;text-shadow:0 0 8px rgba(16,185,129,.10)!important}
.eh3-ring{background:conic-gradient(#10b981 calc(var(--pct,0)*1%), rgba(17,52,71,.08) 0)!important}
.eh3-metric--fire{background:linear-gradient(180deg,#fff6ef,#fff0e4)!important;border-color:#fdba74!important;box-shadow:0 0 0 1px rgba(249,115,22,.16),0 0 12px rgba(249,115,22,.08)!important}
.eh3-metric--energy{background:linear-gradient(180deg,#eef7ff,#e8f2ff)!important;border-color:#93c5fd!important;box-shadow:0 0 0 1px rgba(37,99,235,.16),0 0 12px rgba(37,99,235,.08)!important}

.eh3-challenge{
  background:
    radial-gradient(circle at 15% 15%, rgba(34,197,94,.22), rgba(34,197,94,0) 24%),
    radial-gradient(circle at 82% 18%, rgba(59,130,246,.22), rgba(59,130,246,0) 26%),
    linear-gradient(180deg, rgba(7,70,78,.18), rgba(4,55,66,.28)),
    url('../images/generated/challenge-bg-final-desktop.webp') center/cover no-repeat!important;
  border-color:rgba(80,250,230,.38)!important;
  box-shadow:0 0 0 1px rgba(80,250,230,.20),0 0 20px rgba(80,250,230,.14),0 18px 42px rgba(17,52,71,.15)!important;
}
.eh3-challenge h2{color:#fde68a!important;text-shadow:0 2px 14px rgba(0,0,0,.35),0 0 16px rgba(245,158,11,.18)!important}
.eh3-reward:nth-child(1){background:rgba(255,224,130,.26)!important;border-color:rgba(255,224,130,.42)!important}
.eh3-reward:nth-child(2){background:rgba(96,165,250,.24)!important;border-color:rgba(96,165,250,.40)!important}
.eh3-reward:nth-child(3){background:rgba(192,132,252,.22)!important;border-color:rgba(192,132,252,.38)!important}
.eh3-reward:nth-child(4){background:rgba(45,212,191,.22)!important;border-color:rgba(45,212,191,.38)!important}
.eh3-break{box-shadow:0 8px 0 rgba(120,53,15,.42),0 0 18px rgba(251,191,36,.24),0 14px 24px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.7)!important}

@media(max-width:820px){
  .eh3-stage{
    background:
      linear-gradient(180deg, rgba(250,253,255,.14), rgba(244,250,253,.22)),
      url('../images/generated/stage-bg-mobile.webp') center top / cover no-repeat!important;
  }
  .eh3-challenge{
    background:
      radial-gradient(circle at 20% 18%, rgba(34,197,94,.20), rgba(34,197,94,0) 24%),
      radial-gradient(circle at 82% 18%, rgba(59,130,246,.18), rgba(59,130,246,0) 24%),
      linear-gradient(180deg, rgba(7,70,78,.20), rgba(4,55,66,.32)),
      url('../images/generated/challenge-bg-final-mobile.webp') center/cover no-repeat!important;
  }
}


/* V7.7.0 CHARACTER USER INFO FIX */
.eh3-plus{display:none!important}
.eh3-avatar--character{
  position:relative!important;
  overflow:visible!important;
  background:radial-gradient(circle,#dff9f4 0%,#9fe8db 58%,#4fb8a7 100%)!important;
}
.eh3-avatar--character .eh3-char-layer{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  border-radius:0!important;
}
.eh3-avatar--character .eh3-char-layer-base{
  transform:scale(1.14);
}
.eh3-user .eh3-badge{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.eh3-pill,.eh3-metric{
  grid-template-columns:auto 1fr!important;
}
.eh3-pill:has(.eh3-plus),.eh3-metric:has(.eh3-plus){
  padding-right:12px!important;
}
.eh3-stats .eh3-pill:last-child .eh3-pill-icon img,
.eh3-metric--energy .eh3-pill-icon img{
  filter:drop-shadow(0 0 8px rgba(59,130,246,.35));
}


/* 7.7.3 frame fit: keep practice hall full-width and expanded exam titles visible. */
.jlpt180-eh-v3 .eh3-module.open{overflow:visible!important}
.jlpt180-eh-v3 .eh3-module.open .eh3-exam-list{overflow:visible!important}
.jlpt180-eh-v3 .eh3-exam-name{
  overflow:visible!important;
  display:block!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
  white-space:normal!important;
}

/* 7.8.5 single-scroll exam room skin. Old room CSS intentionally removed. */
.exam-wrap.jlpt180-eh-room-skin{
  --eh-room-ink:#102033;
  --eh-room-muted:#66758a;
  --eh-room-line:rgba(30,95,130,.16);
  --eh-room-line-strong:rgba(30,95,130,.24);
  --eh-room-teal:#0f766e;
  --eh-room-green:#16a34a;
  --eh-room-red:#dc2626;
  --eh-room-gold:#f2be58;
  width:100vw!important;
  max-width:100vw!important;
  min-height:100dvh!important;
  height:auto!important;
  max-height:none!important;
  margin:0 calc(50% - 50vw)!important;
  padding:12px!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  position:relative!important;
  color:var(--eh-room-ink)!important;
  font-family:Inter,"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif!important;
  background:
    radial-gradient(circle at 8% 14%,rgba(56,189,248,.22),transparent 30%),
    radial-gradient(circle at 96% 18%,rgba(34,197,94,.13),transparent 28%),
    linear-gradient(180deg,#f7fcff,#eaf7ff 52%,#dff2ff)!important;
}
.exam-wrap.jlpt180-eh-room-skin,
.exam-wrap.jlpt180-eh-room-skin *{box-sizing:border-box!important;min-width:0}
.exam-wrap.jlpt180-eh-room-skin .exam-header{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  padding:12px!important;
  border:1px solid var(--eh-room-line)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 12px 30px rgba(30,64,95,.10)!important;
  backdrop-filter:blur(16px)!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-title{
  margin:0!important;
  color:#0f1f38!important;
  font-size:clamp(18px,1.35vw,23px)!important;
  line-height:1.18!important;
  font-weight:950!important;
  letter-spacing:0!important;
  text-transform:none!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:unset!important;
}
.exam-wrap.jlpt180-eh-room-skin .header-controls{display:flex!important;gap:8px!important;align-items:center!important;justify-content:flex-end!important;white-space:nowrap!important}
.exam-wrap.jlpt180-eh-room-skin .btn-exit,
.exam-wrap.jlpt180-eh-room-skin .btn-minimap,
.exam-wrap.jlpt180-eh-room-skin .exam-timer{
  min-height:42px!important;
  border:1px solid var(--eh-room-line)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.9)!important;
  box-shadow:0 8px 20px rgba(30,64,95,.06)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#075985!important;
  font-weight:900!important;
}
.exam-wrap.jlpt180-eh-room-skin .btn-exit{width:42px!important;padding:0!important;color:var(--eh-room-teal)!important;font-size:24px!important;line-height:1!important}
.exam-wrap.jlpt180-eh-room-skin .btn-minimap{padding:0 14px!important;font-size:13px!important;text-transform:uppercase!important}
.exam-wrap.jlpt180-eh-room-skin .exam-timer{padding:0 14px!important;color:var(--eh-room-green)!important;background:rgba(236,253,245,.94)!important;border-color:rgba(22,163,74,.32)!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:16px!important}
.exam-wrap.jlpt180-eh-room-skin .timer-warning{color:var(--eh-room-red)!important;background:#fee2e2!important;border-color:#fecaca!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress{
  display:grid!important;
  grid-template-columns:auto minmax(120px,1fr) auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:10px 0 14px!important;
  padding:12px!important;
  border:1px solid var(--eh-room-line)!important;
  border-radius:20px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 12px 28px rgba(30,64,95,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress span,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress b{color:#07515a!important;font-size:13px!important;font-weight:950!important;white-space:nowrap!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress>div{height:12px!important;border-radius:999px!important;background:rgba(148,163,184,.18)!important;overflow:hidden!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress i{display:block!important;width:0;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#10b981,#14b8a6,#06b6d4)!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress small{grid-column:1/-1!important;color:var(--eh-room-muted)!important;font-size:12px!important;font-weight:800!important;text-align:right!important}
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar{
  display:grid!important;
  grid-template-columns:auto auto auto 1fr!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 14px!important;
  padding:12px 14px!important;
  border:1px solid var(--eh-room-line)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 10px 24px rgba(30,64,95,.07)!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar strong{
  color:#334155!important;
  font-size:13px!important;
  font-weight:950!important;
  text-transform:uppercase!important;
  letter-spacing:.04em!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-btn{
  min-height:36px!important;
  padding:0 14px!important;
  border:1px solid var(--eh-room-line)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#334155!important;
  font-size:13px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-btn.active{
  background:linear-gradient(180deg,#ecfdf5,#d1fae5)!important;
  border-color:rgba(16,185,129,.32)!important;
  color:#047857!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-hint{
  color:#64748b!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:700!important;
  text-align:right!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-body{display:block!important;padding:0!important;overflow:visible!important}
.exam-wrap.jlpt180-eh-room-skin .mondai-block{display:block!important;margin:0 0 14px!important}
.exam-wrap.jlpt180-eh-room-skin .mondai-title{
  width:100%!important;
  margin:0 0 12px!important;
  padding:9px 14px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  border-radius:999px!important;
  color:#075985!important;
  background:rgba(224,242,254,.82)!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:900!important;
  white-space:normal!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-passage,
.exam-wrap.jlpt180-eh-room-skin .exam-passage-vi{margin:0 0 12px!important;padding:14px!important;border:1px solid var(--eh-room-line)!important;border-radius:18px!important;background:rgba(255,255,255,.9)!important;color:#26364a!important;font-size:15px!important;line-height:1.7!important;white-space:pre-wrap!important;box-shadow:0 8px 18px rgba(15,23,42,.04)!important}
.exam-wrap.jlpt180-eh-room-skin .q-item{
  position:relative!important;
  margin:0 0 12px!important;
  padding:18px 18px 16px!important;
  border:1px solid var(--eh-room-line)!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.96)!important;
  box-shadow:0 18px 42px rgba(30,64,95,.08)!important;
  overflow:hidden!important;
  scroll-margin-top:128px!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-header{display:grid!important;grid-template-columns:auto auto auto 1fr!important;gap:8px!important;align-items:start!important;margin:0 0 12px!important}
.exam-wrap.jlpt180-eh-room-skin .q-num,
.exam-wrap.jlpt180-eh-room-skin .flag-btn,
.exam-wrap.jlpt180-eh-room-skin .report-btn{min-height:36px!important;border-radius:999px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:950!important}
.exam-wrap.jlpt180-eh-room-skin .q-num{min-width:42px!important;padding:0 12px!important;color:#075985!important;background:rgba(224,242,254,.92)!important;border:1px solid rgba(14,165,233,.18)!important;font-size:13px!important}
.exam-wrap.jlpt180-eh-room-skin .flag-btn{min-width:38px!important;padding:0 10px!important;color:#b45309!important;background:#fff7ed!important;border:1px solid rgba(251,146,60,.26)!important;opacity:.76!important}
.exam-wrap.jlpt180-eh-room-skin .flag-btn.active{opacity:1!important;color:#92400e!important;background:#fef3c7!important}
.exam-wrap.jlpt180-eh-room-skin .report-btn{border:1px solid rgba(220,38,38,.18)!important;background:#fff1f2!important;color:#991b1b!important;padding:0 10px!important;font-size:12px!important}
.exam-wrap.jlpt180-eh-room-skin .q-text-content{
  grid-column:1/-1!important;
  margin:6px auto 2px!important;
  max-width:780px!important;
  color:#172033!important;
  text-align:center!important;
  font-family:Inter,"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif!important;
  font-size:clamp(19px,1.38vw,25px)!important;
  line-height:1.42!important;
  font-weight:800!important;
  overflow-wrap:anywhere!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-text-content u,
.exam-wrap.jlpt180-eh-room-skin .opt-label span u,
.exam-wrap.jlpt180-eh-room-skin .hl-bracket{text-decoration:none!important;background:linear-gradient(180deg,#fff8db,#ffe7a3)!important;color:#9a5b08!important;font-weight:950!important;padding:2px 8px!important;border:1px solid rgba(217,119,6,.28)!important;border-radius:10px!important}
.exam-wrap.jlpt180-eh-room-skin .opt-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin:14px 0 0!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label{width:100%!important;min-height:58px!important;display:grid!important;grid-template-columns:40px 1fr!important;align-items:center!important;gap:12px!important;padding:10px 12px!important;border:1px solid rgba(100,116,139,.16)!important;border-radius:18px!important;background:rgba(255,255,255,.95)!important;color:var(--eh-room-ink)!important;box-shadow:0 8px 18px rgba(15,23,42,.05)!important;cursor:pointer!important;text-decoration:none!important;opacity:1!important;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label::before{content:attr(data-opt)!important;width:38px!important;height:38px!important;border-radius:50%!important;display:grid!important;place-items:center!important;color:var(--eh-room-teal)!important;background:rgba(236,253,245,.95)!important;border:1px solid rgba(20,184,166,.16)!important;font-size:16px!important;font-weight:950!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label span{min-width:0!important;font-family:Inter,"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif!important;font-size:17px!important;line-height:1.3!important;font-weight:800!important;overflow-wrap:anywhere!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label:has(input:checked){border-color:rgba(5,150,105,.72)!important;background:linear-gradient(180deg,rgba(236,253,245,.98),rgba(208,250,229,.96))!important;box-shadow:0 14px 30px rgba(5,150,105,.16), inset 0 0 0 1px rgba(5,150,105,.22)!important;transform:translateY(-1px)!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label:has(input:checked)::before{background:linear-gradient(180deg,#dcfce7,#bbf7d0)!important;color:#047857!important;box-shadow:inset 0 0 0 1px rgba(5,150,105,.18)!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label:has(input:checked) span{color:#065f46!important;font-weight:900!important}
.exam-wrap.jlpt180-eh-room-skin .q-item:has(.opt-label input:checked){border-color:rgba(5,150,105,.28)!important;box-shadow:0 18px 42px rgba(5,150,105,.10), 0 0 0 1px rgba(5,150,105,.08)!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label.is-correct{background:linear-gradient(180deg,#dcfce7,#bbf7d0)!important;border-color:#22c55e!important;color:#166534!important;text-decoration:none!important;opacity:1!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label.is-wrong{background:linear-gradient(180deg,#fee2e2,#fecaca)!important;border-color:#ef4444!important;color:#991b1b!important;text-decoration:none!important;opacity:1!important}
.exam-wrap.jlpt180-eh-room-skin .q-exp{display:none;margin:12px 0 0!important;padding:12px 14px!important;border:1px solid rgba(59,130,246,.22)!important;border-radius:16px!important;background:rgba(239,246,255,.94)!important;color:#1e3a8a!important;font-size:14px!important;line-height:1.55!important;font-weight:750!important}
.exam-wrap.jlpt180-eh-room-skin .q-item.is-live-correct{border-color:rgba(34,197,94,.42)!important;box-shadow:0 18px 42px rgba(16,185,129,.10)!important}
.exam-wrap.jlpt180-eh-room-skin .q-item.is-live-wrong{border-color:rgba(239,68,68,.38)!important;box-shadow:0 18px 42px rgba(239,68,68,.08)!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-panel{display:block!important;margin:0 0 14px!important;border:1px solid var(--eh-room-line)!important;border-radius:22px!important;background:rgba(255,255,255,.88)!important;padding:14px!important;box-shadow:0 14px 36px rgba(30,64,95,.10)!important;overflow:visible!important;max-height:none!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-panel p{margin:0 0 12px!important;color:#66758a!important;font-weight:800!important;line-height:1.45!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(38px,1fr))!important;gap:8px!important}
.exam-wrap.jlpt180-eh-room-skin .map-item{min-height:38px!important;border:1px solid rgba(100,116,139,.2)!important;border-radius:50%!important;background:#f8fbff!important;color:#334155!important;font-size:13px!important;font-weight:950!important}
.exam-wrap.jlpt180-eh-room-skin .map-item.answered{color:#166534!important;background:#dcfce7!important;border-color:#86efac!important}
.exam-wrap.jlpt180-eh-room-skin .map-item.flagged{color:#b45309!important;background:#fff7ed!important;border-color:#fdba74!important}
.exam-wrap.jlpt180-eh-room-skin .exam-footer{padding:6px 0 24px!important;text-align:center!important}
.exam-wrap.jlpt180-eh-room-skin .score-box{display:none;margin:0 0 14px!important;padding:16px!important;border:1px solid rgba(245,158,11,.34)!important;border-radius:20px!important;background:rgba(255,251,235,.95)!important;box-shadow:0 12px 28px rgba(217,119,6,.10)!important}
.exam-wrap.jlpt180-eh-room-skin .score-title{color:#92400e!important;font-size:15px!important;font-weight:950!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.exam-wrap.jlpt180-eh-room-skin .score-num{margin-top:6px!important;color:#d97706!important;font-size:clamp(34px,10vw,46px)!important;font-weight:950!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important}
.exam-wrap.jlpt180-eh-room-skin .footer-action-wrap{display:grid!important;gap:10px!important}
.exam-wrap.jlpt180-eh-room-skin .btn-submit,
.exam-wrap.jlpt180-eh-room-skin .btn-exit-bot{width:100%!important;min-height:54px!important;border:0!important;border-radius:18px!important;color:#fff!important;font-size:15px!important;font-weight:950!important;letter-spacing:.04em!important;text-transform:uppercase!important}
.exam-wrap.jlpt180-eh-room-skin .btn-submit{background:linear-gradient(180deg,#08737b,#07515a)!important;box-shadow:0 7px 0 #053f46,0 16px 28px rgba(7,81,90,.23)!important}
.exam-wrap.jlpt180-eh-room-skin .btn-exit-bot{background:linear-gradient(180deg,#ef4444,#b91c1c)!important;box-shadow:0 7px 0 #7f1d1d,0 16px 28px rgba(185,28,28,.18)!important}
@media(max-width:430px){
  .exam-wrap.jlpt180-eh-room-skin{padding:8px!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-header{grid-template-columns:1fr!important;border-radius:18px!important}
  .exam-wrap.jlpt180-eh-room-skin .header-controls{justify-content:space-between!important;width:100%!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar{grid-template-columns:1fr!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-hint{text-align:left!important}
  .exam-wrap.jlpt180-eh-room-skin .q-item{padding:12px!important;border-radius:20px!important}
  .exam-wrap.jlpt180-eh-room-skin .q-header{grid-template-columns:auto auto 1fr!important}
  .exam-wrap.jlpt180-eh-room-skin .report-btn{grid-column:3!important;justify-self:end!important}
  .exam-wrap.jlpt180-eh-room-skin .opt-label span{font-size:16px!important}
}
@media(min-width:700px){
  .exam-wrap.jlpt180-eh-room-skin .opt-grid{grid-template-columns:1fr 1fr!important}
  .exam-wrap.jlpt180-eh-room-skin .footer-action-wrap{grid-template-columns:1fr 1fr!important}
}
@media(min-width:981px){
  .exam-wrap.jlpt180-eh-room-skin{display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:22px!important;align-items:start!important;padding:16px 18px 32px!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-header,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress,
  .exam-wrap.jlpt180-eh-room-skin .exam-footer{grid-column:1/-1!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-body{grid-column:1!important;grid-row:4!important;width:100%!important;max-width:none!important;margin:0!important}
  .exam-wrap.jlpt180-eh-room-skin .minimap-panel{grid-column:2!important;grid-row:4!important;display:block!important;position:sticky!important;top:18px!important;align-self:start!important;max-height:calc(100vh - 36px)!important;overflow:auto!important;margin:0!important}
}

/* 7.9.0 room map fix. One final override block only. */
.exam-wrap.jlpt180-eh-room-skin{
  display:block!important;
  width:100vw!important;
  max-width:none!important;
  margin:0 calc(50% - 50vw)!important;
  padding:14px 14px 28px!important;
}
.exam-wrap.jlpt180-eh-room-skin,
.exam-wrap.jlpt180-eh-room-skin *{box-sizing:border-box!important;min-width:0}
.exam-wrap.jlpt180-eh-room-skin .exam-header,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress,
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar,
.exam-wrap.jlpt180-eh-room-skin .exam-body,
.exam-wrap.jlpt180-eh-room-skin .exam-footer{
  width:min(1360px,100%)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-header{padding:14px 18px!important;border-radius:24px!important}
.exam-wrap.jlpt180-eh-room-skin .exam-title{font-size:clamp(20px,1.6vw,28px)!important;line-height:1.18!important;font-weight:900!important}
.exam-wrap.jlpt180-eh-room-skin .header-controls{gap:10px!important}
.exam-wrap.jlpt180-eh-room-skin .btn-minimap{display:inline-flex!important}
.exam-wrap.jlpt180-eh-room-skin .exam-timer{min-width:88px!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress{margin-top:14px!important;margin-bottom:16px!important}
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar{position:sticky!important;top:10px!important;z-index:40!important;margin-bottom:16px!important;padding:14px 16px!important;border-radius:20px!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-panel{
  display:none!important;
  margin:0!important;
  border:1px solid var(--eh-room-line)!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.92)!important;
  padding:14px!important;
  box-shadow:0 14px 36px rgba(30,64,95,.10)!important;
  overflow:auto!important;
  max-height:none!important;
}
.exam-wrap.jlpt180-eh-room-skin .minimap-head{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;margin-bottom:10px!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-head strong{display:block!important;color:#0f3d56!important;font-size:14px!important;font-weight:950!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-head span{display:block!important;margin-top:2px!important;color:#66758a!important;font-size:12px!important;line-height:1.4!important;font-weight:700!important}
.exam-wrap.jlpt180-eh-room-skin .btn-reset-history{min-height:36px!important;padding:0 14px!important;border:1px solid rgba(220,38,38,.18)!important;border-radius:999px!important;background:linear-gradient(180deg,#fff1f2,#ffe4e6)!important;color:#991b1b!important;font-size:12px!important;font-weight:950!important;white-space:nowrap!important;cursor:pointer!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-legend{display:flex!important;flex-wrap:wrap!important;gap:8px 10px!important;margin:0 0 12px!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-legend span{display:inline-flex!important;align-items:center!important;gap:6px!important;color:#516072!important;font-size:12px!important;font-weight:800!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-legend i{width:10px!important;height:10px!important;border-radius:999px!important;display:inline-block!important}
.exam-wrap.jlpt180-eh-room-skin .legend-empty{background:#f8fbff!important;border:1px solid rgba(100,116,139,.22)!important}
.exam-wrap.jlpt180-eh-room-skin .legend-done{background:#22c55e!important}
.exam-wrap.jlpt180-eh-room-skin .legend-flag{background:#f59e0b!important}
.exam-wrap.jlpt180-eh-room-skin .minimap-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(38px,1fr))!important;gap:8px!important}
.exam-wrap.jlpt180-eh-room-skin .map-item{min-height:38px!important;border:1px solid rgba(100,116,139,.2)!important;border-radius:50%!important;background:#f8fbff!important;color:#334155!important;font-size:13px!important;font-weight:950!important;display:grid!important;place-items:center!important;cursor:pointer!important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease,color .15s ease!important}
.exam-wrap.jlpt180-eh-room-skin .map-item.current{box-shadow:0 0 0 3px rgba(14,165,233,.18)!important;border-color:rgba(14,165,233,.42)!important;background:#e0f2fe!important}
.exam-wrap.jlpt180-eh-room-skin .map-item.answered{color:#14532d!important;background:#bbf7d0!important;border-color:#22c55e!important;box-shadow:0 6px 16px rgba(34,197,94,.12)!important}
.exam-wrap.jlpt180-eh-room-skin .map-item.flagged{color:#92400e!important;background:#fde68a!important;border-color:#f59e0b!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label:has(input:checked){border-color:rgba(5,150,105,.9)!important;background:linear-gradient(180deg,rgba(236,253,245,.98),rgba(208,250,229,.96))!important;box-shadow:0 14px 30px rgba(5,150,105,.18), inset 0 0 0 1px rgba(5,150,105,.22)!important;transform:translateY(-1px)!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label.is-wrong:has(input:checked){border-color:rgba(220,38,38,.88)!important;background:linear-gradient(180deg,#fee2e2,#fecaca)!important;box-shadow:0 14px 30px rgba(220,38,38,.16), inset 0 0 0 1px rgba(220,38,38,.18)!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label.is-wrong:has(input:checked)::before{background:linear-gradient(180deg,#fecaca,#fca5a5)!important;color:#b91c1c!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label.is-wrong:has(input:checked) span{color:#991b1b!important;font-weight:900!important}
.exam-wrap.jlpt180-eh-room-skin .opt-label.is-correct:has(input:checked){border-color:rgba(34,197,94,.88)!important;background:linear-gradient(180deg,#dcfce7,#bbf7d0)!important;box-shadow:0 14px 30px rgba(34,197,94,.16), inset 0 0 0 1px rgba(34,197,94,.18)!important}
.exam-wrap.jlpt180-eh-room-skin .q-item:has(.opt-label.is-wrong){border-color:rgba(220,38,38,.28)!important;box-shadow:0 18px 42px rgba(220,38,38,.10), 0 0 0 1px rgba(220,38,38,.08)!important}
@media(max-width:430px){
  .exam-wrap.jlpt180-eh-room-skin{padding:10px 10px 24px!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-header{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
    padding:12px 14px!important;
    border-radius:18px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .header-controls{
    width:100%!important;
    justify-content:space-between!important;
    flex-wrap:wrap!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-title{font-size:18px!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:10px!important;
    padding:12px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar strong{width:100%!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-hint{text-align:left!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-hint{width:100%!important;flex-basis:100%!important}
  .exam-wrap.jlpt180-eh-room-skin .q-item{padding:16px 14px 14px!important;border-radius:22px!important}
  .exam-wrap.jlpt180-eh-room-skin .q-header{grid-template-columns:auto auto 1fr!important}
  .exam-wrap.jlpt180-eh-room-skin .report-btn{grid-column:3!important;justify-self:end!important}
  .exam-wrap.jlpt180-eh-room-skin .q-text-content{font-size:22px!important}
  .exam-wrap.jlpt180-eh-room-skin .opt-label{min-height:58px!important}
  .exam-wrap.jlpt180-eh-room-skin .opt-label span{font-size:16px!important}
}
@media(min-width:700px){
  .exam-wrap.jlpt180-eh-room-skin .opt-grid{grid-template-columns:1fr 1fr!important}
  .exam-wrap.jlpt180-eh-room-skin .footer-action-wrap{grid-template-columns:1fr 1fr!important}
}
@media(min-width:981px){
  .exam-wrap.jlpt180-eh-room-skin{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,340px)!important;gap:22px!important;align-items:start!important;padding:16px 18px 32px!important}
  .exam-wrap.jlpt180-eh-room-skin .exam-header,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress,
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar,
  .exam-wrap.jlpt180-eh-room-skin .exam-body,
  .exam-wrap.jlpt180-eh-room-skin .exam-footer{grid-column:1!important;width:100%!important;max-width:none!important}
  .exam-wrap.jlpt180-eh-room-skin .minimap-panel{display:block!important;grid-column:2!important;grid-row:1 / span 6!important;position:sticky!important;top:18px!important;max-height:calc(100vh - 36px)!important;align-self:start!important;margin:0!important}
  .exam-wrap.jlpt180-eh-room-skin .btn-minimap{display:none!important}
}

/* 7.9.2 Anki neon color pass. Color only, no behavior changes. */
.exam-wrap.jlpt180-eh-room-skin{
  background:
    radial-gradient(circle at 8% 8%, rgba(56,189,248,.28), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(167,139,250,.24), transparent 30%),
    radial-gradient(circle at 75% 88%, rgba(45,212,191,.22), transparent 34%),
    linear-gradient(135deg,#e8f8ff 0%,#f4efff 46%,#e7fff7 100%)!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-header{
  border-color:rgba(56,189,248,.36)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(236,253,245,.9) 48%,rgba(239,246,255,.94))!important;
  box-shadow:0 18px 48px rgba(14,165,233,.16),0 0 0 1px rgba(255,255,255,.65) inset!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-title{
  color:#0f172a!important;
  text-shadow:0 0 18px rgba(56,189,248,.18)!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-timer{
  color:#047857!important;
  border-color:rgba(16,185,129,.38)!important;
  background:linear-gradient(180deg,#ecfdf5,#ccfbf1)!important;
  box-shadow:0 0 24px rgba(16,185,129,.18)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress{
  border-color:rgba(34,211,238,.24)!important;
  background:linear-gradient(90deg,rgba(255,255,255,.84),rgba(240,249,255,.9),rgba(250,245,255,.88))!important;
  box-shadow:0 12px 34px rgba(14,165,233,.11)!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar{
  border-color:rgba(168,85,247,.22)!important;
  background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(245,243,255,.9),rgba(236,253,245,.88))!important;
  box-shadow:0 18px 42px rgba(124,58,237,.13)!important;
}
.exam-wrap.jlpt180-eh-room-skin .exam-mode-bar strong{
  color:#5b21b6!important;
}
.exam-wrap.jlpt180-eh-room-skin .mode-btn{
  color:#334155!important;
  border-color:rgba(99,102,241,.24)!important;
  background:linear-gradient(180deg,#ffffff,#eef2ff)!important;
}
.exam-wrap.jlpt180-eh-room-skin .mode-btn.active{
  color:#065f46!important;
  border-color:rgba(16,185,129,.45)!important;
  background:linear-gradient(180deg,#ccfbf1,#a7f3d0)!important;
  box-shadow:0 0 22px rgba(20,184,166,.18)!important;
}
.exam-wrap.jlpt180-eh-room-skin .mondai-title{
  color:#075985!important;
  border-color:rgba(14,165,233,.3)!important;
  background:linear-gradient(90deg,#e0f2fe,#f0f9ff)!important;
  box-shadow:0 0 18px rgba(14,165,233,.12)!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-item{
  border-color:rgba(56,189,248,.22)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,249,255,.92))!important;
  box-shadow:0 18px 44px rgba(14,165,233,.11),0 0 0 1px rgba(255,255,255,.7) inset!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-item:nth-of-type(3n+1){
  border-color:rgba(34,211,238,.3)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(236,254,255,.94))!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-item:nth-of-type(3n+2){
  border-color:rgba(167,139,250,.32)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,243,255,.94))!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-item:nth-of-type(3n){
  border-color:rgba(45,212,191,.3)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,253,250,.94))!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-text-content{
  padding:16px 18px!important;
  border:1px solid rgba(14,165,233,.22)!important;
  border-left:5px solid #22d3ee!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(224,242,254,.92),rgba(245,243,255,.86))!important;
  box-shadow:0 12px 28px rgba(14,165,233,.10),0 0 18px rgba(167,139,250,.08) inset!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label{
  color:#0f172a!important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(248,250,252,.92))!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label[data-opt="A"],
.exam-wrap.jlpt180-eh-room-skin .opt-label:nth-child(4n+1){
  border-color:rgba(34,211,238,.3)!important;
  box-shadow:0 8px 20px rgba(34,211,238,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label[data-opt="A"]::before,
.exam-wrap.jlpt180-eh-room-skin .opt-label:nth-child(4n+1)::before{
  color:#0369a1!important;
  background:linear-gradient(180deg,#e0f2fe,#bae6fd)!important;
  border-color:rgba(14,165,233,.28)!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label[data-opt="B"],
.exam-wrap.jlpt180-eh-room-skin .opt-label:nth-child(4n+2){
  border-color:rgba(45,212,191,.34)!important;
  box-shadow:0 8px 20px rgba(20,184,166,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label[data-opt="B"]::before,
.exam-wrap.jlpt180-eh-room-skin .opt-label:nth-child(4n+2)::before{
  color:#0f766e!important;
  background:linear-gradient(180deg,#ccfbf1,#99f6e4)!important;
  border-color:rgba(20,184,166,.3)!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label[data-opt="C"],
.exam-wrap.jlpt180-eh-room-skin .opt-label:nth-child(4n+3){
  border-color:rgba(167,139,250,.34)!important;
  box-shadow:0 8px 20px rgba(139,92,246,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label[data-opt="C"]::before,
.exam-wrap.jlpt180-eh-room-skin .opt-label:nth-child(4n+3)::before{
  color:#6d28d9!important;
  background:linear-gradient(180deg,#ede9fe,#ddd6fe)!important;
  border-color:rgba(139,92,246,.3)!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label[data-opt="D"],
.exam-wrap.jlpt180-eh-room-skin .opt-label:nth-child(4n){
  border-color:rgba(251,191,36,.36)!important;
  box-shadow:0 8px 20px rgba(245,158,11,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .opt-label[data-opt="D"]::before,
.exam-wrap.jlpt180-eh-room-skin .opt-label:nth-child(4n)::before{
  color:#a16207!important;
  background:linear-gradient(180deg,#fef3c7,#fde68a)!important;
  border-color:rgba(245,158,11,.32)!important;
}
.exam-wrap.jlpt180-eh-room-skin .minimap-panel{
  border-color:rgba(45,212,191,.28)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(240,253,250,.9))!important;
  box-shadow:0 20px 50px rgba(20,184,166,.14),0 0 0 1px rgba(255,255,255,.72) inset!important;
}
.exam-wrap.jlpt180-eh-room-skin .score-box{
  border-color:rgba(251,191,36,.42)!important;
  background:linear-gradient(135deg,#fffbeb,#fff7ed,#fef3c7)!important;
  box-shadow:0 18px 44px rgba(245,158,11,.16)!important;
}

/* 7.9.3 Desktop map follow. Keep question map visible to page bottom. */
@media(min-width:981px){
  .exam-wrap.jlpt180-eh-room-skin .minimap-panel{
    position:fixed!important;
    top:18px!important;
    right:18px!important;
    width:clamp(300px,23vw,340px)!important;
    max-height:calc(100vh - 36px)!important;
    overflow:auto!important;
    z-index:80!important;
    transform:translateZ(0)!important;
  }
  body.admin-bar .exam-wrap.jlpt180-eh-room-skin .minimap-panel{
    top:50px!important;
    max-height:calc(100vh - 68px)!important;
  }
}



/* v7.9.5 - Đề tổng hợp / Địa Ngục collection */
.eh3-exam--hell{border-color:rgba(220,38,38,.38)!important;background:linear-gradient(135deg,rgba(255,247,237,.96),rgba(254,226,226,.94))!important;}
.eh3-hell-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:4px 8px;border-radius:999px;background:#fee2e2;color:#991b1b;border:1px solid rgba(220,38,38,.22);font-style:normal;font-size:12px;font-weight:900;white-space:nowrap;}
.eh3-module[style*="#dc2626"] .eh3-cta{background:#dc2626!important;color:#fff!important;}
@media(max-width:640px){.eh3-hell-badge{margin-left:0;margin-top:6px;width:max-content}.eh3-exam-name{display:flex;flex-direction:column;align-items:flex-start}}


/* v7.9.8 - exam readability fixes: stop note loop, safer section labels, non-red kanji highlight */
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-skill-rail{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;
  margin:0 0 14px!important;
  padding:10px 12px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(240,249,255,.88),rgba(245,243,255,.82))!important;
  box-shadow:0 10px 26px rgba(14,165,233,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-skill-rail-title{
  color:#334155!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-skill-badge,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-question-skill-chip{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:fit-content!important;
  max-width:100%!important;
  min-height:28px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:950!important;
  white-space:normal!important;
  vertical-align:middle!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-skill-badge--vocab,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-question-skill-chip--vocab{
  color:#075985!important;
  border:1px solid rgba(14,165,233,.24)!important;
  background:linear-gradient(180deg,#e0f2fe,#bae6fd)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-skill-badge--grammar,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-question-skill-chip--grammar{
  color:#6d28d9!important;
  border:1px solid rgba(139,92,246,.24)!important;
  background:linear-gradient(180deg,#ede9fe,#ddd6fe)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-skill-badge--reading,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-question-skill-chip--reading{
  color:#0f766e!important;
  border:1px solid rgba(20,184,166,.25)!important;
  background:linear-gradient(180deg,#ccfbf1,#99f6e4)!important;
}
.exam-wrap.jlpt180-eh-room-skin .mondai-title .jlpt180-skill-badge{
  margin-left:8px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-mondai-instruction,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-question-instruction{
  display:block!important;
  width:100%!important;
  margin:0 0 10px!important;
  padding:10px 12px!important;
  border:1px solid rgba(59,130,246,.20)!important;
  border-left:5px solid #38bdf8!important;
  border-radius:16px!important;
  color:#1e3a8a!important;
  background:linear-gradient(135deg,rgba(239,246,255,.94),rgba(245,243,255,.86))!important;
  font-family:"Noto Sans JP","Hiragino Sans","Yu Gothic",Meiryo,sans-serif!important;
  font-size:14px!important;
  line-height:1.55!important;
  font-weight:850!important;
  text-align:left!important;
  overflow-wrap:anywhere!important;
  box-shadow:0 8px 18px rgba(59,130,246,.06)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-question-skill-chip{
  display:none!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-kanji-highlight{
  display:inline!important;
  color:#0f766e!important;
  font-weight:950!important;
  text-shadow:0 1px 0 rgba(255,255,255,.75)!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-text-content .jlpt180-kanji-highlight,
.exam-wrap.jlpt180-eh-room-skin .opt-label span .jlpt180-kanji-highlight{
  padding:0 1px!important;
  background:linear-gradient(180deg,rgba(240,253,250,0),rgba(153,246,228,.50))!important;
  border-radius:5px!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-exp.jlpt180-exp-card,
.exam-wrap.jlpt180-eh-room-skin .q-explanation.jlpt180-exp-card,
.exam-wrap.jlpt180-eh-room-skin .explanation.jlpt180-exp-card{
  display:block!important;
  margin:14px 0 0!important;
  padding:12px!important;
  border:1px solid rgba(59,130,246,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(239,246,255,.96),rgba(248,250,252,.94))!important;
  color:#1e3a8a!important;
  font-size:14px!important;
  line-height:1.55!important;
  font-weight:760!important;
  box-shadow:0 12px 28px rgba(59,130,246,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-row{
  display:grid!important;
  grid-template-columns:minmax(92px,auto) minmax(0,1fr)!important;
  gap:8px 10px!important;
  align-items:start!important;
  padding:9px 10px!important;
  margin:0 0 8px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(148,163,184,.16)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-row:last-child{margin-bottom:0!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-label{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:26px!important;
  padding:3px 8px!important;
  border-radius:999px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:950!important;
  white-space:normal!important;
  text-align:center!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-text{
  min-width:0!important;
  color:#18325f!important;
  font-size:14px!important;
  line-height:1.65!important;
  font-weight:760!important;
  overflow-wrap:anywhere!important;
}

.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-row .jlpt180-exp-text:first-child{
  grid-column:1/-1!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-row--meaning .jlpt180-exp-label{
  color:#075985!important;
  background:#e0f2fe!important;
  border:1px solid rgba(14,165,233,.20)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-row--correct .jlpt180-exp-label{
  color:#166534!important;
  background:#dcfce7!important;
  border:1px solid rgba(34,197,94,.22)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-row--wrong .jlpt180-exp-label{
  color:#92400e!important;
  background:#fef3c7!important;
  border:1px solid rgba(245,158,11,.24)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-row--note .jlpt180-exp-label{
  color:#6d28d9!important;
  background:#ede9fe!important;
  border:1px solid rgba(139,92,246,.22)!important;
}
@media(max-width:480px){
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-skill-rail{gap:7px!important;padding:9px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-skill-badge,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-question-skill-chip{font-size:11px!important;padding:4px 8px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-mondai-instruction,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-question-instruction{font-size:13px!important;padding:9px 10px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-row{grid-template-columns:1fr!important;gap:6px!important;padding:9px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-label{justify-content:flex-start!important;width:fit-content!important}
}

/* v8.0.0 - Question map grouped by skill section and mondai */
.exam-wrap.jlpt180-eh-room-skin .minimap-grid.jlpt180-map-sectioned{
  display:block!important;
  grid-template-columns:none!important;
  gap:0!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section{
  display:block!important;
  margin:0 0 12px!important;
  padding:10px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.04)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section:last-child{margin-bottom:0!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section-head{
  width:100%!important;
  min-height:38px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin:0 0 10px!important;
  padding:8px 10px!important;
  border:1px solid rgba(14,165,233,.18)!important;
  border-radius:14px!important;
  color:#075985!important;
  background:linear-gradient(180deg,#e0f2fe,#f0f9ff)!important;
  cursor:pointer!important;
  text-align:left!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section-head span{
  min-width:0!important;
  font-size:13px!important;
  line-height:1.3!important;
  overflow-wrap:anywhere!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section-head small{
  flex:0 0 auto!important;
  color:#64748b!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section-head::after{
  content:'▾';
  flex:0 0 auto!important;
  color:#0f766e!important;
  font-size:12px!important;
  transition:transform .15s ease!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section.is-collapsed .jlpt180-map-section-head::after{transform:rotate(-90deg)!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section.is-collapsed .jlpt180-map-mondai{display:none!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section--grammar .jlpt180-map-section-head{
  color:#6d28d9!important;
  border-color:rgba(139,92,246,.22)!important;
  background:linear-gradient(180deg,#ede9fe,#f5f3ff)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section--reading .jlpt180-map-section-head{
  color:#0f766e!important;
  border-color:rgba(20,184,166,.23)!important;
  background:linear-gradient(180deg,#ccfbf1,#f0fdfa)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section--other .jlpt180-map-section-head{
  color:#475569!important;
  border-color:rgba(148,163,184,.26)!important;
  background:linear-gradient(180deg,#f8fafc,#f1f5f9)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-mondai{
  display:block!important;
  margin:0 0 10px!important;
  padding:0!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-mondai:last-child{margin-bottom:0!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-mondai-title{
  margin:0 0 6px!important;
  color:#334155!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-items{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(36px,1fr))!important;
  gap:7px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-map-items .map-item{
  width:100%!important;
  min-height:36px!important;
}
@media(max-width:480px){
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section{padding:8px!important;border-radius:16px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section-head{min-height:36px!important;margin-bottom:8px!important;padding:7px 9px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section-head span{font-size:12px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-map-section-head small{font-size:10px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-map-items{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))!important;gap:6px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-map-items .map-item{min-height:34px!important;font-size:12px!important}
}

/* question issue report */
.exam-wrap.jlpt180-eh-room-skin .report-btn.jlpt180-report-toggle{
  border:1px solid rgba(14,165,233,.26)!important;
  background:linear-gradient(180deg,#effaff,#e0f2fe)!important;
  color:#075985!important;
  padding:0 12px!important;
  min-height:36px!important;
  border-radius:999px!important;
  font-size:12px!important;
  font-weight:950!important;
  box-shadow:0 8px 18px rgba(14,165,233,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-item.jlpt180-report-sent .report-btn.jlpt180-report-toggle{
  border-color:rgba(34,197,94,.32)!important;
  background:linear-gradient(180deg,#ecfdf5,#dcfce7)!important;
  color:#047857!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-panel{
  margin:12px 0 0!important;
  padding:12px!important;
  border:1px solid rgba(14,165,233,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(240,249,255,.98),rgba(255,255,255,.98))!important;
  box-shadow:0 10px 24px rgba(15,23,42,.06)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-title{
  margin:0 0 8px!important;
  color:#075985!important;
  font-size:14px!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-panel label{
  display:grid!important;
  gap:6px!important;
  margin:8px 0!important;
  color:#164e63!important;
  font-size:13px!important;
  font-weight:900!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-panel select,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-panel textarea{
  width:100%!important;
  border:1px solid rgba(100,116,139,.22)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#0f172a!important;
  font-size:14px!important;
  line-height:1.5!important;
  box-shadow:none!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-panel select{
  min-height:40px!important;
  padding:0 10px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-panel textarea{
  min-height:86px!important;
  padding:10px!important;
  resize:vertical!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  align-items:center!important;
  margin-top:10px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-send,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-cancel{
  min-height:40px!important;
  border-radius:999px!important;
  padding:0 14px!important;
  font-size:13px!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-send{
  border:1px solid rgba(20,184,166,.28)!important;
  background:linear-gradient(180deg,#ccfbf1,#99f6e4)!important;
  color:#0f766e!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-send:disabled{
  opacity:.65!important;
  cursor:wait!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-cancel{
  border:1px solid rgba(148,163,184,.22)!important;
  background:#fff!important;
  color:#475569!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-report-status{
  margin-top:8px!important;
  color:#0f766e!important;
  font-size:13px!important;
  font-weight:900!important;
}
@media(max-width:640px){
  .exam-wrap.jlpt180-eh-room-skin .report-btn.jlpt180-report-toggle{
    min-height:34px!important;
    padding:0 10px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-report-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }
}


/* v8.0.2 - Post exam analysis */
.exam-wrap.jlpt180-eh-room-skin .jlpt180-post-exam-analysis{
  display:block!important;
  margin:0 0 16px!important;
  padding:14px!important;
  border:1px solid rgba(20,184,166,.22)!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,rgba(240,253,250,.98),rgba(255,255,255,.96))!important;
  box-shadow:0 16px 38px rgba(15,118,110,.10)!important;
  color:#14384f!important;
  overflow:hidden!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-head{margin:0 0 12px!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-head span{
  display:inline-flex!important;
  margin:0 0 5px!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  background:#ccfbf1!important;
  color:#0f766e!important;
  font-size:11px!important;
  font-weight:950!important;
  letter-spacing:.05em!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-head h2{
  margin:0!important;
  color:#0f766e!important;
  font-size:clamp(20px,5.5vw,28px)!important;
  line-height:1.15!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-head p{
  margin:6px 0 0!important;
  color:#52677a!important;
  font-size:13px!important;
  line-height:1.45!important;
  font-weight:750!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-overview{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin:0 0 12px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-score,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-weak,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-advice{
  min-width:0!important;
  padding:12px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 10px 22px rgba(15,23,42,.04)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-score strong{
  display:block!important;
  color:#0f766e!important;
  font-size:clamp(30px,9vw,42px)!important;
  line-height:1!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-score span,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-weak small,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-advice small{
  display:block!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:900!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-weak b,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-advice b{
  display:block!important;
  margin-top:4px!important;
  color:#164e63!important;
  font-size:14px!important;
  line-height:1.45!important;
  font-weight:950!important;
  overflow-wrap:anywhere!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-sections{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  margin:0 0 12px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-section{
  padding:11px!important;
  border:1px solid rgba(148,163,184,.18)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.86)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-section-top,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-meta,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-subhead,
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-section-top strong{
  min-width:0!important;
  color:#164e63!important;
  font-size:13px!important;
  line-height:1.3!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-section-top span{
  flex:0 0 auto!important;
  color:#0f766e!important;
  font-size:13px!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-bar{
  height:9px!important;
  margin:9px 0 7px!important;
  overflow:hidden!important;
  border-radius:999px!important;
  background:rgba(15,118,110,.10)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-bar i{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#14b8a6,#38bdf8)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-meta span{
  color:#64748b!important;
  font-size:11px!important;
  font-weight:850!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-list{
  padding:12px!important;
  border:1px solid rgba(14,165,233,.16)!important;
  border-radius:20px!important;
  background:rgba(240,249,255,.72)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-subhead{
  margin:0 0 10px!important;
  color:#075985!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-subhead strong{font-size:14px!important;font-weight:950!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-subhead span{font-size:12px!important;font-weight:950!important;color:#64748b!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-item{
  display:grid!important;
  grid-template-columns:82px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:start!important;
  margin:0 0 9px!important;
  padding:10px!important;
  border:1px solid rgba(245,158,11,.20)!important;
  border-radius:16px!important;
  background:rgba(255,251,235,.82)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-item:last-child{margin-bottom:0!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-jump{
  min-height:38px!important;
  border:1px solid rgba(14,165,233,.24)!important;
  border-radius:999px!important;
  background:linear-gradient(180deg,#e0f2fe,#f0f9ff)!important;
  color:#075985!important;
  font-size:12px!important;
  font-weight:950!important;
  cursor:pointer!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-body{min-width:0!important;color:#334155!important;font-size:13px!important;line-height:1.45!important;font-weight:760!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-head span{
  color:#0f766e!important;
  font-size:12px!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-head small{
  color:#92400e!important;
  font-size:11px!important;
  font-weight:900!important;
  text-align:right!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-body p{
  margin:5px 0 7px!important;
  color:#1f2937!important;
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:850!important;
  overflow-wrap:anywhere!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-body div{
  margin-top:3px!important;
  overflow-wrap:anywhere!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-empty{
  padding:12px!important;
  border-radius:16px!important;
  background:#ecfdf5!important;
  color:#047857!important;
  font-size:13px!important;
  font-weight:900!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-item.jlpt180-analysis-focus{
  animation:jlpt180AnalysisFocus 1.2s ease!important;
}
@keyframes jlpt180AnalysisFocus{
  0%,100%{box-shadow:0 18px 42px rgba(30,64,95,.08)!important}
  35%{box-shadow:0 0 0 4px rgba(20,184,166,.20),0 18px 44px rgba(20,184,166,.16)!important}
}
@media(min-width:720px){
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-overview{grid-template-columns:.7fr 1fr 1.2fr!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-sections{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:430px){
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-post-exam-analysis{padding:12px!important;border-radius:20px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-item{grid-template-columns:1fr!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-jump{width:fit-content!important;min-width:78px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-section-top,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-meta,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-head{align-items:flex-start!important;flex-direction:column!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-analysis-wrong-head small{text-align:left!important}
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-meta-passage{
  border-color:rgba(20,184,166,.24)!important;
  background:linear-gradient(180deg, rgba(240,253,250,.96), rgba(255,255,255,.94))!important;
  color:#123d4a!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-meta-passage-label{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0 0 8px!important;
  padding:5px 12px!important;
  border-radius:999px!important;
  background:#ccfbf1!important;
  border:1px solid rgba(20,184,166,.32)!important;
  color:#0f766e!important;
  font-weight:900!important;
  font-size:13px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-meta-passage-body{
  white-space:pre-wrap!important;
  line-height:1.85!important;
  font-weight:750!important;
}

/* v8.0.7 - in-room current exam part hero */
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-hero{
  display:grid!important;
  grid-template-columns:minmax(180px,.75fr) minmax(0,1.45fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  margin:0 0 14px!important;
  padding:12px!important;
  border:1px solid rgba(20,184,166,.22)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(240,253,250,.96),rgba(239,246,255,.94),rgba(245,243,255,.9))!important;
  box-shadow:0 14px 34px rgba(20,83,95,.10),inset 0 1px 0 rgba(255,255,255,.95)!important;
  overflow:hidden!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-hero-main{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:4px!important;
  min-height:76px!important;
  padding:12px 14px!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-kicker{
  color:#0f766e!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-current{
  color:#0f172a!important;
  font-size:clamp(20px,3.6vw,30px)!important;
  line-height:1.08!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-sub{
  color:#475569!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:850!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
  align-items:stretch!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:3px!important;
  min-width:0!important;
  min-height:76px!important;
  padding:10px 11px!important;
  border:1px solid rgba(148,163,184,.24)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.82)!important;
  color:#334155!important;
  box-shadow:0 8px 18px rgba(15,23,42,.05)!important;
  cursor:pointer!important;
  text-align:left!important;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease, background .16s ease!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step:not(:disabled):hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 24px rgba(15,23,42,.08)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step:disabled{
  opacity:.45!important;
  cursor:not-allowed!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step span{
  color:#0f172a!important;
  font-size:14px!important;
  line-height:1.1!important;
  font-weight:1000!important;
  white-space:nowrap!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step b{
  color:#64748b!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:900!important;
  white-space:nowrap!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step small{
  margin-top:2px!important;
  color:#334155!important;
  font-size:12px!important;
  line-height:1.1!important;
  font-weight:950!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step i{
  display:block!important;
  width:100%!important;
  height:7px!important;
  margin-top:5px!important;
  border-radius:999px!important;
  background:rgba(148,163,184,.18)!important;
  overflow:hidden!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step i em{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#14b8a6,#38bdf8)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step.is-active{
  border-color:rgba(20,184,166,.42)!important;
  background:linear-gradient(180deg,#ecfeff,#f0fdfa)!important;
  box-shadow:0 13px 28px rgba(20,184,166,.16), inset 0 0 0 1px rgba(255,255,255,.85)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step.is-active::before{
  content:""!important;
  position:absolute!important;
  inset:8px auto 8px 7px!important;
  width:4px!important;
  border-radius:999px!important;
  background:#14b8a6!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step--grammar.is-active{
  border-color:rgba(168,85,247,.35)!important;
  background:linear-gradient(180deg,#faf5ff,#f5f3ff)!important;
  box-shadow:0 13px 28px rgba(124,58,237,.12), inset 0 0 0 1px rgba(255,255,255,.85)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step--grammar.is-active::before{background:#8b5cf6!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step--grammar i em{background:linear-gradient(90deg,#8b5cf6,#c084fc)!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step--reading.is-active{
  border-color:rgba(245,158,11,.36)!important;
  background:linear-gradient(180deg,#fffbeb,#fef3c7)!important;
  box-shadow:0 13px 28px rgba(180,83,9,.11), inset 0 0 0 1px rgba(255,255,255,.85)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step--reading.is-active::before{background:#f59e0b!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step--reading i em{background:linear-gradient(90deg,#f59e0b,#fbbf24)!important}

@media(max-width:720px){
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-hero{
    grid-template-columns:1fr!important;
    gap:9px!important;
    padding:10px!important;
    border-radius:20px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-hero-main{
    min-height:0!important;
    padding:10px 12px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-steps{
    gap:7px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step{
    min-height:70px!important;
    padding:9px 8px!important;
    border-radius:16px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step span{font-size:12px!important;white-space:normal!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step b{font-size:10px!important}
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step small{font-size:11px!important}
}

@media(max-width:380px){
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-steps{
    grid-template-columns:1fr!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-step{
    min-height:54px!important;
  }
}

/* v8.0.8 - section dividers between exam parts */
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-hero{
  display:none!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin:18px 0 14px!important;
  padding:13px 14px!important;
  border:1px solid rgba(20,184,166,.24)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(236,254,255,.97),rgba(240,253,250,.95))!important;
  box-shadow:0 12px 26px rgba(15,118,110,.10),inset 0 1px 0 rgba(255,255,255,.95)!important;
  color:#0f172a!important;
  clear:both!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-main{
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
  min-width:0!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-main span{
  color:#0f766e!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-main strong{
  color:#0f172a!important;
  font-size:clamp(19px,4vw,28px)!important;
  line-height:1.08!important;
  font-weight:1000!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-main small{
  color:#475569!important;
  font-size:12px!important;
  line-height:1.25!important;
  font-weight:850!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-progress{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:7px!important;
  min-width:112px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-progress b{
  color:#0f172a!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:1000!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-progress i{
  display:block!important;
  width:112px!important;
  height:8px!important;
  border-radius:999px!important;
  background:rgba(148,163,184,.18)!important;
  overflow:hidden!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-progress em{
  display:block!important;
  height:100%!important;
  border-radius:inherit!important;
  background:linear-gradient(90deg,#14b8a6,#38bdf8)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--grammar{
  border-color:rgba(168,85,247,.24)!important;
  background:linear-gradient(135deg,rgba(250,245,255,.97),rgba(245,243,255,.95))!important;
  box-shadow:0 12px 26px rgba(124,58,237,.10),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--grammar .jlpt180-exam-part-divider-main span{color:#7c3aed!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--grammar .jlpt180-exam-part-divider-progress em{background:linear-gradient(90deg,#8b5cf6,#c084fc)!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--reading{
  border-color:rgba(245,158,11,.26)!important;
  background:linear-gradient(135deg,rgba(255,251,235,.98),rgba(254,243,199,.92))!important;
  box-shadow:0 12px 26px rgba(180,83,9,.10),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--reading .jlpt180-exam-part-divider-main span{color:#b45309!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--reading .jlpt180-exam-part-divider-progress em{background:linear-gradient(90deg,#f59e0b,#fbbf24)!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--other{
  border-color:rgba(100,116,139,.22)!important;
  background:linear-gradient(135deg,rgba(248,250,252,.98),rgba(241,245,249,.94))!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--other .jlpt180-exam-part-divider-main span{color:#475569!important}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider--other .jlpt180-exam-part-divider-progress em{background:linear-gradient(90deg,#64748b,#94a3b8)!important}
@media(max-width:430px){
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:10px!important;
    margin:14px 0 12px!important;
    padding:12px!important;
    border-radius:20px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-progress{
    align-items:flex-start!important;
    width:100%!important;
    min-width:0!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-progress i{
    width:100%!important;
  }
}

/* v8.0.9 - mobile room layout rescue */
@media(max-width:640px){
  .exam-wrap.jlpt180-eh-room-skin{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:10px 10px calc(24px + env(safe-area-inset-bottom,0px))!important;
    overflow-x:hidden!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-header{
    position:relative!important;
    top:auto!important;
    z-index:10!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:12px!important;
    border-radius:20px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-title{
    width:100%!important;
    max-width:100%!important;
    font-size:17px!important;
    line-height:1.22!important;
    overflow-wrap:anywhere!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .header-controls{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    gap:8px!important;
    width:100%!important;
    align-items:center!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .btn-exit,
  .exam-wrap.jlpt180-eh-room-skin .btn-minimap,
  .exam-wrap.jlpt180-eh-room-skin .exam-timer{
    min-height:40px!important;
    border-radius:15px!important;
    white-space:nowrap!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .btn-minimap{
    width:100%!important;
    min-width:0!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-timer{
    padding:0 12px!important;
    font-size:13px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress{
    grid-template-columns:1fr auto!important;
    gap:8px!important;
    padding:10px!important;
    margin:10px 0 12px!important;
    border-radius:18px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress > div{
    grid-column:1/-1!important;
    grid-row:2!important;
    width:100%!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-eh-room-progress small{
    grid-column:1/-1!important;
    text-align:right!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar{
    position:relative!important;
    top:auto!important;
    z-index:auto!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:10px!important;
    align-items:stretch!important;
    padding:12px!important;
    margin:0 0 12px!important;
    border-radius:18px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar strong{
    grid-column:1/-1!important;
    width:auto!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-btn{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    padding:0 10px!important;
    font-size:13px!important;
    white-space:nowrap!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-hint{
    grid-column:1/-1!important;
    width:auto!important;
    flex-basis:auto!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    background:rgba(255,255,255,.68)!important;
    color:#64748b!important;
    font-size:12px!important;
    line-height:1.45!important;
    text-align:left!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-skill-rail{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    padding:8px!important;
    border-radius:16px!important;
    overflow:visible!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-skill-rail > *{
    flex:1 1 92px!important;
    min-width:0!important;
    text-align:center!important;
    white-space:normal!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .mondai-title,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-question-instruction{
    width:100%!important;
    max-width:100%!important;
    font-size:12px!important;
    line-height:1.45!important;
    padding:8px 10px!important;
    border-radius:16px!important;
    overflow-wrap:anywhere!important;
    white-space:normal!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .q-item{
    width:100%!important;
    max-width:100%!important;
    padding:12px!important;
    border-radius:20px!important;
    margin:0 0 12px!important;
    overflow:visible!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .q-header{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    margin:0 0 10px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .q-num,
  .exam-wrap.jlpt180-eh-room-skin .flag-btn,
  .exam-wrap.jlpt180-eh-room-skin .report-btn{
    min-height:34px!important;
    height:34px!important;
    font-size:12px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .report-btn{
    margin-left:auto!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .q-text,
  .exam-wrap.jlpt180-eh-room-skin .q-text-content,
  .exam-wrap.jlpt180-eh-room-skin .q-header .q-text,
  .exam-wrap.jlpt180-eh-room-skin .q-header .q-text-content{
    flex:1 0 100%!important;
    grid-column:1/-1!important;
    width:100%!important;
    max-width:100%!important;
    margin:8px 0 0!important;
    padding:12px 12px!important;
    border-left-width:4px!important;
    border-radius:16px!important;
    font-size:15px!important;
    line-height:1.55!important;
    text-align:left!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .opt-grid{
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin-top:10px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .opt-label{
    min-height:50px!important;
    grid-template-columns:34px minmax(0,1fr)!important;
    gap:10px!important;
    padding:9px 10px!important;
    border-radius:16px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .opt-label::before{
    width:32px!important;
    height:32px!important;
    font-size:13px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .opt-label span{
    font-size:15px!important;
    line-height:1.45!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-passage,
  .exam-wrap.jlpt180-eh-room-skin .exam-passage-vi,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-meta-passage{
    padding:12px!important;
    border-radius:16px!important;
    font-size:14px!important;
    line-height:1.65!important;
    overflow-wrap:anywhere!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-hero{
    display:none!important;
    height:0!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider{
    margin:12px 0 10px!important;
    padding:10px 11px!important;
    border-radius:18px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-main strong{
    font-size:18px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-main small,
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-exam-part-divider-progress b{
    font-size:11px!important;
  }
}

@media(max-width:380px){
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar{
    grid-template-columns:1fr!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .exam-mode-bar .mode-btn{
    min-height:38px!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .header-controls{
    grid-template-columns:40px minmax(0,1fr) auto!important;
  }
}


/* v8.1.0 - mobile safe top, bottom map drawer, calmer kanji color */
@media(max-width:640px){
  .exam-wrap.jlpt180-eh-room-skin{
    margin-top:30px!important;
    padding-top:calc(34px + env(safe-area-inset-top,0px))!important;
    padding-bottom:calc(98px + env(safe-area-inset-bottom,0px))!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .header-controls .btn-minimap{
    display:none!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .minimap-panel{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;
    z-index:9996!important;
    width:auto!important;
    max-width:none!important;
    max-height:62dvh!important;
    margin:0!important;
    padding:12px!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    border-radius:22px!important;
    transform:translateY(calc(100% + 96px))!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .22s ease, opacity .18s ease, visibility .18s ease!important;
    box-shadow:0 22px 56px rgba(15,23,42,.24),0 0 0 1px rgba(255,255,255,.78) inset!important;
  }
  .exam-wrap.jlpt180-eh-room-skin.jlpt180-mobile-map-open .minimap-panel{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-mobile-map-toggle{
    position:fixed!important;
    left:50%!important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
    transform:translateX(-50%)!important;
    z-index:9997!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:174px!important;
    min-height:48px!important;
    padding:0 18px!important;
    border:1px solid rgba(14,165,233,.28)!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#e0f2fe,#ccfbf1)!important;
    color:#0f3d56!important;
    font-weight:950!important;
    font-size:13px!important;
    line-height:1!important;
    box-shadow:0 12px 28px rgba(14,165,233,.22),0 0 0 1px rgba(255,255,255,.82) inset!important;
    cursor:pointer!important;
  }
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-mobile-map-toggle b{
    display:inline-grid!important;
    place-items:center!important;
    min-width:24px!important;
    height:24px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.78)!important;
    color:#0f766e!important;
    font-size:12px!important;
    box-shadow:0 0 0 1px rgba(20,184,166,.16) inset!important;
  }
  .exam-wrap.jlpt180-eh-room-skin.jlpt180-mobile-map-open .jlpt180-mobile-map-toggle{
    background:linear-gradient(135deg,#f0f9ff,#ffffff)!important;
  }
}
@media(min-width:641px){
  .exam-wrap.jlpt180-eh-room-skin .jlpt180-mobile-map-toggle{display:none!important;}
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-kanji-highlight{
  color:#075985!important;
  font-weight:900!important;
  text-shadow:none!important;
}
.exam-wrap.jlpt180-eh-room-skin .q-text-content .jlpt180-kanji-highlight,
.exam-wrap.jlpt180-eh-room-skin .opt-label span .jlpt180-kanji-highlight{
  background:linear-gradient(180deg,rgba(255,255,255,0) 58%,rgba(186,230,253,.42) 58%)!important;
  border-radius:3px!important;
}
.exam-wrap.jlpt180-eh-room-skin .jlpt180-exp-text .jlpt180-kanji-highlight,
.exam-wrap.jlpt180-eh-room-skin .exam-passage .jlpt180-kanji-highlight,
.exam-wrap.jlpt180-eh-room-skin .mondai-title .jlpt180-kanji-highlight{
  background:none!important;
}

/* v8.1.1 - mobile map button rendered on body so it cannot be clipped by exam containers */
@media(max-width:640px){
  body .jlpt180-mobile-map-toggle{
    position:fixed!important;
    left:50%!important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px))!important;
    transform:translateX(-50%)!important;
    z-index:2147483000!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:174px!important;
    min-height:48px!important;
    padding:0 18px!important;
    border:1px solid rgba(14,165,233,.28)!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#e0f2fe,#ccfbf1)!important;
    color:#0f3d56!important;
    font-weight:950!important;
    font-size:13px!important;
    line-height:1!important;
    box-shadow:0 12px 28px rgba(14,165,233,.22),0 0 0 1px rgba(255,255,255,.82) inset!important;
    cursor:pointer!important;
    pointer-events:auto!important;
    white-space:nowrap!important;
  }
  body.jlpt180-mobile-map-open .jlpt180-mobile-map-toggle{
    background:linear-gradient(135deg,#f0f9ff,#ffffff)!important;
  }
  body .jlpt180-mobile-map-toggle b{
    display:inline-grid!important;
    place-items:center!important;
    min-width:24px!important;
    height:24px!important;
    padding:0 6px!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.78)!important;
    color:#0f766e!important;
    font-size:12px!important;
    box-shadow:0 0 0 1px rgba(20,184,166,.16) inset!important;
  }
}
@media(min-width:641px){
  body .jlpt180-mobile-map-toggle{display:none!important;}
}

/* v8.1.2 - robust body-level mobile question map drawer */
@media(max-width:640px){
  body .jlpt180-mobile-map-drawer{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;
    z-index:2147482999!important;
    max-height:62dvh!important;
    overflow:hidden!important;
    border:1px solid rgba(14,165,233,.22)!important;
    border-radius:22px!important;
    background:rgba(248,253,255,.98)!important;
    box-shadow:0 22px 58px rgba(15,23,42,.24),0 0 0 1px rgba(255,255,255,.9) inset!important;
    transform:translateY(calc(100% + 96px))!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:transform .22s ease, opacity .18s ease, visibility .18s ease!important;
  }
  body.jlpt180-mobile-map-open .jlpt180-mobile-map-drawer,
  body .jlpt180-mobile-map-drawer.is-open{
    transform:translateY(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  body .jlpt180-mobile-map-drawer-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    padding:12px 14px!important;
    border-bottom:1px solid rgba(14,165,233,.16)!important;
    background:linear-gradient(135deg,#e0f2fe,#ecfeff)!important;
  }
  body .jlpt180-mobile-map-drawer-head strong{
    color:#0f3d56!important;
    font-weight:950!important;
    font-size:15px!important;
  }
  body .jlpt180-mobile-map-drawer-head button{
    display:inline-grid!important;
    place-items:center!important;
    width:34px!important;
    height:34px!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.92)!important;
    color:#0f3d56!important;
    font-size:22px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:0 0 0 1px rgba(14,165,233,.18) inset!important;
  }
  body .jlpt180-mobile-map-drawer-body{
    max-height:calc(62dvh - 58px)!important;
    overflow:auto!important;
    padding:12px!important;
    overscroll-behavior:contain!important;
  }
  body .jlpt180-mobile-map-section{
    margin:0 0 12px!important;
    padding:10px!important;
    border:1px solid rgba(148,163,184,.18)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.82)!important;
  }
  body .jlpt180-mobile-map-section h4{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:8px!important;
    margin:0 0 8px!important;
    color:#0f3d56!important;
    font-size:13px!important;
    font-weight:950!important;
  }
  body .jlpt180-mobile-map-section h4 small{
    color:#64748b!important;
    font-size:11px!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  body .jlpt180-mobile-map-mondai{
    display:grid!important;
    grid-template-columns:68px minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
    margin-top:8px!important;
  }
  body .jlpt180-mobile-map-mondai b{
    color:#334155!important;
    font-size:12px!important;
    font-weight:950!important;
    line-height:30px!important;
  }
  body .jlpt180-mobile-map-mondai div{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
  }
  body .jlpt180-mobile-map-item{
    display:inline-grid!important;
    place-items:center!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    border:1px solid rgba(100,116,139,.22)!important;
    border-radius:999px!important;
    background:#f8fbff!important;
    color:#334155!important;
    font-size:12px!important;
    font-weight:950!important;
    line-height:1!important;
  }
  body .jlpt180-mobile-map-item.is-answered{
    background:#dcfce7!important;
    border-color:#86efac!important;
    color:#166534!important;
  }
  body .jlpt180-mobile-map-item.is-flagged{
    background:#fff7ed!important;
    border-color:#fdba74!important;
    color:#b45309!important;
  }
  body .jlpt180-mobile-map-empty{
    margin:0!important;
    padding:16px!important;
    color:#64748b!important;
    font-weight:850!important;
  }
}
@media(min-width:641px){
  body .jlpt180-mobile-map-drawer{display:none!important;}
}
