.activity-shell{max-width:980px;margin:0 auto}.case-preview-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:1.25rem}.preview-card{padding:1.3rem;background:linear-gradient(180deg,#fffffff5,#e3f3ecb3)}.preview-card .badge{margin-bottom:.7rem}.preview-card h3{margin-top:0}.challenge-layout{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(0,1.14fr);gap:1rem;align-items:start}.challenge-context{display:grid;gap:1rem}.context-card{background:linear-gradient(180deg,#fffffffa,#f0f8f3eb);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.context-notes{display:grid;gap:.45rem;margin-top:.85rem}.context-note{font-size:.9rem;color:var(--color-ink-soft);padding:.55rem .7rem;border-radius:10px;background:#ffffffe6;border:1px solid rgba(226,236,231,.95)}.lt-tag{margin-bottom:.9rem}.question-text{font-size:1.15rem;font-weight:600;margin:0 0 1rem;color:var(--color-ink)}.step-hint{margin:-.2rem 0 1rem;font-size:.92rem;color:var(--color-ink-soft)}.options{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.option-btn{display:block;width:100%;text-align:left;padding:.8rem 1rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);color:var(--color-ink);font-size:1rem;cursor:pointer;transition:border-color .12s ease,background .12s ease}.option-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-sky)}.option-btn:disabled{cursor:default}.option-btn.correct{border-color:#2f9e63;background:#e3f5ea;color:#1d6b41;font-weight:600}.option-btn.incorrect{border-color:#d9534f;background:#fbe9e8;color:#a4302c;font-weight:600}.option-btn .mark{float:right;font-weight:700}.sort-board{display:grid;gap:.9rem}.sort-item{border:1px solid var(--color-border);border-radius:14px;padding:.95rem;background:#fffffff5}.sort-label{font-weight:600;color:var(--color-ink);margin-bottom:.7rem}.sort-choices{display:flex;flex-wrap:wrap;gap:.45rem}.sort-choice{border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg);color:var(--color-ink-soft);padding:.38rem .72rem;font-size:.88rem;cursor:pointer}.sort-choice:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.sort-choice.selected{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.sort-item.correct{border-color:#b9e3c9;background:#eef9f1}.sort-item.incorrect{border-color:#f0c6c4;background:#fff4f3}.graph-card,.table-card,.setup-card{border:1px solid var(--color-border);border-radius:16px;background:#fff;padding:.9rem}.graph-caption,.table-caption{margin-top:.75rem;font-size:.9rem;color:var(--color-ink-soft)}.graph-svg{display:block;width:100%;height:auto}.graph-axis,.graph-grid{stroke:#cfded7;stroke-width:1}.graph-grid{stroke-dasharray:4 5}.graph-label{font-family:var(--font-body);fill:var(--color-ink-soft);font-size:11px}.graph-series{fill:#1f7a5a2e;stroke:var(--color-primary);stroke-width:3}.graph-bar{fill:#159a8c3d;stroke:var(--color-primary);stroke-width:2}.graph-point{fill:#fff;stroke:var(--color-primary-dark);stroke-width:3}.hotspot-wrap{margin-top:.65rem}.hotspot-card{border:1px solid var(--color-border);border-radius:16px;background:#fff;padding:1rem}.hotspot-target{cursor:pointer;opacity:.25;fill:#159a8c38}.hotspot-target:hover{opacity:.55}.hotspot-target.selected{opacity:.95}.hotspot-target.correct-target{opacity:.95;fill:#2f9e6347}.hotspot-target.wrong-target{opacity:.95;fill:#d9534f3d}.setup-grid{display:grid;gap:.75rem}.setup-item{border-radius:12px;padding:.8rem .9rem;background:#fffffff5;border:1px solid var(--color-border)}.setup-item h4{margin:0 0 .25rem;font-size:.98rem;font-family:var(--font-body);color:var(--color-ink)}.setup-item p{margin:0;font-size:.88rem}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{padding:.55rem .6rem;text-align:left;border-bottom:1px solid var(--color-border)}.data-table th{color:var(--color-primary-dark);font-weight:700}@media (min-width: 860px){.challenge-context{position:sticky;top:88px}}@media (max-width: 900px){.case-preview-grid{grid-template-columns:1fr}}@media (max-width: 859px){.activity-shell{max-width:760px}.challenge-layout{grid-template-columns:1fr}.challenge-context{position:static}}@media (max-width: 620px){.sort-choices{flex-direction:column;align-items:stretch}.sort-choice{width:100%}}
