.qb-builder{border:1.5px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-bottom:28px;padding:22px}.qb-row{grid-template-columns:1fr auto;align-items:start;gap:16px 22px;display:grid}.qb-field{margin-bottom:16px}.qb-field label{margin-bottom:7px;font-weight:700;display:block}.qb-hint{color:var(--muted);font-size:12px;font-weight:400}.qb-field input,.qb-field select{border:1.3px solid var(--line-2);border-radius:var(--r-sm);min-height:44px;font:inherit;background:#fff;padding:9px 13px}.qb-field #count{width:84px;min-height:38px}.qb-presets{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qb-preset{border:1.3px solid var(--line-2);font:inherit;color:var(--ink-2);cursor:pointer;background:#fff;border-radius:999px;padding:9px 15px;font-size:14px;font-weight:650}.qb-preset.active{border-color:var(--blue);background:var(--blue-soft);color:var(--ink)}.qb-preset-custom{cursor:default;align-items:center;gap:8px;padding:6px 12px 6px 14px;display:inline-flex}.qb-preset-custom input{width:64px}.qb-topic-actions{margin-left:10px;font-weight:500}.qb-topic-actions button{border:1px solid var(--line-2);background:var(--surface-2);font:inherit;color:var(--ink-2);cursor:pointer;border-radius:999px;margin-left:6px;padding:4px 11px;font-size:12px;font-weight:650}.qb-topic-actions button:hover{border-color:var(--blue);color:var(--ink)}.qb-topic-tree{gap:14px;margin-top:4px;display:grid}.qb-mod>b{margin-bottom:8px;display:block}.qb-unit{align-items:flex-start;gap:14px;margin-bottom:8px;padding-left:10px;display:flex}.qb-unit-name{width:130px;color:var(--muted);flex:none;padding-top:4px;font-size:13px}.qb-topic-chips{flex-wrap:wrap;gap:8px;display:flex}.qb-check{border:1px solid var(--line-2);background:var(--surface-2);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:13px;display:inline-flex}.qb-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}#qb-summary{margin:12px 0 0}.qb-paper-head{border-bottom:2px solid var(--ink);margin-bottom:20px;padding-bottom:12px}.qb-paper-head h2{margin:0;font-size:30px}.qb-paper-head p{color:var(--muted);margin:4px 0 0;font-size:13px}.qb-item{border-top:1px solid var(--line-soft);margin:0 -22px;padding:20px 22px;transition:background .2s}.qb-item:first-child{border-top:none}.qb-q{color:var(--ink);margin:0 0 12px;font-size:16px;line-height:1.6}.qb-q b{background:var(--surface-2);min-width:28px;height:28px;font-family:var(--font-display);color:var(--ink-2);vertical-align:middle;border-radius:8px;place-items:center;margin-right:10px;padding:0 8px;font-size:14px;font-weight:800;display:inline-grid}.qb-tag{background:var(--surface-2);color:var(--muted);letter-spacing:.04em;vertical-align:middle;border-radius:999px;margin-left:6px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.qb-ol{margin:0;padding-left:22px;line-height:1.7}.qb-blank{border-bottom:1px solid var(--ink);height:30px;margin:6px 0}.qb-ans{background:var(--surface-2);color:var(--ink);border-radius:10px;margin-top:12px;padding:10px 14px;font-weight:700}.qb-item.correct .qb-ans{color:var(--success)}.qb-item.wrong .qb-ans{color:var(--danger)}.qb-explain{border-left:3px solid var(--line);color:var(--muted);margin-top:8px;padding:10px 14px;font-size:14px;line-height:1.6}.qb-figure{border:1px solid var(--line-soft);text-align:center;background:#fff;border-radius:14px;width:fit-content;max-width:100%;margin:14px auto 4px;padding:12px}.qb-figure img{width:100%;max-width:380px;height:auto;margin:0 auto;display:block}.qb-figure figcaption{max-width:380px;color:var(--muted);margin:8px auto 0;font-size:13px;line-height:1.5}.qb-practice{grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 4px;display:grid}.qb-practice .option{border:1.4px solid var(--line);background:var(--surface);width:100%;min-height:56px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:15px;line-height:1.5;transition:transform .15s,border-color .15s,background .15s,box-shadow .15s;display:flex;box-shadow:2px 3px #3f383214}.qb-practice .option:hover:not([disabled]){border-color:var(--line-2);background:#fafaf8;transform:translateY(-1px);box-shadow:3px 4px #3f38321a}.qb-practice .option .qb-key{border:1.3px solid var(--line-2);background:var(--surface-2);width:26px;height:26px;font-family:var(--font-display);color:var(--ink-2);border-radius:8px;flex:none;place-items:center;margin-top:1px;font-size:13px;font-weight:800;display:inline-grid}.qb-practice .option.picked{border-color:var(--yellow);background:var(--yellow-soft);box-shadow:3px 4px #ffb02040}.qb-practice .option.picked .qb-key{border-color:var(--yellow);background:var(--yellow);color:#fff}.qb-practice .option[disabled]{cursor:default;opacity:.92}.qb-item.correct .qb-practice .option.picked{border-color:var(--success);background:var(--success-soft);box-shadow:3px 4px #0f8a5f2e}.qb-item.correct .qb-practice .option.picked .qb-key{border-color:var(--success);background:var(--success);color:#fff}.qb-item.wrong .qb-practice .option.picked{border-color:var(--danger);background:var(--danger-soft);box-shadow:3px 4px #d33b3b2e}.qb-item.wrong .qb-practice .option.picked .qb-key{border-color:var(--danger);background:var(--danger);color:#fff}.qb-item.wrong .qb-practice .option.is-key{border-color:var(--success);background:var(--success-soft)}.qb-item.wrong .qb-practice .option.is-key .qb-key{border-color:var(--success);background:var(--success);color:#fff}.qb-input{border:1.4px solid var(--line);background:var(--surface);width:100%;min-height:52px;font:inherit;color:var(--ink);border-radius:12px;padding:10px 14px;box-shadow:2px 3px #3f383214}.qb-answerkey{border-top:2px solid var(--ink);margin-top:30px;padding-top:18px}.qb-answerkey h3{margin:0 0 10px}.qb-answerkey p{margin:4px 0}.qb-score-banner{border:1.4px solid var(--line);border-radius:var(--r-md);background:var(--blue-soft);color:var(--ink);margin-bottom:22px;padding:18px 22px;font-size:20px;font-weight:800;box-shadow:3px 4px #2b59ff26}.qb-score-banner b{color:var(--blue);margin-right:6px;font-size:28px}@media (width<=720px){.qb-row,.qb-practice{grid-template-columns:1fr}.qb-item{margin:0 -16px;padding:18px 16px}}@media print{.no-print{display:none!important}.qb-paper{max-width:100%}.qb-practice{display:none!important}.qb-ans{color:#000}}
