:root{--ground:#e9edf0;--panel:#fff;--ink:#14181c;--muted:#6d7880;--rule:#d3dade;--calmer-fill:#cfeada;--calmer-ink:#1d6b40;--wrong-fill:#f8d7ce;--wrong-ink:#a03a24;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);line-height:1.6}header{padding:13px 24px 11px;border-bottom:1px solid var(--rule);background:var(--panel)}.hrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap}h1{margin:0;font-family:var(--mono);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.who-id{margin-left:auto;display:flex;align-items:center;gap:14px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}#whoCode{color:var(--ink)}.fabs{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;flex-direction:column;align-items:flex-end;gap:10px}body[data-ready="0"] .fabs,body[data-done="1"] .fabs{display:none}.fab{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;cursor:pointer;color:var(--ink);background:var(--panel);border:1px solid var(--rule);border-radius:24px;box-shadow:0 4px 16px rgba(20,24,28,.16);font-family:var(--mono);font-size:10.5px;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}.fab:hover{border-color:var(--ink);box-shadow:0 7px 22px rgba(20,24,28,.24)}.fab:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.fab .cnt{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;border-radius:10px;background:var(--ground);color:var(--ink);font-size:10px;letter-spacing:0;font-variant-numeric:tabular-nums}#panelToggle[aria-expanded="true"]{background:var(--ink);border-color:var(--ink);color:#fff}.fab.prim{background:var(--ink);border-color:var(--ink);color:#fff}.fab.prim:hover{opacity:.9}body[data-verdict="1"] #finishBtn{display:none}.howto{margin:7px 0 0;display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;color:var(--muted)}.howto .chip{padding:1px 7px;border-radius:3px;color:var(--ink)}.howto .chip.calmer{background:var(--calmer-fill);box-shadow:inset 0 -2px 0 var(--calmer-ink)}.howto .chip.wrong{background:var(--wrong-fill);box-shadow:inset 0 -2px 0 var(--wrong-ink)}.gate{max-width:360px;margin:14vh auto 0;padding:22px 22px 20px;background:var(--panel);border:1px solid var(--rule);border-radius:4px;text-align:center}.gate h2{margin:0 0 6px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.gate p{margin:0 0 14px;font-family:var(--mono);font-size:10.5px;color:var(--muted);line-height:1.5}.gate input{width:100%;padding:9px 11px;font-family:var(--mono);font-size:13px;letter-spacing:.12em;text-align:center;color:var(--ink);background:var(--ground);border:1px solid var(--rule);border-radius:3px}.gate input:focus{outline:2px solid var(--ink);outline-offset:1px}.gate button{width:100%;margin-top:9px;padding:9px;cursor:pointer;color:#fff;background:var(--ink);border:0;border-radius:3px;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase}.gate .err{margin:11px 0 0;color:var(--wrong-ink)}.gate.bad{animation:nudge .3s}@keyframes nudge{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}#task{max-width:860px;margin:0 auto;padding:16px 24px 90px}.brief{margin:0 0 14px;padding:10px 16px;background:var(--panel);border:1px solid var(--rule);border-radius:4px}.brieftext{margin:0;font-size:13.5px;line-height:1.5}.blabel{margin-right:9px;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.q{margin:6px 0 0;padding:2px 0 2px 12px;border-left:3px solid var(--rule);font-size:14px;line-height:1.5;font-style:italic;color:#3f4950}.unit{background:var(--panel);border:1px solid var(--rule);border-radius:4px}.uh{display:flex;align-items:center;gap:9px;padding:10px 12px;border-bottom:1px solid var(--rule)}.uh .tag{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:600}.uh .un{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--muted);white-space:nowrap}.unit .chat{padding:18px 16px 22px;background:var(--ground);border-radius:0 0 4px 4px}.chat{display:flex;flex-direction:column;gap:18px}.msg{display:flex;flex-direction:column;max-width:90%}.msg.client{align-self:flex-end;align-items:flex-end}.msg.advisor{align-self:flex-start;align-items:flex-start}.msg .who{font-family:var(--mono);font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted);margin:0 5px 4px}
.msg .bub{font-size:14.5px;padding:12px 16px;border:1px solid var(--rule);border-radius:16px}.par{margin:0;white-space:pre-wrap}.par+.par{margin-top:.82em}.msg.advisor .bub{background:var(--panel);border-bottom-left-radius:5px}.msg.client .bub{background:#dee5ea;border-color:#ccd6dc;color:#3f4950;font-size:14px;border-bottom-right-radius:5px}.msg.ctx{opacity:.9}.msg.ctx .bub{background:#e4eaee;border-style:dashed}.msg .ctxnote{margin:4px 5px 0;font-family:var(--mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}.msg.focus{max-width:100%}.msg.focus .who{color:var(--ink);font-weight:600}.msg.focus .bub{border-color:#b9c4ca;box-shadow:0 2px 10px rgba(20,24,28,.06)}.hl{border-radius:2px;padding:1px 0;cursor:pointer;transition:background .12s,box-shadow .12s}.hl[data-v="calmer"]{background:var(--calmer-fill);box-shadow:inset 0 -2px 0 var(--calmer-ink)}.hl[data-v="wrong"]{background:var(--wrong-fill);box-shadow:inset 0 -2px 0 var(--wrong-ink)}.hl:hover{outline:2px solid currentColor;outline-offset:1px}.hl[data-v="calmer"]:hover{color:var(--calmer-ink)}.hl[data-v="wrong"]:hover{color:var(--wrong-ink)}.hl.on{outline:2px solid var(--ink);outline-offset:1px}.mdm{display:none}.bub strong{font-weight:650}.bub em{font-style:italic}::selection{background:#c8d4dc}.selpop{display:none;position:fixed;z-index:60;width:340px;max-width:calc(100vw - 24px);flex-direction:column;gap:9px;padding:12px;background:var(--panel);border:1px solid var(--rule);border-radius:6px;box-shadow:0 10px 34px rgba(20,24,28,.26)}.selpop[data-open="1"]{display:flex}.selpop .pq{margin:0;max-height:4.6em;overflow:hidden;padding-left:9px;border-left:3px solid var(--rule);font-size:12.5px;line-height:1.45;color:#3f4950;font-style:italic}.selpop[data-v="calmer"] .pq{border-left-color:var(--calmer-ink)}.selpop[data-v="wrong"] .pq{border-left-color:var(--wrong-ink)}.selpop .pv{display:flex;flex-direction:column;gap:7px}.selpop .pv button{display:flex;align-items:flex-start;gap:9px;width:100%;padding:9px 11px;cursor:pointer;text-align:left;color:var(--ink);background:var(--ground);border:1px solid var(--rule);border-radius:4px;font-family:var(--sans);font-size:13px;line-height:1.35}.selpop .pv button:hover{border-color:var(--ink)}.selpop .pv button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.selpop .sw{width:12px;height:12px;margin-top:3px;border-radius:2px;flex:none}.selpop .b-calmer .sw{background:var(--calmer-fill);border:1px solid var(--calmer-ink)}.selpop .b-wrong .sw{background:var(--wrong-fill);border:1px solid var(--wrong-ink)}.selpop .b-calmer[aria-pressed="true"]{background:var(--calmer-fill);border-color:var(--calmer-ink);color:var(--calmer-ink)}.selpop .b-wrong[aria-pressed="true"]{background:var(--wrong-fill);border-color:var(--wrong-ink);color:var(--wrong-ink)}.selpop .pv button[aria-pressed="true"] .lbl{font-weight:600}.selpop .pnote{display:flex;flex-direction:column;gap:5px}.selpop .pnote[hidden]{display:none}.selpop .nl{font-family:var(--mono);font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.selpop .nl span{text-transform:none;letter-spacing:0}.selpop textarea{width:100%;padding:8px 10px;resize:vertical;min-height:62px;font-family:var(--sans);font-size:13.5px;line-height:1.45;color:var(--ink);background:var(--ground);border:1px solid var(--rule);border-radius:3px}.selpop textarea:focus{outline:2px solid var(--ink);outline-offset:-1px;background:var(--panel)}.selpop textarea::placeholder{color:var(--muted)}.selpop .pa{display:flex;align-items:center;gap:7px}.selpop .pa button{padding:7px 12px;cursor:pointer;border-radius:3px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.selpop .b-erase{margin-right:auto;color:var(--muted);background:0;border:1px solid transparent}.selpop .b-erase:hover{color:var(--wrong-ink);border-color:var(--wrong-ink)}.selpop[data-erasable="0"] .b-erase{display:none}.selpop .b-cancel{color:var(--muted);background:0;border:1px solid var(--rule)}.selpop .b-cancel:hover{color:var(--ink);border-color:var(--ink)}.selpop .b-save{color:#fff;background:var(--ink);border:1px solid var(--ink)}.selpop .b-save[disabled]{opacity:.35;cursor:default}.hl[data-v="draft"]{background:#dfe5ea;box-shadow:inset 0 -2px 0 var(--muted)}.hl.draft{outline:1px dashed var(--muted);outline-offset:2px;cursor:default}#panel{position:fixed;top:0;right:0;z-index:50;width:340px;height:100vh;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--rule);transform:translateX(100%);transition:transform .18s ease;box-shadow:-6px 0 22px rgba(20,24,28,.07)}body[data-panel="1"] #panel{transform:none}
body[data-ready="0"] #panel,body[data-done="1"] #panel{display:none}.pnh{display:flex;align-items:center;gap:10px;padding:20px 16px 14px;border-bottom:1px solid var(--rule)}.pnh h2{margin:0;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}#panelClose{margin-left:auto;background:0;border:0;padding:2px 4px;cursor:pointer;color:var(--muted);font-size:14px;line-height:1}#panelClose:hover{color:var(--ink)}.pnbody{flex:1;overflow-y:auto;padding:14px 16px 40px}.pnempty{margin:0;font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--muted)}.prow{border:1px solid var(--rule);border-radius:4px;padding:9px 11px;background:var(--panel);cursor:pointer}.prow+.prow{margin-top:9px}.prow[data-v="calmer"]{border-left:3px solid var(--calmer-ink)}.prow[data-v="wrong"]{border-left:3px solid var(--wrong-ink)}.prow:hover{border-color:var(--ink)}.prow[data-v="calmer"]:hover{border-left-color:var(--calmer-ink)}.prow[data-v="wrong"]:hover{border-left-color:var(--wrong-ink)}.prv{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;line-height:1.5}.prow[data-v="calmer"] .prv{color:var(--calmer-ink)}.prow[data-v="wrong"] .prv{color:var(--wrong-ink)}.prq{margin:5px 0 0;font-size:12.5px;line-height:1.45;color:#3f4950;font-style:italic;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.prn{margin:7px 0 0;font-size:13px;line-height:1.45}.prn.none{color:var(--muted);font-style:italic}.pract{display:flex;gap:6px;margin-top:9px}.pract button{padding:4px 9px;cursor:pointer;background:0;border:1px solid var(--rule);border-radius:3px;color:var(--muted);font-family:var(--mono);font-size:9.5px;letter-spacing:.09em;text-transform:uppercase}.pract button:hover{color:var(--ink);border-color:var(--ink)}.pract button[data-act="rm"]:hover{color:var(--wrong-ink);border-color:var(--wrong-ink)}#verdict{display:none}body[data-verdict="1"] #verdict{display:block}.verdict{margin:22px 0 0;padding:18px 20px 20px;background:var(--panel);border:1px solid var(--rule);border-radius:4px}.vhead{display:flex;align-items:baseline;gap:16px;margin:0 0 13px;flex-wrap:wrap}.verdict h2{margin:0;font-size:16px;font-weight:600}#verdictClose{margin-left:auto;padding:5px 11px;cursor:pointer;color:var(--muted);background:0;border:1px solid var(--rule);border-radius:3px;font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}#verdictClose:hover{color:var(--ink);border-color:var(--ink)}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.choices button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 13px;cursor:pointer;text-align:left;color:var(--ink);background:var(--ground);border:1px solid var(--rule);border-radius:4px;transition:border-color .12s,background .12s}.choices button:hover{border-color:var(--ink)}.choices button b{font-size:14px;font-weight:600}.choices button small{font-size:11.5px;color:var(--muted)}.choices button[aria-checked="true"]{background:var(--ink);border-color:var(--ink);color:#fff}.choices button[aria-checked="true"] small{color:#c3ccd2}.choices button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.wl{display:block;margin:16px 0 6px;font-family:var(--mono);font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.wl span{text-transform:none;letter-spacing:0}#prefWhy{width:100%;padding:9px 11px;font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink);background:var(--ground);border:1px solid var(--rule);border-radius:3px;resize:vertical}#prefWhy:focus{outline:2px solid var(--ink);outline-offset:-1px;background:var(--panel)}.srow{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}#submit{padding:11px 26px;cursor:pointer;color:#fff;background:var(--ink);border:0;border-radius:3px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}#submit:hover{opacity:.87}.err{margin:0;font-family:var(--mono);font-size:11px;color:var(--wrong-ink)}.verdict.bad{animation:nudge .3s}.donecard{max-width:640px;margin:12vh auto 0;padding:26px 26px 22px;background:var(--panel);border:1px solid var(--rule);border-radius:4px}.donecard h2{margin:0 0 10px;font-size:18px}.donecard .code{margin:0 0 6px;font-family:var(--mono);font-size:12px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}.donecard .code b{color:var(--ink);font-size:14px;letter-spacing:.14em}.dsum{margin:0;font-size:14px;color:var(--muted)}.drow{display:flex;gap:10px;margin:18px 0 4px;flex-wrap:wrap}.drow button{padding:9px 16px;cursor:pointer;color:#fff;background:var(--ink);border:0;border-radius:3px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.drow button.ghost{background:0;color:var(--muted);border:1px solid var(--rule)}.drow button.ghost:hover{color:var(--ink);border-color:var(--ink)}.donecard details{margin-top:14px;font-family:var(--mono);font-size:11px;color:var(--muted)}.donecard summary{cursor:pointer}.donecard pre{max-height:320px;overflow:auto;margin:10px 0 0;padding:11px;background:var(--ground);border:1px solid var(--rule);border-radius:3px;font-size:10.5px;line-height:1.5}#task,#gate,#done,#whoid,.howto{display:none}body[data-ready="1"][data-done="0"] #task{display:block}body[data-ready="1"][data-done="0"] .howto{display:flex}body[data-ready="1"] #whoid{display:flex}body[data-ready="0"] #gate{display:block}body[data-ready="0"] header .howto{display:none}body[data-done="1"] #done{display:block}body[data-done="1"] .howto{display:none}@media(min-width:1101px){body[data-panel="1"] .fabs{right:364px}body[data-panel="1"][data-ready="1"][data-done="0"]{padding-right:364px}}@media(max-width:1100px){#panel{box-shadow:-6px 0 40px rgba(20,24,28,.22)}}@media(max-width:760px){.choices{grid-template-columns:1fr}#panel{width:min(340px,88vw)}.msg{max-width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}