/* Online Review - Create an Exam Set: builder panel + exam paper (screen and print). */
.or-ex-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}
@media(max-width:900px){.or-ex-layout{grid-template-columns:minmax(0,1fr)}}

/* Panel */
.or-ex-panel{position:sticky;top:100px;display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid var(--or-bd);border-radius:12px;background:var(--or-tint)}
.admin-bar .or-ex-panel{top:132px}
@media(max-width:900px){.or-ex-panel{position:static}}
.or-ex-count{font-size:.95rem}.or-ex-count b{font-size:1.4rem;color:var(--or-pri)}
.or-ex-field{display:flex;flex-direction:column;gap:5px;font-size:.84rem;font-weight:650}
.or-ex-field input,.or-ex-field textarea{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #cfd6df;border-radius:8px;background:#fff;font:inherit;font-weight:400;font-size:.92rem}
.or-ex-field input:focus,.or-ex-field textarea:focus{outline:none;border-color:var(--or-pri);box-shadow:0 0 0 3px var(--or-pri-t)}
.or-ex-check{display:flex;align-items:flex-start;gap:8px;font-size:.9rem;line-height:1.35;cursor:pointer}
.or-ex-check input{margin-top:3px}
.or-ex-check small{display:block;color:var(--or-mut);font-size:.78rem}
.or-ex-btns{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.or-ex-btns .or-btn{width:100%;font:inherit;font-weight:650;cursor:pointer}
.or-ex-clear{font:inherit!important;font-size:.84rem!important;background:none!important;border:0!important;color:var(--or-bad)!important;cursor:pointer;padding:4px!important;box-shadow:none!important}
.or-ex-tip{margin:0;font-size:.8rem;color:var(--or-mut);line-height:1.5}
.or-ex-empty .or-ex-steps{display:inline-block;text-align:left;margin:4px auto 18px;line-height:1.7}

/* Paper (screen preview) */
.or-ex-preview{min-width:0}
.or-ex-paper,.or-ex-key{background:#fff;border:1px solid var(--or-bd);border-radius:6px;box-shadow:0 18px 40px -28px rgba(15,23,42,.45);padding:40px 44px;margin-bottom:22px;color:#111;font-size:15px;line-height:1.55}
@media(max-width:600px){.or-ex-paper,.or-ex-key{padding:22px 18px}}
.or-ex-head{border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:18px}
.or-ex-site{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#555}
.or-ex-print .or-ex-title{margin:2px 0 6px!important;font-size:1.6rem!important;line-height:1.2;color:#111!important;border:0!important;padding:0!important}
.or-ex-inst{margin:0 0 10px;color:#333}
.or-ex-lines{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:.92rem}
.or-ex-lines span{display:inline-flex;align-items:flex-end;gap:6px}
.or-ex-lines i{display:inline-block;width:150px;border-bottom:1px solid #111;height:1em}
.or-ex-lines span:last-child i{width:48px}
.or-ex-list{margin:0;padding:0 0 0 1.6em}
.or-ex-q{position:relative;margin:0 0 20px;padding-left:4px;break-inside:avoid;page-break-inside:avoid}
.or-ex-q::marker{font-weight:700}
.or-ex-text{margin-bottom:8px}
.or-ex-text p{margin:0 0 .4em}
.or-ex-photo{display:block;max-width:100%;max-height:260px;margin:6px 0 10px}
.or-ex-choices{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:4px 24px}
.or-ex-choices.is-short{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,auto);grid-auto-flow:column}
.or-ex-l{font-weight:700;margin-right:4px}
.or-ex-src{margin-top:6px;font-size:.78rem;font-style:italic;color:#666}
.or-ex-print mjx-container{max-width:100%;overflow-x:auto;overflow-y:hidden}

/* Row tools (screen only) */
.or-ex-tools{position:absolute;right:-8px;top:-4px;display:flex;gap:4px;opacity:0;transition:opacity .12s}
.or-ex-q:hover .or-ex-tools,.or-ex-q:focus-within .or-ex-tools{opacity:1}
@media(hover:none){.or-ex-tools{opacity:1}}
.or-ex-tools button{width:28px!important;height:28px!important;padding:0!important;border:1px solid var(--or-bd)!important;border-radius:6px!important;background:#fff!important;color:#333!important;font:inherit!important;font-size:.85rem!important;cursor:pointer;box-shadow:none!important;line-height:1!important}
.or-ex-tools button:hover{border-color:var(--or-pri)!important;color:var(--or-pri)!important}
.or-ex-tools button[data-act="remove"]:hover{border-color:var(--or-bad)!important;color:var(--or-bad)!important}
.or-ex-q:has(.or-ex-tools){padding-right:100px}
@media(max-width:600px){.or-ex-q:has(.or-ex-tools){padding-right:0;padding-top:30px}.or-ex-tools{right:0;top:0}}

/* Answer key */
.or-ex-key h2{margin:0 0 2px!important;font-size:1.3rem!important;color:#111!important}
.or-ex-keysub{margin:0 0 14px;color:#555}
.or-ex-keygrid{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:6px 12px;font-variant-numeric:tabular-nums}
.or-ex-key h3{margin:22px 0 10px!important;font-size:1.05rem!important;color:#111!important;border-top:1px solid #ddd;padding-top:14px}
.or-ex-sols{list-style:none;margin:0;padding:0}
.or-ex-sols>li{margin:0 0 16px;break-inside:avoid;page-break-inside:avoid}
.or-ex-solhead{font-weight:650;margin-bottom:4px}
.or-ex-sol{line-height:1.9}
.or-ex-sol p{margin:0 0 .5em}

/* Print: only the exam copy placed under <body> by examset.js */
#or-print-root{display:none}
@media print{
  @page{margin:16mm 15mm}
  html.or-printing body>*:not(#or-print-root){display:none!important}
  html.or-printing #or-print-root{display:block}
  html.or-printing body{background:#fff!important;margin:0!important;padding:0!important}
  #or-print-root .or-ex-paper,#or-print-root .or-ex-key{border:0;box-shadow:none;padding:0;margin:0;font-size:11.5pt}
  #or-print-root .or-ex-key{break-before:page;page-break-before:always}
  #or-print-root .or-ex-q{padding-right:0}
  #or-print-root mjx-container{overflow:visible}
}

/* Theme button styles off the builder's buttons */
.or-ex-panel .or-btn{display:block!important;background:var(--or-pri)!important;color:#fff!important;border:1px solid var(--or-pri)!important;border-radius:8px!important;padding:10px 14px!important;font-size:.92rem!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;text-align:center}
.or-ex-panel .or-btn:hover{background:var(--or-pri-d)!important;border-color:var(--or-pri-d)!important}
.or-ex-panel .or-btn-ghost{background:#fff!important;color:var(--or-pri)!important;border-color:var(--or-bd)!important}
.or-ex-panel .or-btn-ghost:hover{background:var(--or-pri-t)!important;border-color:var(--or-pri)!important;color:var(--or-pri)!important}
