/* /exams/ page: left rail + pane. Mobile-first. */
.ex{font-family:'Outfit',system-ui,sans-serif;color:#0B1F3A;background:#F6F7FA}
.ex-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;min-height:56px;padding:6px 8px}
.ex-back,.ex-cart{width:44px;height:44px;display:flex;align-items:center;justify-content:center;color:#0B1F3A;border:0;background:none;border-radius:12px;position:relative;cursor:pointer;text-decoration:none}
.ex-back:active,.ex-cart:active{background:#F4F6F9}
.ex-logo{justify-self:start;display:flex;align-items:center;margin-left:4px}
.ex-cart .ch-n{position:absolute;top:3px;right:1px;background:#FFD23F;color:#0B1F3A;font:800 10px/18px 'Outfit',system-ui,sans-serif;min-width:18px;height:18px;border-radius:999px;text-align:center;padding:0 4px;border:2px solid #fff;box-sizing:border-box}
.ex-wrap{display:grid;grid-template-columns:76px minmax(0,1fr);gap:0;padding:0;align-items:start}
/* rail */
.ex-rail{position:sticky;top:var(--ch-h,120px);max-height:calc(100vh - var(--ch-h,120px) - 64px);overflow-y:auto;scrollbar-width:none;background:#fff;border-right:1px solid #E4E9F0;padding:6px 0 20px}
.ex-rail::-webkit-scrollbar{display:none}
.ex-rail a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px 12px;text-decoration:none;color:#0B1F3A;font:800 12.5px/1.15 'Outfit',system-ui,sans-serif;letter-spacing:-.01em;text-align:center;border-left:3px solid transparent;position:relative;min-height:80px}
.ex-rail a i{width:46px;height:46px;border-radius:15px;background:#F4F6F9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ex-rail a i .ex-ph{width:100%;height:100%;object-fit:cover;display:block}
.ex-rail a.is-on i .ex-ph{filter:saturate(1.1)}
.ex-rail a small{font-size:10px;color:#94A3B8;font-weight:600}
.ex-rail a.is-on{color:#1F5FBF;background:#F4F8FF;border-left-color:#1F5FBF;font-size:13px}
.ex-rail a.is-on i{background:#fff;box-shadow:0 0 0 2px var(--tc,#1F5FBF)}
.ex-rail a.is-on small{color:#1F5FBF}
/* panes */
.ex-panes{--pad:12px;min-width:0;padding:12px var(--pad) 28px}
.ex-pane{display:none}.ex-pane.is-on{display:block}
.ex-pane-head{display:grid;gap:6px;margin:6px 0 12px}
.ex-pane-head h2{margin:0;font-size:17px;font-weight:800;letter-spacing:-.01em}
.ex-all{color:#1F5FBF;font-weight:700;text-decoration:none;font-size:13px}
/* pane hero: photo scene (or the exam colour) with the exam's facts; text always on a dark gradient */
.ex-hero{position:relative;margin:0 0 16px;border-radius:18px;overflow:hidden;min-height:168px;display:flex;align-items:flex-end;background:linear-gradient(135deg,color-mix(in srgb,var(--tc,#1F5FBF) 92%,#000),color-mix(in srgb,var(--tc,#1F5FBF) 55%,#0B1F3A));color:#fff;isolation:isolate}
.ex-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ex-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,58,.05) 0%,rgba(11,31,58,.35) 45%,rgba(11,31,58,.86) 100%);z-index:1}
.ex-hero-ic{position:absolute;right:-14px;top:-10px;opacity:.16;z-index:0}
.ex-hero-ic svg{width:150px;height:150px;stroke:#fff}.ex-hero-ic svg .f{fill:#fff}
.ex-hero-txt{position:relative;z-index:2;padding:14px 14px 14px;display:grid;gap:3px}
.ex-hero-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#FFD23F}
.ex-hero h2{margin:0;font-size:20px;font-weight:800;line-height:1.1;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.ex-hero p{margin:0;font-size:12.5px;color:rgba(255,255,255,.88);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ex-hero-cta{margin-top:8px;display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#FFD23F;color:#0B1F3A;font-size:12.5px;font-weight:800;text-decoration:none;width:max-content}
/* sales blocks (phone sheet): compact product cards, group cards, a blended band */
.eq{margin:0 0 22px}
.eq-head{margin:0 0 10px}.eq-head h3{margin:0;font-size:16px;font-weight:800;letter-spacing:-.01em}.eq-head p{margin:2px 0 0;font-size:12px;color:#526175}
.eq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.eq-card{position:relative;display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #E4E9F0;border-radius:12px;padding:6px 8px 8px;text-decoration:none;color:#0B1F3A}
.eq-link{display:flex;flex-direction:column;min-width:0;text-decoration:none;color:inherit}
.eq-img{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border-radius:9px;background:linear-gradient(160deg,#fff,#EEF3FA);overflow:hidden;margin-bottom:6px}
.eq-img>img{width:80%;height:88%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(11,31,58,.18))}
.eq-off{position:absolute;left:6px;top:6px;font:800 10px/1 'Outfit',system-ui,sans-serif;font-style:normal;background:#15803D;color:#fff;padding:4px 6px;border-radius:6px}
.eq-card b{font-size:12px;font-weight:700;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.eq-meta{font-size:10.5px;color:#526175;font-weight:600;margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.eq-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-top:6px}
.eq-price{display:flex;flex-direction:column;font-size:13.5px;font-weight:800;margin-top:2px;white-space:nowrap;line-height:1.15;min-width:0}.eq-row .eq-price s{margin-left:0;font-size:12px}.eq-price s{font-size:12px;color:#526175;font-weight:600;margin-left:4px}.eq-price small{font-size:10px;font-weight:700;color:#526175}
.eq-link{flex:1}.eq-card--group .eq-more{margin-top:auto;padding-top:6px}
.eq-add{flex:none;min-height:32px;padding:0 12px;border:0;border-radius:999px;background:#0B1F3A;color:#FFD23F;font:800 12px 'Outfit',system-ui,sans-serif;cursor:pointer}
.eq-add:disabled{background:#16A34A;color:#fff}
.eq-fan{position:relative}.eq-fan img{position:absolute;width:52%;height:82%;object-fit:contain;bottom:8%;filter:drop-shadow(0 8px 10px rgba(11,31,58,.22))}
.eq-fan img:nth-child(1){left:4%;transform:rotate(-12deg) translateY(6px)}.eq-fan img:nth-child(2){left:22%;transform:rotate(-1deg) translateY(-4px);z-index:2}.eq-fan img:nth-child(3){left:40%;transform:rotate(11deg) translateY(6px)}
.eq-fan img:only-child{left:22%;transform:none}
.eq-more{margin-top:6px;font-size:12px;font-weight:800;color:#1F5FBF}
.eq-all{display:inline-flex;align-items:center;min-height:40px;margin-top:10px;padding:0 14px;border-radius:999px;background:#0B1F3A;color:#FFD23F;font-weight:800;font-size:13px;text-decoration:none}
/* Aspirant: exam chooser tiles */
.eqx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.eqx{display:flex;align-items:center;gap:10px;height:64px;padding:8px 10px;border-radius:14px;background:#fff;border:1px solid #E4E9F0;color:#0B1F3A;text-decoration:none}
.eqx img{flex:none;width:44px;height:44px;border-radius:12px;object-fit:cover}.eqx i{flex:none;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--tc,#1F5FBF) 14%,#fff);color:var(--tc,#1F5FBF);display:flex;align-items:center;justify-content:center}
.eqx span{display:grid;min-width:0}.eqx b{font-size:13px;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eqx small{font-size:10.5px;color:#526175;font-weight:600;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eqx:active{background:#F4F8FF}
/* Aspirant: help card */
.eqh{display:grid;gap:10px;margin:0 0 22px;padding:16px;border-radius:16px;background:linear-gradient(135deg,#0B1F3A,#163A6B);color:#fff}
.eqh b{display:block;font-size:16px;font-weight:800}.eqh span{display:block;font-size:12.5px;color:rgba(255,255,255,.85);margin-top:2px}
.eqh a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;background:#0F7A3F;color:#fff;font-weight:800;font-size:14px;text-decoration:none}
.eq-all--light{background:#fff;color:#0B1F3A;border:1px solid #E4E9F0}
@media(min-width:700px){.eqx-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.eqh{grid-template-columns:1fr auto;align-items:center}}
@media(min-width:900px){.eqx-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.eqx:hover{border-color:#1F5FBF}}
/* stage strip */
.eqs{margin:0 0 22px}
.eqs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.eqs-grid a{display:flex;align-items:center;gap:9px;min-height:54px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid #E4E9F0;color:#0B1F3A;text-decoration:none}
.eqs-grid a i{flex:none;width:32px;height:32px;border-radius:10px;background:#EAF1FB;color:#1F5FBF;display:flex;align-items:center;justify-content:center}
.eqs-grid a span{display:grid;min-width:0}.eqs-grid a b{font-size:12.5px;font-weight:800;line-height:1.15}.eqs-grid a small{font-size:10.5px;color:#526175;font-weight:600;line-height:1.2;margin-top:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
/* trust strip */
.eqt{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;margin:0 0 22px;padding:14px 14px;border-radius:14px;background:#0B1F3A;color:#fff}
.eqt b{display:block;font-size:19px;font-weight:800;color:#FFD23F;letter-spacing:-.01em;line-height:1.1}.eqt span{font-size:11.5px;color:rgba(255,255,255,.85);font-weight:600}
/* institute tiles */
.eqb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.eqb{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px 10px;min-height:150px;border-radius:14px;text-decoration:none;color:#0B1F3A;border:1px solid rgba(11,31,58,.06);overflow:hidden;text-align:center}
.eqb--sky{background:linear-gradient(160deg,#EAF3FF,#D6E7FF)}.eqb--sun{background:linear-gradient(160deg,#FFF6D6,#FFE7A3)}.eqb--mint{background:linear-gradient(160deg,#E4F8EE,#C9F0DC)}
.eqb--peach{background:linear-gradient(160deg,#FFEDE3,#FFD9C4)}.eqb--violet{background:linear-gradient(160deg,#F0E9FF,#DDD0FF)}.eqb--rose{background:linear-gradient(160deg,#FFE9EF,#FFD2DE)}
.eqb img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(11,31,58,.22));transform:rotate(-4deg)}
.eqb i{width:56px;height:56px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;font-style:normal;font-weight:800;font-size:22px;color:#1F5FBF}
.eqb b{font-size:12.5px;font-weight:800;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.eqb span{font-size:10.5px;color:#475569;font-weight:600;margin-top:auto}
@media(min-width:700px){.eqs-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.eqt{grid-template-columns:repeat(4,minmax(0,1fr))}.eqb-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:900px){.eqb-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.eqb:hover{box-shadow:0 12px 24px -16px rgba(11,31,58,.5)}}
/* filter chips */
.eqf{display:grid;gap:6px;margin:0 0 18px}
.eqf-row{display:flex;gap:6px}.eqf-row--scroll{overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--pad,12px));padding:0 var(--pad,12px)}.eqf-row--scroll::-webkit-scrollbar{display:none}
.eqf button{flex:none;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid #E4E9F0;background:#fff;color:#0B1F3A;font:700 12px 'Outfit',system-ui,sans-serif;cursor:pointer}
.eqf button.is-on{background:#0B1F3A;color:#FFD23F;border-color:#0B1F3A}
.eqf-note{margin:2px 0 0;font-size:12px;font-weight:700;color:#1F5FBF}
.eq-card[hidden],.eq[hidden],.eqf-note[hidden]{display:none!important}
/* preparation kit band: the exam photo, sharp, under a dark gradient; kit as a white card */
.ek{position:relative;margin:0 0 22px;padding:16px 12px 12px;border-radius:18px;isolation:isolate;overflow:hidden;color:#fff;background:#0B1F3A;box-shadow:0 14px 30px -20px rgba(11,31,58,.6)}
.ek::before{content:"";position:absolute;inset:0;background:var(--bg) center 30%/cover no-repeat;opacity:.9;z-index:-2}
.ek::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,31,58,.35) 0%,rgba(11,31,58,.78) 45%,rgba(11,31,58,.94) 100%);z-index:-1}
.ek-head{margin:0 0 12px;padding:0 2px}.ek-kicker{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:800;color:#FFD23F}
.ek-head h3{margin:2px 0 0;font-size:20px;font-weight:800;line-height:1.1;letter-spacing:-.01em;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.ek-head p{margin:4px 0 0;font-size:12.5px;color:rgba(255,255,255,.85)}
.ek-tabs{display:flex;gap:6px;margin:0 0 10px}
.ek-tabs button{flex:1;min-height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);color:#fff;font:800 12.5px 'Outfit',system-ui,sans-serif;cursor:pointer;backdrop-filter:blur(6px)}
.ek-tabs button.is-on{background:#FFD23F;color:#0B1F3A;border-color:#FFD23F}
.ek-kit{display:none;background:#fff;color:#0B1F3A;border-radius:14px;padding:12px;box-shadow:0 10px 24px -18px rgba(0,0,0,.6)}.ek-kit.is-on{display:block}
.ek-sub{margin:0 0 8px;font-size:12px;color:#526175;font-weight:600}
.ek-items{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ek-items a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;text-decoration:none;color:inherit}
.ek-items img{width:48px;height:48px;object-fit:contain;border-radius:8px;background:#F4F6F9;filter:drop-shadow(0 4px 6px rgba(11,31,58,.18))}
.ek-items b{display:block;font-size:13px;font-weight:800;line-height:1.2}.ek-items small{display:block;font-size:11px;color:#526175;margin-top:1px}
.ek-items em{font-style:normal;font-weight:800;font-size:13px}
.ek-foot{display:grid;gap:10px;margin-top:12px;padding-top:10px;border-top:1px dashed #E4E9F0}
.ek-total{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 6px}.ek-total small{width:100%}
@media(min-width:700px){.ek-foot{display:flex;align-items:center;justify-content:space-between}.ek-total small{width:auto}}
.ek-total small{display:block;font-size:11px;color:#526175;font-weight:600}.ek-total b{font-size:18px;font-weight:800}.ek-total s{font-size:12px;color:#94A3B8;margin-left:6px}.ek-total i{font-style:normal;font-size:11px;font-weight:800;color:#16A34A;margin-left:6px}
.ek-add{min-height:44px;width:100%;padding:0 16px;border:0;border-radius:999px;background:#0B1F3A;color:#FFD23F;font:800 13px 'Outfit',system-ui,sans-serif;cursor:pointer;white-space:nowrap}
.ek-add:disabled{background:#16A34A;color:#fff}
@media(min-width:700px){.ek{padding:20px 18px 16px}}
@media(min-width:700px){.ek-add{width:auto}}
@media(min-width:900px){.ek{margin:0 0 24px;padding:22px}.ek-kit{max-width:560px}}
.eq-sentinel{margin:10px 0 0;text-align:center;font-size:12px;color:#526175;font-weight:600}
.eq-sentinel:not([data-done])::before{content:"";display:inline-block;width:14px;height:14px;border:2px solid #CBD5E1;border-top-color:#1F5FBF;border-radius:50%;margin-right:8px;vertical-align:-3px;animation:eqspin .8s linear infinite}
@keyframes eqspin{to{transform:rotate(360deg)}}
/* blended band: the exam scene, blurred and faded, confined to this block (fades in and out so nothing above or below is touched) */
.eq--band{position:relative;margin:0 0 22px;padding:16px 12px 14px;border-radius:18px;isolation:isolate;overflow:hidden;border:1px solid #E4E9F0}
.eq--band::before{content:"";position:absolute;inset:-40px 0;background:var(--bg) center/cover no-repeat;filter:blur(18px) saturate(1.2);opacity:.45;z-index:-2}
.eq--band::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(246,247,250,.9) 0%,rgba(246,247,250,.6) 30%,rgba(246,247,250,.6) 70%,rgba(246,247,250,.92) 100%);z-index:-1}
.eq--band .eq-head h3{color:#0B1F3A}.eq--band .eq-card{background:rgba(255,255,255,.94);backdrop-filter:blur(6px)}
@media(min-width:700px){.eq-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:700px){.eq--band{padding:20px 18px 16px}}
@media(min-width:900px){.eq-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.eq--band{margin:0 0 24px;padding:22px}}
.ex-row{margin:0 0 22px}
.ex-row-h{margin:0 0 10px;font-size:16px;font-weight:800;letter-spacing:-.01em;color:#0B1F3A}
.ex-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}
.ex-tile{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:#0B1F3A;min-width:0}
.ex-tile-img{width:100%;aspect-ratio:1;border-radius:16px;background:linear-gradient(160deg,#fff,#EAF1FB);border:1px solid #E4E9F0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ex-tile-img img{width:84%;height:84%;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(11,31,58,.18))}
.ex-tile-img i{font-style:normal;font-weight:800;font-size:26px;color:#1F5FBF}
.ex-tile-name{font-size:12px;font-weight:700;line-height:1.2;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ex-tile-sub{font-size:10.5px;color:#526175;font-weight:600}
.ex-tile:active .ex-tile-img{transform:scale(.97)}
.ex-empty{color:#526175;font-size:14px}
@media(min-width:700px){
  .ex-wrap{grid-template-columns:120px minmax(0,1fr)}
  .ex-rail a{font-size:12px}
  .ex-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 12px}
  .ex-panes{--pad:18px;padding:14px var(--pad) 32px}
  .ex-pane-head{grid-template-columns:1fr auto;align-items:center}
}
@media(min-width:900px){
  .ex-head{padding:14px 0 10px}
  .ex-wrap{grid-template-columns:200px minmax(0,1fr);gap:24px;padding-bottom:40px}
  .ex-rail{border:1px solid #E4E9F0;border-radius:18px;padding:8px;max-height:calc(100vh - var(--ch-h,132px) - 24px)}
  .ex-rail a{flex-direction:row;gap:12px;padding:10px 12px;border-left:0;border-radius:12px;min-height:56px;text-align:left;font-size:14px}
  .ex-rail a i{width:44px;height:44px;flex:none;border-radius:12px}
  .ex-rail a small{margin-left:auto;font-size:12px}
  .ex-rail a.is-on{background:#EAF1FB}
  .ex-panes{padding:0 0 24px;background:#fff;border:1px solid #E4E9F0;border-radius:18px}
  .ex-pane{padding:22px 24px}
  .ex-pane-head h2{font-size:22px}
  .ex-hero{min-height:240px;border-radius:20px;margin-bottom:22px}.ex-hero-txt{padding:22px 24px}.ex-hero h2{font-size:30px}.ex-hero p{font-size:14px}.ex-hero-ic svg{width:220px;height:220px}
  .ex-tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:18px 16px}
  .ex-tile-name{font-size:13px}
  .ex-tile:hover .ex-tile-img{box-shadow:0 12px 26px -16px rgba(11,31,58,.5);border-color:#CBD5E1}
}

/* phone sheet: the /exams/ content in a full-screen layer above the page, under the bottom nav */
.ex-sheet{position:fixed;left:0;right:0;top:0;bottom:calc(60px + env(safe-area-inset-bottom,0px));z-index:1050;background:#F6F7FA;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(12px);opacity:0;pointer-events:none;transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .18s}
.ex-sheet.is-open{transform:none;opacity:1;pointer-events:auto}
.ex-sheet{scrollbar-width:none;scrollbar-gutter:auto;overflow-x:hidden;overscroll-behavior:contain}
.ex-sheet .ex,.ex-sheet .ex-panes,.ex-sheet .ex-pane{max-width:100%;overflow-x:clip}.ex-sheet::-webkit-scrollbar{width:0;height:0;display:none}
.ex-sheet .ex--sheet{min-height:100%}
.ex-sheet .ex-head{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #E4E9F0;padding-top:max(6px,env(safe-area-inset-top,0px))}
/* the /exams/ page itself on phones: same simple bar, the big site header stays out of the way */
@media(max-width:899px){body.is-exams .ch{display:none}body.is-exams .ex-head{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid #E4E9F0}body.is-exams .ex-rail{top:56px;max-height:calc(100vh - 56px - 64px)}body.is-exams .ex-wrap{grid-template-columns:76px minmax(0,1fr)}}
.ex-sheet .ex-rail{top:64px;max-height:calc(100vh - 60px - 64px - env(safe-area-inset-bottom,0px))}
.ex-sheet-loading{display:flex;align-items:center;justify-content:center;min-height:50vh;color:#526175;font:600 14px 'Outfit',system-ui,sans-serif}
body.ch-exams-open{overflow:hidden}
html:has(body.ch-exams-open){scrollbar-gutter:auto}   /* main.css reserves a gutter; with classic scrollbars the fixed sheet stopped 17px short of the right edge */
.ex-sheet{width:100vw;right:auto}
body.ch-exams-open .ch-bnav a.is-active:not(#BnavExams){color:#475569}body.ch-exams-open .ch-bnav a.is-active:not(#BnavExams)::before{width:0}
body.ch-exams-open #BnavExams{color:#1F5FBF}body.ch-exams-open #BnavExams::before{width:28px}
/* bar collapse on scroll down: a 10px edge stays, the rail follows */
.ex-sheet .ex-head,body.is-exams .ex-head{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
.ex-sheet .ex-rail,body.is-exams .ex-rail{top:56px;max-height:calc(100vh - 56px - 64px);transition:top .25s cubic-bezier(.2,.8,.2,1)}
.ex.is-down .ex-head{transform:translateY(calc(-100% + 10px));box-shadow:0 2px 12px rgba(11,31,58,.14)}
.ex-sheet .ex.is-down .ex-rail,body.is-exams .ex.is-down .ex-rail{top:10px;max-height:calc(100vh - 10px - 64px)}
@media(min-width:900px){.ex-sheet{display:none}.ex.is-down .ex-head{transform:none;box-shadow:none}}
