:root{font-family:Manrope,system-ui,sans-serif;color:#2c2845;background:#f8f7fc;font-synthesis:none;line-height:1.55;--violet:#6351cb;--line:#ded7ef}*{box-sizing:border-box}body{margin:0}a{color:#5140b2;text-underline-offset:4px}button,textarea{font:inherit}button,a,textarea{touch-action:manipulation}button{cursor:pointer;border:1px solid #8674df;border-radius:15px;padding:12px 19px;color:white;font-weight:700;background:linear-gradient(145deg,#7967e4,#5e4bc5);box-shadow:0 4px 0 #49389b,0 8px 18px #4f3f9719;transition:box-shadow .15s,background .15s}button:hover{background:#6150bc;box-shadow:0 4px 0 #49389b,0 9px 20px #4f3f9728}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #7464eb;outline-offset:4px}button:disabled{cursor:default;opacity:.45;box-shadow:none}button.secondary{color:#52418f;background:#f1edf9;border-color:var(--line);box-shadow:0 3px 0 #e2daef}button:active:not(:disabled){box-shadow:inset 0 2px 5px #33236b30}h1{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:10px 0}h2{font-size:22px;line-height:1.3;margin:8px 0 14px}p{margin:8px 0 18px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 5vw;border-bottom:1px solid var(--line);background:#fff}.topbar strong{font-size:20px}.topbar strong span{color:var(--violet)}main{max-width:1100px;padding:36px 24px;margin:auto}.badge{display:inline-block;background:#eee9fb;color:#51408c;border:1px solid var(--line);padding:6px 12px;border-radius:30px;font-size:13px;font-weight:700}.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:800;color:var(--violet)}.intro{color:#6f6885;font-size:18px}.notice{font-size:14px;color:#655476;padding:15px 20px;border-radius:16px;background:#f1ecf6;border:1px solid var(--line)}.case-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 20px}.case-heading p{margin:0;color:#726a82}nav{display:flex;gap:10px;padding:4px 2px 12px;overflow:auto;margin-bottom:18px}nav button{flex:1;white-space:nowrap;font-size:13px;min-height:48px}nav button[aria-current=step]{background:var(--violet);color:white}.workspace{display:grid;grid-template-columns:.85fr 1.15fr;gap:22px;align-items:start}.story,form#reasoning,.debrief{border:1px solid var(--line);border-radius:24px;box-shadow:0 5px 0 #e8e1f0,0 15px 30px #49389b08;padding:26px;background:white}.story{background:linear-gradient(145deg,#eeebfa,#f5faf7)}.source-note{font-size:13px;color:#71687c;border-top:1px solid var(--line);padding-top:16px;margin-bottom:0}label{display:block;font-weight:750;font-size:18px}#hint{font-size:14px;color:#706880;margin-top:10px}textarea{display:block;width:100%;resize:vertical;border:1px solid #cec5e4;border-radius:16px;padding:16px;color:inherit;background:#fdfcfe;min-height:170px}.actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}#saveStatus{font-size:13px;color:#427767;min-height:21px}#error{color:#a23644}.debrief article{border-top:1px solid var(--line);padding:20px 0}.answer-copy{white-space:pre-wrap;background:#f3effa;border-radius:14px;padding:16px;overflow-wrap:anywhere}.later{padding:24px;margin-top:30px;border:1px dashed #c8bddf;border-radius:20px;color:#746987}.later h2{color:#54456f;font-size:18px}.later p{margin-bottom:0}footer{margin-top:30px;display:flex;align-items:center;gap:18px;font-size:13px;color:#766c84}.text-button{background:none!important;border:0;box-shadow:none!important;color:#695485;text-decoration:underline;font-size:13px}dialog{border:1px solid var(--line);border-radius:22px;padding:26px;max-width:calc(100% - 32px);color:inherit}dialog::backdrop{background:#29203866}dialog form{display:flex;gap:14px}[hidden]{display:none!important}@media(max-width:650px){.topbar{padding:16px}.topbar strong{font-size:16px}.topbar>.badge{display:none}main{padding:26px 16px}.workspace{grid-template-columns:1fr}.case-heading{display:block}.case-heading .badge{margin-top:14px}.story,form#reasoning,.debrief{padding:20px}footer{display:block}.actions button{flex:1}nav button{flex:none}h2{font-size:20px}}@media(prefers-reduced-motion:reduce){button{transition:none}}
