
:root{--bg:#f6f8fb;--card:#fff;--ink:#1f2937;--muted:#5b6472;--line:#d7deea;--brand:#285ea8;--ok:#137333;--bad:#b42318;--warn:#9a6700}
*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6}
body{padding:24px}.wrap{max-width:1100px;margin:0 auto}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px;margin:18px 0;box-shadow:0 6px 24px rgba(10,30,60,.06)}
h1,h2,h3{margin:.2em 0 .6em}h1{font-size:2rem}h2{font-size:1.4rem}p.lead,.muted{color:var(--muted)}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}
.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
button,.btn{background:var(--brand);color:#fff;border:none;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}
button.secondary,.btn.secondary{background:#eef4ff;color:var(--brand);border:1px solid #c8daf9}
.feedback{margin-top:14px;padding:12px 14px;border-radius:12px;font-weight:600}.ok{background:#edf9f0;color:var(--ok);border:1px solid #b7e1c1}.bad{background:#fff0f0;color:var(--bad);border:1px solid #f3c6c6}.warn{background:#fff8e6;color:var(--warn);border:1px solid #ecd9a3}
.story{white-space:pre-wrap;background:#fcfdff;border:1px solid var(--line);padding:16px;border-radius:14px}.small{font-size:.95rem}.q{margin:16px 0;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfcff}.q:hover{background:#fbfcff}
.option{display:block;margin:8px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}
.correct{border-color:#9fd3ae;background:#eef9f1}.incorrect{border-color:#e9abab;background:#fff1f1}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.sentence{display:inline;padding:2px 4px;border-radius:6px;cursor:pointer}.sentence:hover{background:#edf4ff}.highlight-good{background:#d8f3dc}.highlight-bad{background:#ffd6d6}
.dropzone{min-height:56px;border:2px dashed #bfd0ea;border-radius:14px;padding:10px;background:#f8fbff}.draggable{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:grab;margin:8px 0}
.rank-item{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;justify-content:space-between;align-items:center;margin:8px 0}.rank-buttons button{padding:8px 10px;border-radius:10px}
textarea{width:100%;min-height:180px;padding:12px;border-radius:14px;border:1px solid var(--line);font:inherit}input[type=text]{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);font:inherit}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#eef4ff;color:var(--brand);font-size:.85rem;font-weight:700}.footer{color:var(--muted);font-size:.92rem;margin-top:20px}
.hotspot-text span{padding:2px 4px;border-radius:6px;cursor:pointer}.hotspot-text span:hover{background:#eaf2ff}.checkline{display:flex;gap:10px;align-items:flex-start;margin:8px 0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff}
nav ul{padding-left:18px}
