/* Components of the tutor pilot console beyond the shared theme (pilot-theme.css). */
.p-learner{background:var(--surface-2)}
.p-quote{border-left:3px solid var(--line-strong);padding:6px 12px;margin:8px 0;background:var(--surface);font-size:14px;white-space:pre-wrap}
.p-question{white-space:pre-wrap;font-size:14px;margin:4px 0 0}
.p-reply{white-space:pre-wrap;font-size:14.5px;line-height:1.6;margin:6px 0 0}
.p-pick{cursor:pointer;border-width:2px;transition:border-color .12s,box-shadow .12s}
.p-pick{position:relative}
.p-pick:hover{border-color:var(--accent)}
.p-pick:focus{outline:none}
.p-pick:focus-visible{outline:2px dashed var(--accent);outline-offset:3px}
.p-pick.p-chosen{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-wash)}
.p-pick.p-chosen::after{content:attr(data-ribbon);position:absolute;top:-11px;right:14px;background:var(--accent);color:#fff;
  font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px}
.p-pick.p-revealed{cursor:default}
.p-pick.p-won{background:var(--good-bg);border-color:var(--good-mid)}
.p-pick.p-lost{background:var(--bad-bg);border-color:var(--bad-mid)}
.p-pick.p-won.p-chosen,.p-pick.p-lost.p-chosen{box-shadow:none}
.p-model{font-weight:700;color:var(--ink);text-transform:none;letter-spacing:0;font-size:13px}
.p-score{font-size:22px;font-weight:750;font-variant-numeric:tabular-nums}
.p-win{color:var(--good-fg)}
.p-marks td,.p-marks th{text-align:center;white-space:normal}
.p-marks td:first-child,.p-marks th:first-child{text-align:left}
.p-yes{color:var(--good-fg);font-weight:700}
.p-no{color:var(--bad-fg)}
.p-met{font-weight:800}
.p-tag{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:11.5px;color:var(--soft);margin:2px 4px 0 0;background:var(--surface)}
.p-tag.p-dark{border-color:var(--ink);color:var(--ink)}
.p-empty{padding:28px 20px;text-align:center}
.p-bar{position:relative;height:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:3px;min-width:120px}
.p-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);border-radius:2px}
.p-bar.p-ours i{background:var(--accent-ink)}
.p-bar.p-ref i{background:var(--soft)}
.p-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.p-split3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.p-side{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:860px){.p-split,.p-split3,.p-side{grid-template-columns:1fr}}
.p-big{font-size:26px;font-weight:750;font-variant-numeric:tabular-nums;margin:2px 0}
.p-list{list-style:none;margin:0;padding:0;max-height:560px;overflow:auto}
.p-list li{padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13px}
.p-list li:hover{background:var(--surface-2)}
.p-list li.on{background:var(--accent-wash);color:var(--accent-ink);font-weight:600}
.p-input{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:6px;font:inherit;font-size:13px;background:var(--surface);color:var(--ink)}
.p-toc{position:sticky;top:12px}
.p-toc a{display:block;color:var(--soft);text-decoration:none;font-size:13px;padding:3px 0}
.p-toc a:hover{color:var(--ink)}
.p-prose h2{font-size:18px;margin:26px 0 8px}
.p-prose p,.p-prose li{max-width:78ch;font-size:14.5px}
.p-pre{white-space:pre-wrap;font-family:var(--font-mono);font-size:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0}
.p-markbtn{min-width:46px}
.p-next{position:fixed;right:clamp(16px,2.4vw,32px);bottom:clamp(14px,2vw,26px);z-index:60;
  display:flex;align-items:center;gap:16px;margin:0;padding:0;background:none;border:none;cursor:pointer;
  color:var(--ink);font:inherit}
.p-next-orb{position:relative;width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(150deg,#3b82f6 0%,#2563eb 48%,#1e40af 100%);
  box-shadow:0 12px 26px -8px rgba(30,64,175,.6),0 3px 8px rgba(15,23,42,.16),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -3px 6px rgba(15,23,42,.2);
  transition:transform .16s ease,box-shadow .16s ease}
/* A soft halo ring around the button that opens out on hover. */
.p-next-orb::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid rgba(37,99,235,.22);
  transition:inset .18s ease,border-color .18s ease}
.p-next-orb svg{margin-left:3px;width:28px;height:28px}
.p-next-orb svg path{stroke-width:3.4}
.p-next:hover .p-next-orb{transform:translateY(-2px);box-shadow:0 16px 30px -8px rgba(30,64,175,.65),0 4px 10px rgba(15,23,42,.18),inset 0 1px 0 rgba(255,255,255,.3),inset 0 -3px 6px rgba(15,23,42,.2)}
.p-next:hover .p-next-orb::after{inset:-11px;border-color:rgba(37,99,235,.32)}
.p-next:active .p-next-orb{transform:translateY(0) scale(.97)}
.p-next:focus-visible{outline:none}
.p-next:focus-visible .p-next-orb{outline:3px solid var(--ink);outline-offset:6px}
.p-next[hidden]{display:none}
@media (max-width:640px){.p-next-orb{width:56px;height:56px}.p-next-orb svg{width:24px;height:24px}}
.p-yesno{display:inline-flex;gap:6px;flex-wrap:nowrap;white-space:nowrap}
.p-marks td:nth-child(2){min-width:116px}
.p-markbtn[aria-pressed="true"]{background:var(--accent-wash);border-color:var(--accent);color:var(--accent-ink)}
.p-chart{width:100%;height:auto;display:block}
.p-chart text{font-size:11px;fill:var(--soft)}
.p-chart .p-line{fill:none;stroke:var(--accent-ink);stroke-width:2}
.p-chart .p-dot{fill:var(--accent-ink)}
.p-chart .p-dot14{fill:var(--good-fg)}
.p-chart .p-grid{stroke:var(--line);stroke-width:1}
.p-chart .p-refline{stroke:var(--soft);stroke-dasharray:4 4}
.p-btnlink{display:inline-block;padding:9px 15px;border-radius:8px;border:1px solid var(--accent);background:transparent;color:var(--accent-ink);font:inherit;font-weight:650;font-size:13px;text-decoration:none;cursor:pointer}
.p-btnlink:hover{background:var(--accent-wash)}
.p-info{width:22px;height:22px;min-width:0;padding:0;border-radius:50%;font-size:12px;font-weight:800;line-height:1;
  border:1px solid var(--line-strong);background:var(--surface);color:var(--soft);cursor:pointer}
.p-info[aria-expanded="true"]{border-color:var(--accent);color:var(--accent-ink);background:var(--accent-wash)}
.p-note{margin:10px 0 0;max-width:110ch}
.p-note[hidden]{display:none}
.p-ctls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.p-ctl{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.p-ctl[hidden]{display:none}
.p-st{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:1px;flex:none;box-sizing:border-box}
.p-st-untuned{border:1.5px solid var(--faint)}
.p-st-prompt{border:1.5px dashed var(--soft)}
.p-st-generic{border:1.5px solid var(--soft);background:linear-gradient(90deg,var(--soft) 50%,transparent 50%)}
.p-st-ours{background:var(--accent)}
.p-st-dpo{background:var(--accent);box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--accent)}
.p-st-mainstream{border-radius:2px;border:1.5px solid var(--ink);background:var(--surface)}
.p-st-ref{border-radius:1px;transform:rotate(45deg);width:8px;height:8px;background:var(--soft)}
.p-st-legend{display:flex;flex-wrap:wrap;gap:6px 16px;margin:6px 0 10px;font-size:12px;color:var(--soft)}
.p-st-item{display:inline-flex;align-items:center}
.p-prof{position:relative;margin-left:6px}
.p-prof-btn{display:inline-flex;align-items:center;gap:7px;padding:4px 8px 4px 4px;border:1px solid transparent;border-radius:999px;
  background:none;color:var(--soft);font:inherit;font-size:12.5px;cursor:pointer}
.p-prof-btn:hover,.p-prof-btn[aria-expanded="true"]{border-color:var(--line);background:var(--surface);color:var(--ink)}
.p-prof-ico{color:var(--accent-ink);flex:none}
.p-prof-caret{font-size:10px;color:var(--faint)}
.p-prof-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:80;min-width:220px;padding:8px;border:1px solid var(--line);
  border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}
.p-prof-menu[hidden]{display:none}
.p-prof-head{font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);padding:4px 6px}
.p-prof-who{font-size:13px;color:var(--ink);padding:0 6px 4px;word-break:break-all}
.p-prof-sep{height:1px;background:var(--line);margin:6px 0}
.p-prof-langs{display:flex;gap:6px;padding:2px 6px 4px}
.p-prof-lang{flex:1;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.p-prof-lang[aria-checked="true"]{border-color:var(--accent);background:var(--accent-wash);color:var(--accent-ink);font-weight:700}
.p-prof-item{display:block;width:100%;text-align:left;padding:7px 8px;border:none;border-radius:7px;background:none;font:inherit;font-size:13px;cursor:pointer;color:var(--ink)}
.p-prof-item:hover{background:var(--surface-2)}
@media (max-width:640px){.p-prof-email{display:none}}
/* Mathematics as a textbook sets it (pilot-math.js): stacked fractions, mixed numbers, display lines, lists. */
.p-blank{display:inline-block;min-width:1.5em;height:1.05em;border-bottom:2px solid currentColor}
.p-frac{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;font-size:.84em;line-height:1.12;margin:0 .12em;text-align:center;white-space:nowrap}
.p-fn{padding:0 .2em .05em;border-bottom:1.3px solid currentColor;min-width:.9em}
.p-fd{padding:.05em .2em 0;min-width:.9em}
.p-mixed{white-space:nowrap}
.p-mw{margin-right:.06em}
.p-mdisplay{text-align:center;margin:.5em 0;font-size:1.04em}
.p-marray{display:inline-block;text-align:right;line-height:1.3}
.p-marray-total{border-top:1px solid currentColor}
.p-imath{white-space:nowrap}
.p-mbox{display:inline-block;border:1px solid currentColor;padding:0 .2em}
.p-mbold{font-weight:700}
.p-mpara{margin:0 0 .55em;white-space:normal}
.p-mpara:last-child{margin-bottom:0}
.p-mlist{margin:.15em 0 .55em;padding-left:1.4em;white-space:normal}
.p-mlist li{margin:.15em 0}
.p-reply,.p-question,.p-quote{white-space:normal}
.p-quote .p-mpara{margin:0}
.p-chunk{margin-top:.55em}
.p-kinds{position:relative;display:inline-block}
.p-kindbtn{font:inherit;font-weight:400;color:var(--ink);background:var(--surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'><path d='M1.2 1.2l4.3 4.3 4.3-4.3' fill='none' stroke='%23171A21' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat right 12px center;
  border:1px solid var(--line);border-radius:8px;padding:8px 34px 8px 12px;min-width:92px;text-align:left;cursor:pointer;white-space:nowrap}
.p-kindbtn:hover,.p-kindbtn[aria-expanded="true"]{border-color:var(--accent)}
.p-kindmenu{position:absolute;z-index:30;top:calc(100% + 4px);left:0;min-width:210px;display:flex;flex-direction:column;gap:9px;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(15,23,42,.14)}
.p-kindmenu[hidden]{display:none}
#controls .duel-prompt{flex-direction:column;align-items:stretch;gap:10px}
#controls .duel-prompt-controls{gap:10px 14px}
#controls .p-ctl{gap:6px}
#controls #tutor{max-width:280px;text-overflow:ellipsis}
.p-kind{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--ink);cursor:pointer;white-space:nowrap}
.p-kind input{margin:0;accent-color:var(--accent);width:15px;height:15px}
.p-kind .p-st{margin-right:0}
.p-chart .p-hit{fill:transparent;pointer-events:all;cursor:pointer;outline:none}
.p-chart .p-hit:hover,.p-chart .p-hit:focus{fill:rgba(37,99,235,.12)}
.p-sechead{display:flex;align-items:center;gap:6px}
.p-teaser{margin:6px 0 0}
.p-more{margin-top:8px}
.p-logo{display:inline-flex;align-items:center;margin-right:14px;padding:3px 2px;
  color:var(--ink);font-weight:900;font-size:15px;letter-spacing:.2em;line-height:1.2;text-decoration:none}
.p-logo:hover{color:var(--accent)}
.p-logo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.p-foot{max-width:min(1440px,100%);margin:28px auto 0;padding:18px clamp(14px,2.2vw,32px) 110px;border-top:1px solid var(--line);color:var(--soft);font-size:12.5px;text-align:center}
.p-badges{display:flex;flex-wrap:wrap;gap:2px 0}
.p-tag.p-serious{border-color:var(--bad-mid);color:var(--bad-fg)}
/* A box that opens and closes when clicked anywhere on it. */
.p-fold{cursor:pointer;transition:border-color .12s}
.p-fold:hover{border-color:var(--line-strong)}
/* The switch that shows the questions and replies in Chinese (Chinese pages only). */
.p-zhswitch{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:13px;color:var(--soft);cursor:pointer;user-select:none}
.p-zhswitch input{position:absolute;opacity:0;width:0;height:0}
.p-zhtrack{position:relative;width:34px;height:20px;border-radius:999px;background:var(--line-strong);transition:background .15s ease;flex:none}
.p-zhtrack::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.3);transition:transform .15s ease}
.p-zhswitch input:checked + .p-zhtrack{background:var(--accent)}
.p-zhswitch input:checked + .p-zhtrack::after{transform:translateX(14px)}
.p-zhswitch input:focus-visible + .p-zhtrack{outline:2px solid var(--ink);outline-offset:2px}
.p-zhswitch:hover{color:var(--ink)}
/* The page title with its info icon on the left and the Chinese switch on the right. */
.p-titlerow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:22px 0 16px}
.p-titlerow h1{margin:0}
.p-titleright{margin-left:auto}
.p-titleright .p-zhswitch{margin-top:0}
