/* Play layer, part two: lists, leaderboard, NISM, news, contact, tour. Loaded after play.css. */

/* Lists become rows you can press. */
.divide { display: grid; gap: 10px; }
.divide > * + * { border-top: 0; }
.divide > .list-row, .divide > a, .divide > article { border: 2px solid var(--line); border-bottom-width: 4px; border-radius: 18px; padding: 14px 18px; background: #fff; transition: transform .12s var(--ease), border-color .12s; }
.divide > a:hover { border-color: var(--gold-d); transform: translateY(-2px); background: #fff; }
.divide > a:active { transform: translateY(2px); border-bottom-width: 2px; }
.list-row .chev { color: var(--gold-d); }
.list-title { font-weight: 800; }

/* Leaderboard: your standing is a score card */
.roll-me { background: var(--ink); color: #fff; border: 0; border-bottom: 6px solid #130D06; border-radius: 28px; padding: 26px; }
.roll-me .eyebrow, .roll-me .mute, .roll-me .small { color: #E0D3BA; }
.roll-me .eyebrow { color: var(--gold); }
.roll-rank { font: 800 clamp(34px, 5vw, 48px)/1.05 var(--display); color: #fff; letter-spacing: -.025em; }
.roll-ladder span { text-transform: none; letter-spacing: 0; font: 800 13px var(--font); background: rgba(255, 255, 255, .1); border: 2px solid rgba(255, 255, 255, .18); color: #E0D3BA; }
.roll-ladder span.on { background: var(--gold); border-color: #B97700; color: var(--ink); }
.roll-row.me { background: var(--gold-tint); border-color: var(--gold-d) !important; }
.roll-n { font-family: var(--display); font-weight: 800; color: var(--gold-d); }

/* NISM */
.nmc { border: 2px solid var(--line); border-bottom-width: 5px; border-radius: 24px; background: #fff; padding: 22px; transition: transform .15s var(--ease), border-color .15s; }
a.nmc:hover { transform: translateY(-3px); border-color: var(--gold-d); }
.nmc-t { font: 800 21px/1.2 var(--display); letter-spacing: -.01em; color: var(--ink); }
.nmc-s { color: var(--ink2); font-weight: 500; }
.nm-tag { text-transform: none; letter-spacing: 0; font: 800 14px var(--font); color: var(--gold-ink); }
.hero:not(:has(.hero-art)) { grid-template-columns: minmax(0, 1fr); }
.hero:not(:has(.hero-art)) .h1 { max-width: 20ch; text-wrap: balance; }
.hero .eyebrow, .hero .eyebrow.gold { color: var(--sc, var(--gold-ink)); text-transform: none; letter-spacing: 0; font-weight: 800; }

/* News and stories */
.seg { display: flex; gap: 8px; flex-wrap: wrap; }
.seg button { height: 40px; padding: 0 18px; border-radius: 99px; border: 2px solid var(--line); border-bottom-width: 4px; background: #fff; font: 800 14px var(--font); color: var(--ink2); }
.seg button[aria-pressed="true"] { background: var(--gold); border-color: var(--gold-d); color: var(--ink); }

/* Quiz screens */
.focus-top { background: rgba(255, 255, 255, .96); }
.focus-top .bar > i { background: linear-gradient(180deg, #FFCB3D, var(--gold)); }
.dock { border-top: 2px solid var(--line); background: #fff; }
.read h1, .read h2 { font-family: var(--display); }

/* Contact */
.cways { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.cway { display: grid; gap: 4px; align-content: start; padding: 22px; border-radius: 24px; border: 2px solid var(--gold-d); border-bottom-width: 6px; background: var(--gold-tint); transition: transform .12s var(--ease); }
.cway:hover { transform: translateY(-3px); } .cway:active { transform: translateY(2px); border-bottom-width: 3px; }
.cway-ic { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 16px; background: var(--gold); color: var(--ink); margin-bottom: 8px; }
.cway-t { font: 800 22px/1.15 var(--display); }
.cway-v { font-weight: 700; color: var(--ink2); overflow-wrap: anywhere; }

/* Tour */
.tour { position: fixed; inset: 0; z-index: 90; }
.tour-ring { position: fixed; display: none; border-radius: 18px; box-shadow: 0 0 0 9999px rgba(42, 30, 18, .66), 0 0 0 4px var(--gold); transition: left .25s var(--ease), top .25s var(--ease), width .25s var(--ease), height .25s var(--ease); pointer-events: none; }
.tour-card { position: fixed; display: grid; gap: 10px; padding: 22px; border-radius: 24px; background: #fff; border: 2px solid var(--gold-d); border-bottom-width: 6px; box-shadow: 0 18px 40px rgba(0, 0, 0, .25); }
.tour-dots { display: flex; gap: 6px; } .tour-dots i { width: 22px; height: 6px; border-radius: 4px; background: var(--line2); } .tour-dots i.on { background: var(--gold-d); }
.tour-t { font: 800 24px/1.1 var(--display); letter-spacing: -.02em; }
.tour-p { color: var(--ink2); font-size: 16px; line-height: 1.5; }
.tour-act { margin-top: 6px; gap: 10px; }

/* Login: on phones the form comes first; the art shrinks to a banner */
.lgl-big { font-family: var(--display); font-weight: 800; letter-spacing: -.03em; }
.lg-h { font-family: var(--display); font-weight: 800; letter-spacing: -.02em; }
@media (max-width: 800px) {
  .lg-side.lgl { padding: 18px 22px 20px; min-height: 0; }
  .lgl-stage { display: none; }
  .lgl-big { font-size: 30px; }
  .lgl-sub { font-size: 16px; }
}

/* NISM exam page: buttons and tags on the pale hero */
.hero:not([style*="--sc"]) { --sc: #8A5A00; --sb: #FFEFC2; }
.hero .nm-tag, .hero .level, .hero .lv-name { color: var(--ink); }
.hero .btn.ghost { background: #fff; color: var(--ink); border-color: var(--ink); }

/* NISM mock: the exam room */
.nm-run { background: #fff; }
.nm-top { background: var(--ink); color: #fff; padding: 12px 18px; }
.nm-x { color: #fff; border-radius: 12px; } .nm-x:hover { background: rgba(255, 255, 255, .12); }
.nm-title { font-family: var(--display); font-weight: 800; } .nm-title span { color: var(--gold); text-transform: none; letter-spacing: 0; font: 700 13px var(--font); }
.nm-top .small, .nm-top .mute, .nm-top [class*="prog"] { color: #E0D3BA; }
.nm-clock { font: 800 22px var(--display); color: var(--gold); letter-spacing: 0; } .nm-clock.low { color: #FF8A8A; }
.nm-qt { font-family: var(--display); font-weight: 700; letter-spacing: -.01em; }
.nm-case { border: 2px solid var(--line); border-left: 6px solid var(--gold); border-radius: 18px; background: var(--soft); padding: 16px 18px; }
.nm-opt { border: 2px solid var(--line); border-bottom-width: 5px; border-radius: 18px; background: #fff; font-weight: 600; padding: 14px 18px; }
.nm-opt:hover { border-color: var(--gold-d); background: var(--soft); }
.nm-opt.on { border-color: var(--gold-d); background: var(--gold-tint); box-shadow: none; }
.nm-l { font: 800 15px var(--display); color: var(--gold-ink); }
.nm-side { border: 2px solid var(--line); border-radius: 22px; background: #fff; }
.nm-pb { border: 2px solid var(--line); border-radius: 10px; font-weight: 800; background: #fff; }
.nm-pb.a { background: var(--gold); border-color: var(--gold-d); color: var(--ink); }
.nm-pb.f { box-shadow: inset 0 -4px 0 #E8590C; } .nm-pb.c { outline: 3px solid var(--ink); outline-offset: 1px; }

/* Fund and index pages */
.lib-panel, .lib-col .card { border-radius: 22px; }
.fund-head, .lib-hero { border-radius: 26px; border: 2px solid var(--line); border-bottom-width: 5px; background: #fff; }
.nm-top .btn { color: var(--ink); }

/* NISM banner: its own band, apart from the course lists */
.nmban { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 3px solid var(--ink); border-radius: 22px; background: linear-gradient(120deg, #FFE08A, #FFB703); box-shadow: 5px 5px 0 var(--ink); color: var(--ink); transition: transform .12s var(--ease); }
.nmban:hover { transform: translateY(-2px); } .nmban:active { transform: translate(3px, 3px); box-shadow: 2px 2px 0 var(--ink); }
.nmban-badge { flex: none; display: grid; place-items: center; width: 62px; height: 62px; border-radius: 18px; background: var(--ink); color: var(--gold); font: 800 17px var(--display); letter-spacing: .04em; transform: rotate(-4deg); }
.nmban-b { display: grid; gap: 2px; flex: 1; min-width: 0; } .nmban-t { font: 800 22px/1.1 var(--display); letter-spacing: -.02em; } .nmban-s { font-weight: 600; font-size: 14px; line-height: 1.35; }
.nmban-go { flex: none; display: inline-flex; align-items: center; gap: 2px; padding: 9px 14px; border-radius: 14px; background: #fff; border: 2.5px solid var(--ink); font: 800 14px var(--font); }
@media (max-width: 560px) { .nmban { padding: 14px; gap: 12px; } .nmban-badge { width: 50px; height: 50px; font-size: 14px; border-radius: 14px; } .nmban-t { font-size: 19px; } .nmban-s { font-size: 13px; } .nmban-go { padding: 8px 10px; } }
