:root{font-family:Arial,sans-serif;color:#202544;background:#eaf0fa;font-size:16px}*{box-sizing:border-box}body{margin:0}header{background:#1e214b;color:white;padding:24px 30px;display:flex;align-items:center;justify-content:space-between;gap:18px}h1{font-size:28px;margin:7px 0}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.8px;color:#b8c9ff}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ticket{background:#ffd65a;color:#2b2348;padding:12px 17px;border-radius:7px;font-weight:700;font-size:20px}button,.button{font:inherit;font-size:15px;background:white;border:1px solid #a8b4cc;color:#252947;border-radius:8px;padding:11px 15px;cursor:pointer}button:hover,.button:hover{background:#edf0ff}button:disabled{opacity:.5;cursor:default}button:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a76ee9;outline-offset:3px}.topline{display:flex;gap:18px;align-items:center;padding:16px 30px;background:white}progress{flex:1;accent-color:#6554c3;max-width:400px;height:12px}main{display:grid;grid-template-columns:1.15fr 1fr;gap:25px;max-width:1240px;margin:auto;padding:26px}.card{background:white;border-radius:14px;padding:30px;border-top:6px solid #6554c3;min-height:470px}h2{font-size:27px;line-height:1.25;margin:13px 0}p{line-height:1.6}.prompt{font-size:18px}.choice{display:block;width:100%;text-align:left;padding:17px;margin:12px 0;font-size:17px}.choice.selected{border:2px solid #6554c3;background:#f1edff}.hint{background:#f0edff;border-left:4px solid #7860cb;padding:15px;border-radius:5px}.feedback{padding:14px;background:#fff4d0;border-radius:8px;margin:15px 0}.success{background:#ddf5eb}.small{font-size:14px;color:#5d6680;line-height:1.6}textarea{width:100%;min-height:100px;border:1px solid #a6b3c8;border-radius:8px;padding:13px;font:inherit;line-height:1.5;resize:vertical}label{display:block;margin:18px 0 8px;font-weight:600}select{width:100%;font:inherit;padding:12px;border:1px solid #a8b4cc;border-radius:7px}.nav{display:flex;justify-content:space-between;gap:10px;margin-top:25px}.primary{background:#6554c3;color:white;border-color:#6554c3}.primary:hover{background:#5141a8}.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px;margin-bottom:12px}.toolbar b{margin-right:auto}article{background:white;border-radius:12px;padding:27px;min-height:370px;box-shadow:0 8px 30px #252b4a0b}article h2{font-size:23px}article h3{font-size:16px;color:#52419a;margin-bottom:5px}article p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:0}.pill{background:#eae5fa;border-radius:6px;padding:7px;font-size:14px;display:inline-block}.context{background:#f3f6fc;padding:13px;border-radius:8px;font-size:15px}.blueprint{position:sticky;top:15px;align-self:start}footer{padding:15px 30px;font-size:13px;color:#5a647c;line-height:1.6}dialog{max-width:600px;border:0;border-radius:16px;padding:30px;color:#252947}dialog::backdrop{background:#12153699}.earned{padding:8px;border-bottom:1px solid #dce2f0}.celebrate{animation:pop .4s ease}@keyframes pop{50%{transform:scale(1.12)}}@media(prefers-reduced-motion:reduce){.celebrate{animation:none}}@media(max-width:800px){header{display:block;padding:20px}.actions{margin-top:16px}main{display:block;padding:15px}.blueprint{position:static;margin-top:24px}.card{padding:23px}.topline{padding:12px 15px;flex-wrap:wrap}h2{font-size:24px}}@media print{header,.topline,#game,footer,.toolbar,.blueprint>.small{display:none}main{display:block;padding:0}.blueprint{position:static}article{box-shadow:none}dialog{display:none}body{background:white}}

table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:9px;border:1px solid #bac5db;vertical-align:top;text-align:left;white-space:pre-wrap;overflow-wrap:anywhere}th{background:#f0edff}.unresolved{color:#805822}article ol{font-size:14px;line-height:1.6}article h3{break-after:avoid}@media print{article{font-size:12px}article table{font-size:11px}article h3{margin-top:18px}article p{line-height:1.45}article tr{break-inside:avoid}}

.projectbar{display:flex;align-items:center;gap:8px;padding:12px 30px;background:#e4def8;flex-wrap:wrap}.projectbar b{margin-right:auto}input[type=text]{font:inherit;width:100%;border:1px solid #a8b4cc;border-radius:7px;padding:12px}@media print{.projectbar{display:none}}

.prompt-help{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.prompt-help .button{display:inline-block;text-decoration:none}dialog{max-height:85vh;overflow:auto}

fieldset{border:0;padding:0;margin:22px 0}legend{font-weight:700;margin-bottom:10px}fieldset details input{width:100%;box-sizing:border-box}.choice small{font-weight:normal}

.work-upload{border:2px dashed #b9b6d6;border-radius:14px;padding:16px;margin-bottom:24px;background:#f8f7ff}.work-upload.drag-over{background:#e6e3ff;border-color:#6554c3}.work-upload input[type=file]{display:block;margin-top:12px;max-width:100%}

.start-upload{margin:18px auto;padding:22px;max-width:1420px;background:#fff;border:2px dashed #6554c3;border-radius:16px;box-sizing:border-box}.start-upload h2{margin:0 0 8px}.start-upload label{display:block;margin-top:16px}.start-upload.drag-over{background:#e6e3ff}

@media print{.start-upload{display:none}}

.memo-blank{min-height:48px;line-height:2;color:#555}.memo-notes{padding:14px;border:1px dashed #aaa;margin-top:18px}#memo-dialog textarea{min-height:85px}@media print{h2{break-after:avoid}.memo-notes{break-inside:avoid}details{display:block}}

.memo-blank{min-height:28px;line-height:1.5;padding:8px 0;color:#666;overflow-wrap:anywhere}.memo-design th{width:25%}.memo-design td{width:75%}.memo-notes{break-inside:auto}@media print{.memo-blank{min-height:24px}.memo-design tr{break-inside:avoid}article#plan{font-size:11pt;line-height:1.4}article#plan h2{font-size:15pt}}
