/* ============================================================
   ASSESSMENT SURFACES - jobs, profile, rubric, debrief, history
   ============================================================ */

/* --- job list --- */
.joblist{display:flex;flex-direction:column;gap:var(--sp-3)}
.job{
  border:1px solid var(--rule);border-radius:var(--radius);
  background:var(--paper-2);padding:var(--sp-4);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-4);align-items:start;
}
.job.is-current{border-color:var(--petrol);box-shadow:inset 3px 0 0 var(--petrol)}
.job h3{font-family:var(--font-display);font-weight:400;font-size:var(--step-2);letter-spacing:-.012em}
.job .org{color:var(--ink-2);font-size:var(--step--1);margin-top:.15rem}
.job .facts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--sp-3)}
.job .acts{display:flex;flex-direction:column;gap:.4rem;align-items:stretch;min-width:150px}
.job .deadline{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.05em;color:var(--ink-3);text-align:right}
.job .deadline.soon{color:var(--claret);font-weight:500}
@media(max-width:640px){.job{grid-template-columns:1fr}.job .deadline{text-align:left}}

/* --- rounds picker --- */
.rounds{display:flex;flex-direction:column;gap:.15rem;margin-top:var(--sp-3)}
.round{
  display:grid;grid-template-columns:auto 1fr auto;gap:var(--sp-3);align-items:center;
  padding:.55rem .7rem;border-radius:var(--radius);
  border:1px solid transparent;
}
.round:hover{background:var(--paper-3)}
.round input{margin:0;accent-color:var(--petrol);width:15px;height:15px}
.round .nm{font-size:var(--step--1);font-weight:500}
.round .nm em{display:block;font-style:normal;font-weight:400;color:var(--ink-3);font-size:.78rem;margin-top:.1rem}
.round .ct{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-3);font-variant-numeric:tabular-nums}

/* --- question inspector (prep view) --- */
.qlist{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}
.qitem{border:1px solid var(--rule);border-radius:var(--radius);background:var(--paper-2);overflow:hidden}
.qitem > summary{
  padding:.7rem .9rem;cursor:pointer;list-style:none;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:baseline;
}
.qitem > summary::-webkit-details-marker{display:none}
.qitem > summary:hover{background:var(--paper-3)}
.qitem .qn{font-family:var(--font-mono);font-size:.7rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.qitem .qt{font-family:var(--font-display);font-size:var(--step-1);font-weight:400;line-height:1.35}
.qitem[open] > summary{border-bottom:1px solid var(--rule-soft);background:var(--paper-3)}
.qbody{padding:var(--sp-4) .9rem;display:flex;flex-direction:column;gap:var(--sp-4)}
.qbody section{display:flex;flex-direction:column;gap:.5rem}
.qbody h4{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--ink-3);font-weight:500;
}
.qbody ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem}
.qbody li{font-size:var(--step--1);line-height:1.55;color:var(--ink-2)}
.qbody li b{color:var(--ink);font-weight:600}
.qbody .trap{border-left:2px solid var(--claret);padding-left:.75rem}
.qbody .trap li{color:var(--ink-2)}
.qbody .hook{border-left:2px solid var(--sage);padding-left:.75rem}
.probe-tbl{width:100%;border-collapse:collapse;font-size:var(--step--1)}
.probe-tbl td{padding:.35rem .6rem .35rem 0;vertical-align:top;border-bottom:1px solid var(--rule-soft)}
.probe-tbl td:first-child{white-space:nowrap;width:1%}
.probe-tbl tr:last-child td{border-bottom:none}
.probe-tbl .said{font-family:var(--font-display);font-style:italic;color:var(--ink)}

/* --- rubric --- */
.rubric{width:100%;border-collapse:collapse;font-size:var(--step--1)}
.rubric th{
  text-align:left;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink-3);font-weight:500;
  padding:0 .6rem .5rem 0;border-bottom:1px solid var(--rule);
}
.rubric th:last-child,.rubric td:last-child{text-align:right;padding-right:0}
.rubric td{padding:.6rem .6rem .6rem 0;border-bottom:1px solid var(--rule-soft);vertical-align:top}
.rubric tr:last-child td{border-bottom:none}
.rubric .crit{font-weight:600;color:var(--ink)}
.rubric .crit em{display:block;font-style:normal;font-weight:400;color:var(--ink-3);font-size:.78rem;margin-top:.1rem;max-width:46ch}
.rubric .sc{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;white-space:nowrap}

/* score dots */
.dots{display:inline-flex;gap:3px;vertical-align:middle}
.dots i{width:7px;height:7px;border-radius:50%;background:var(--rule);display:block}
.dots i.on{background:var(--petrol)}
.dots i.on.low{background:var(--claret)}
.dots i.on.mid{background:var(--amber)}
.dots i.on.high{background:var(--sage)}

/* band verdict */
.band{
  display:flex;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;
  padding:var(--sp-4);border-radius:var(--radius);
  background:var(--paper-3);border:1px solid var(--rule);
}
.band .num{font-family:var(--font-mono);font-size:var(--step-4);font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.band .of{font-family:var(--font-mono);color:var(--ink-3);font-size:var(--step-0)}
.band .verdict{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:.15rem}
.band .verdict .v{display:block;font-family:var(--font-display);font-size:var(--step-2);font-weight:400;line-height:1.1}
.band .verdict .d{display:block;font-size:.68rem;color:var(--ink-3);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.band[data-band="no"] .num,.band[data-band="no"] .v{color:var(--claret)}
.band[data-band="dev"] .num,.band[data-band="dev"] .v{color:var(--amber)}
.band[data-band="app"] .num,.band[data-band="app"] .v{color:var(--petrol)}
.band[data-band="strong"] .num,.band[data-band="strong"] .v{color:var(--sage)}

/* --- actions carried forward --- */
.actions-list{display:flex;flex-direction:column;gap:var(--sp-2);margin-top:var(--sp-3)}
.action{
  display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:start;
  padding:.7rem .85rem;border:1px solid var(--rule);border-radius:var(--radius);
  background:var(--paper-2);
}
.action input{margin:.25rem 0 0;accent-color:var(--sage);width:15px;height:15px}
.action .txt{font-size:var(--step--1);line-height:1.55}
.action.done .txt{color:var(--ink-3);text-decoration:line-through}
.action .src{font-family:var(--font-mono);font-size:.64rem;color:var(--ink-3);letter-spacing:.05em;white-space:nowrap}

/* --- answering one question again --- */
.retry-wrap{margin-top:var(--sp-3);display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}
.retry-btn{font-size:.72rem;padding:.35rem .65rem}
.retry{
  width:100%;border-left:2px solid var(--sage);padding:.6rem .8rem;
  background:var(--paper-3);border-radius:var(--radius);
  display:flex;flex-direction:column;gap:.4rem;
}
.retry-head{display:flex;gap:.7rem;align-items:baseline}
.retry-head .n{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.11em;
  text-transform:uppercase;color:var(--sage);font-weight:600;
}
.retry-head .w{font-family:var(--font-mono);font-size:.66rem;color:var(--ink-3)}
.retry-body{font-size:var(--step--1);line-height:1.6;color:var(--ink-2)}
.retry-delta{
  display:flex;flex-wrap:wrap;gap:.9rem;
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.04em;
  color:var(--ink-3);padding-top:.35rem;border-top:1px solid var(--rule-soft);
}
.retry-delta b{font-weight:600}
.d-up{color:var(--sage);font-weight:600}
.d-down{color:var(--claret);font-weight:600}
.d-same{color:var(--ink-3)}

/* --- transcript --- */
.transcript{display:flex;flex-direction:column;gap:var(--sp-4)}
.turn{display:grid;grid-template-columns:104px minmax(0,1fr);gap:var(--sp-4)}
.turn .side{display:flex;flex-direction:column;gap:.15rem}
.turn .side .who{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.turn .side .t{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.turn .body{font-size:var(--step-0);line-height:1.6}
.turn--q .body{font-family:var(--font-display);font-style:italic;font-size:var(--step-1);color:var(--ink);font-weight:400}
.turn--probe .body{font-family:var(--font-display);font-style:italic;color:var(--amber)}
.turn--a .body{color:var(--ink-2)}
.turn .stats{display:flex;gap:.9rem;margin-top:.45rem;font-family:var(--font-mono);font-size:.66rem;color:var(--ink-3);letter-spacing:.04em;flex-wrap:wrap}
.turn .stats .flag{color:var(--claret)}
@media(max-width:640px){.turn{grid-template-columns:1fr;gap:.3rem}.turn .side{flex-direction:row;gap:.6rem}}

/* --- history chart --- */
.chart{width:100%;height:auto;display:block}
.chart .grid{stroke:var(--rule-soft);stroke-width:1}
.chart .axis{fill:var(--ink-3);font-family:var(--font-mono);font-size:9px;letter-spacing:.04em}
.chart .line{fill:none;stroke:var(--petrol);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.chart .area{fill:var(--petrol);opacity:.09}
.chart .pt{fill:var(--paper-2);stroke:var(--petrol);stroke-width:2}
.chart .pt.last{fill:var(--petrol)}
.chart .lbl{fill:var(--ink);font-family:var(--font-mono);font-size:10px;font-weight:500}

.empty{
  padding:var(--sp-6) var(--sp-4);text-align:center;color:var(--ink-3);
  border:1px dashed var(--rule);border-radius:var(--radius);
}
.empty p{max-width:44ch;margin:0 auto;font-size:var(--step--1);line-height:1.6}
.empty .big{font-family:var(--font-display);font-size:var(--step-2);color:var(--ink-2);margin-bottom:.4rem;font-weight:400}

/* --- achievements --- */
.ach{display:flex;flex-direction:column;gap:.15rem;margin-top:var(--sp-3)}
.ach-row{
  display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:var(--sp-3);
  align-items:baseline;padding:.6rem .7rem;border-radius:var(--radius);
  border-bottom:1px solid var(--rule-soft);
}
.ach-row:hover{background:var(--paper-3)}
.ach-row .when{font-family:var(--font-mono);font-size:.68rem;color:var(--ink-3);font-variant-numeric:tabular-nums}
.ach-row .what{font-size:var(--step--1);line-height:1.5}
.ach-row .what b{font-weight:600}

/* --- toast --- */
#toast{
  position:fixed;left:50%;bottom:26px;transform:translate(-50%,14px);
  z-index:300;padding:.6rem 1.05rem;border-radius:var(--radius);
  background:var(--ink);color:var(--paper);font-size:var(--step--1);font-weight:500;
  box-shadow:var(--shadow);opacity:0;pointer-events:none;
  transition:opacity .2s ease,transform .2s ease;max-width:90vw;text-align:center;
}
#toast.show{opacity:1;transform:translate(-50%,0)}

/* --- modal --- */
.sheet{
  position:fixed;inset:0;z-index:200;display:none;
  align-items:center;justify-content:center;padding:var(--sp-4);
  background:rgba(10,14,16,.55);backdrop-filter:blur(2px);
}
.sheet.is-open{display:flex}
.sheet-inner{
  background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--radius);
  width:min(660px,100%);max-height:86vh;overflow-y:auto;padding:var(--sp-5);
  box-shadow:var(--shadow);
}
.sheet-inner h3{font-family:var(--font-display);font-weight:400;font-size:var(--step-2);margin-bottom:var(--sp-2)}
.sheet-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;margin-top:var(--sp-4)}
