.jk{display:grid;gap:10px;position:relative}.jk,.jk-code,.jk-job,.jk-match,.jk-ref,.jk-table,.jk-table td,.jk-table th{color:var(--bb-ink)}.jk-lit{color:#a14b00}.jk-strip{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.jk-tab{min-width:2.2rem;height:2.2rem;border-radius:50%;border:2px solid var(--bb-line);background:#fff;color:var(--bb-ink);font:600 .95rem var(--body);cursor:pointer}.jk-tab.at{border-color:var(--bb-accent);box-shadow:0 0 0 2px var(--bb-accent) inset}.jk-tab.done{background:var(--bb-ok);border-color:var(--bb-ok);color:#fff}.jk-refbtn{margin-left:auto;font:600 .9rem var(--body);background:#fff;border:1px solid #9aa5b4;border-radius:5px;padding:.35rem .8rem;cursor:pointer}.jk-job{background:#fff;border:1px solid var(--bb-line);border-radius:8px;padding:.7rem .8rem .8rem;min-width:0}.jk-title{margin:0 0 .2rem;font:700 1.05rem var(--body);color:var(--bb-ink)}.jk-prompt{margin:0 0 .6rem;color:var(--bb-ink)}.jk-split{display:grid;gap:10px;grid-template-columns:minmax(0,1fr)}@media (min-width:900px){.jk-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}}.jk-code{font:.95rem/1.55 var(--mono);background:#fbfaf6;border:1px solid var(--bb-line);border-radius:6px;padding:.4rem 0;overflow-x:auto;min-width:0}.jk-line{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:baseline;width:100%;text-align:left;border:0;background:transparent;padding:0 .5rem 0 0;font:inherit;color:inherit;white-space:pre}button.jk-line{cursor:pointer}button.jk-line:hover{background:#f1ede2}.jk-line.cur{background:var(--bb-hl);box-shadow:inset 3px 0 0 #d9a400}.jk-num{color:#66624f;text-align:right;padding-right:.7rem;user-select:none}.jk-src{min-width:0}.jk-steps{font:700 .75rem var(--body);color:#fff;background:#a04e1d;border-radius:9px;padding:0 .45rem;margin-left:.5rem}.jk-kw{color:#6b2fa3;font-weight:600}.jk-str{color:#0f6b3a}.jk-com{color:#6b6b6b;font-style:italic}.jk-tok{font:inherit;color:inherit;background:transparent;border:1px solid transparent;border-radius:3px;padding:0;margin:0;cursor:pointer;white-space:pre}.jk-tok:hover{border-color:#9aa5b4;background:#eef2f8}.jk-tok.on{background:#d6f0df;border-color:var(--bb-ok)}.jk-work{display:grid;gap:.55rem;align-content:start;min-width:0}.jk-q{margin:0;font-weight:600;color:var(--bb-ink)}.jk-tip{margin:.3rem 0 0;font-size:.82rem;color:var(--bb-dim)}.jk-btn{justify-self:start;font:600 .95rem var(--body);background:#a04e1d;color:#fff;border:0;border-radius:6px;padding:.5rem 1rem;cursor:pointer;margin-top:.4rem}.jk-btn:disabled{opacity:.45;cursor:default}.jk-btn.ghost{background:#fff;color:var(--bb-ink);border:1px solid #9aa5b4}.jk-table{border-collapse:collapse;width:100%;font-size:.95rem}.jk-table td,.jk-table th{border:1px solid var(--bb-line);padding:.25rem .35rem;text-align:center}.jk-table thead th{background:#efe9da;font-weight:700}.jk-table tbody th{background:#f7f4ec;width:3rem}.jk-table tr.jk-done td{background:#eef8f1;font-family:var(--mono)}.jk-table td.bad{background:#fdecea}.jk-cell{width:100%;min-width:3.5rem;font:.95rem var(--mono);border:1px solid #9aa5b4;border-radius:4px;padding:.25rem .3rem;text-align:center}.jk-table td.bad .jk-cell{border-color:var(--bb-bad)}.jk-ok{color:var(--bb-ok);font-weight:700}.jk-blank{color:#a9a493}.jk-out{font:.95rem/1.5 var(--mono);width:100%;border:1px solid #9aa5b4;border-radius:5px;padding:.4rem .5rem;resize:vertical}.jk-chips{display:flex;flex-wrap:wrap;gap:6px}.jk-chip{font:.95rem var(--mono);background:#fff;border:1px solid #9aa5b4;border-radius:16px;padding:.25rem .8rem;cursor:pointer}.jk-chip.on{background:#d6f0df;border-color:var(--bb-ok)}.jk-choices{display:grid;gap:6px}.jk-choice{display:flex;gap:.5rem;align-items:baseline;text-align:left;font:.95rem var(--body);background:#fff;color:var(--bb-ink);border:1px solid #9aa5b4;border-radius:6px;padding:.45rem .6rem;cursor:pointer}.jk-choice pre{margin:0;font:.9rem/1.4 var(--mono);white-space:pre-wrap}.jk-choice:hover:not(:disabled){background:#f3f6fa}.jk-choice.tried{opacity:.5;text-decoration:line-through}.jk-choice.right{background:#d6f0df;border-color:var(--bb-ok);opacity:1}.jk-target{margin:0;font:1.3rem/1.5 var(--mono);background:#fbfaf6;border:1px solid var(--bb-line);border-radius:6px;padding:.5rem .7rem;white-space:pre-wrap;overflow-wrap:anywhere}.jk-typein{font:1.3rem var(--mono);width:100%;border:1px solid #9aa5b4;border-radius:5px;padding:.35rem .5rem}.jk-match{border-collapse:collapse;justify-self:start}.jk-match td,.jk-match th{padding:.25rem .4rem;text-align:left}.jk-match tr.bad td select{border-color:var(--bb-bad);background:#fdecea}.jk-match select{font:.95rem var(--body);padding:.2rem .3rem}.jk-msg{min-height:1.4em;margin:.6rem 0 0;font-weight:600}.jk-msg.ok{color:var(--bb-ok)}.jk-msg.no{color:var(--bb-bad)}.jk-coach,.jk-coach-locked{margin-top:.7rem;border-top:1px dashed var(--bb-line);padding-top:.6rem}.jk-coach-locked{font-size:.88rem;color:var(--bb-dim)}.jk-coach-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:.4rem}.jk-coach-row label{font-weight:600}.jk-coach-row input,.jk-coach-row select{font:.95rem var(--body);padding:.25rem .4rem;border:1px solid #9aa5b4;border-radius:4px}.jk-coach-row .jk-btn{margin-top:0}.jk-coach-note{margin:.3rem 0;color:var(--bb-bad);font-weight:600}.jk-coach-answer{background:#f4f1fb;border:1px solid #c9bfe3;border-radius:6px;padding:.5rem .7rem}.jk-coach-from{margin:0 0 .3rem;font-size:.82rem;color:var(--bb-dim)}.jk-coach-answer pre{margin:0;white-space:pre-wrap;font:.92rem/1.45 var(--body)}.jk-ref{background:#fff;border:2px solid var(--bb-accent);border-radius:8px;padding:.6rem .8rem;max-height:70vh;overflow:auto}.jk-ref-head{display:flex;justify-content:space-between;align-items:center;gap:1rem}.jk-ref-head h2{margin:0;font:700 1.05rem var(--body)}.jk-ref-note{font-size:.85rem;color:var(--bb-dim);margin:.4rem 0}.jk-ref-t{border-collapse:collapse;width:100%;margin:.5rem 0;font-size:.88rem}.jk-ref-t caption{text-align:left;font-weight:700;padding:.2rem 0}.jk-ref-t td,.jk-ref-t th{border:1px solid var(--bb-line);padding:.25rem .4rem;text-align:left;vertical-align:top}.jk-ref-t th{font-weight:400;width:50%}.jk-tabwrap{display:contents}.jk-part{align-self:center;margin:0 2px 0 8px;font:600 .68rem/1 var(--mono,ui-monospace,monospace);letter-spacing:.1em;text-transform:uppercase;color:var(--bb-accent,#C2622F)}.jk-part:first-child{margin-left:0}.jk-tab.locked{opacity:.55}.jk-locked{margin:.6rem 0;padding:.7rem .9rem;border:2px dashed var(--bb-line,#b9b09c);border-radius:6px;background:var(--bb-hl,#fff3c4);color:var(--bb-ink,#1B1B1B)}