.csb,.csf,.csq{--pv-accent:#2f6fed;--pv-ink:#1f2430;--pv-muted:#6b7280;--pv-border:#e5e7eb;--pv-surface:#f8fafc;--pv-good:#48b47c;--pv-warn:#e0a63e;--pv-bad:#e0555f;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--pv-ink)}.csq{margin-block:1.6rem;border:1px solid var(--pv-border);border-radius:12px;background:#fff;box-shadow:0 12px 32px -26px rgba(28,22,34,.28)}.csq-head{display:flex;align-items:center;gap:.6rem;padding:.7rem 1.15rem;border-bottom:1px solid var(--pv-border)}.csq-type{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--pv-accent);background:rgba(47,111,237,.1);padding:.15rem .55rem;border-radius:999px}.csq-points{margin-left:auto;font-size:.78rem;color:var(--pv-muted)}.csq-body{padding:1.15rem 1.25rem}.csq-stem{font-size:1rem;font-weight:600;color:var(--pv-ink);margin:0 0 1rem}.csq-hint{font-size:.82rem;color:var(--pv-muted);margin:0 0 .9rem}.csq-opts{display:flex;flex-direction:column;gap:.55rem}.csq-opt{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;padding:.7rem .85rem;background:#fff;border:1px solid var(--pv-border);border-radius:9px;cursor:pointer;font:inherit;font-size:.94rem;color:var(--pv-ink);transition:border-color .12s ease,background .12s ease}.csq-opt:hover:not(:disabled){border-color:var(--pv-accent)}.csq-opt .mark{width:1.15rem;height:1.15rem;flex:none;border:2px solid #c7ccd6;display:flex;align-items:center;justify-content:center;font-size:.7rem;color:#fff}.csq-opt.radio .mark{border-radius:50%}.csq-opt.check .mark{border-radius:5px}.csq-opt.is-sel{border-color:var(--pv-accent);background:#eef3fe}.csq-opt.is-sel .mark{border-color:var(--pv-accent);background:var(--pv-accent)}.csq-opt.is-correct{border-color:var(--pv-good);background:#eafaf1}.csq-opt.is-correct .mark{border-color:var(--pv-good);background:var(--pv-good)}.csq-opt.is-wrong{border-color:var(--pv-bad);background:#fdeeef}.csq-opt.is-wrong .mark{border-color:var(--pv-bad);background:var(--pv-bad)}.csq-opt:disabled{cursor:default}.csq-actions{display:flex;align-items:center;gap:.6rem;margin-top:1rem}.csq-btn{padding:.5rem 1.1rem;background:var(--pv-accent);color:#fff;border:0;border-radius:8px;font:inherit;font-weight:600;font-size:.9rem;cursor:pointer}.csq-btn:hover{background:#2a5fd0}.csq-btn:disabled{background:#b9c2d6;cursor:default}.csq-btn.ghost{background:#fff;color:var(--pv-muted);border:1px solid var(--pv-border)}.csq-btn.ghost:hover{color:var(--pv-ink);border-color:var(--pv-muted);background:#fff}.csq-fb{margin-top:1rem;padding:.7rem .9rem;border-radius:8px;font-size:.9rem;font-weight:500;display:flex;gap:.5rem;align-items:flex-start}.csq-fb[hidden]{display:none}.csq-fb.ok{background:#eafaf1;color:#1f7a4d;border:1px solid #bfe3cf}.csq-fb.no{background:#fdeeef;color:#b23842;border:1px solid #f2c9cd}.csq-fb.part{background:#fbf4e4;color:#9a6a1a;border:1px solid #ecd9ae}.csq-fb .i{font-weight:700}.csq-input,.csq-select{padding:.5rem .65rem;border:1px solid var(--pv-border);border-radius:8px;font:inherit;font-size:.94rem;color:var(--pv-ink);background:var(--pv-surface)}.csq-input:focus,.csq-select:focus{outline:0;border-color:var(--pv-accent)}.csq-blank{display:inline-block;min-width:8rem}.csq-blankline{font-size:1rem;line-height:1.9;color:var(--pv-ink)}textarea.csq-input{width:100%;resize:vertical}.csq-bank{display:flex;flex-wrap:wrap;gap:.5rem;padding:.7rem;background:var(--pv-surface);border:1px dashed var(--pv-border);border-radius:9px;min-height:2.8rem}.csq-bank.empty::after{content:'Drag from here';color:var(--pv-muted);font-size:.82rem}.csq-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:#fff;border:1px solid #c7ccd6;border-radius:999px;font-size:.88rem;color:var(--pv-ink);cursor:grab;user-select:none;box-shadow:0 1px 3px -1px rgba(0,0,0,.15)}.csq-chip.dragging{opacity:.5}.csq-chip.placed{cursor:grab}.csq-pairs{display:flex;flex-direction:column;gap:.6rem;margin-top:.9rem}.csq-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.6rem}.csq-pair .lhs{font-size:.92rem}.csq-pair .arrow{color:var(--pv-muted)}.csq-slot{min-height:2.6rem;display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;background:var(--pv-surface);border:1px dashed #c7ccd6;border-radius:9px}.csq-slot.over{border-color:var(--pv-accent);background:#eef3fe}.csq-slot.is-correct{border-style:solid;border-color:var(--pv-good);background:#eafaf1}.csq-slot.is-wrong{border-style:solid;border-color:var(--pv-bad);background:#fdeeef}.csq-slot .ph{color:var(--pv-muted);font-size:.82rem}.csq-slot:has([data-chip]) .ph{display:none}.csq-bucket .drop:has([data-chip]) .ph{display:none}.csq-buckets{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin-top:.9rem}.csq-bucket{border:1px solid var(--pv-border);border-radius:9px;overflow:hidden}.csq-bucket h5{margin:0;padding:.5rem .7rem;font-size:.82rem;font-weight:700;color:var(--pv-ink);background:var(--pv-surface);border-bottom:1px solid var(--pv-border)}.csq-bucket .drop{min-height:3.5rem;padding:.55rem;display:flex;flex-wrap:wrap;gap:.4rem;align-content:flex-start}.csq-bucket .drop.over{background:#eef3fe}.csq-order{display:flex;flex-direction:column;gap:.5rem;margin-top:.9rem}.csq-order-row{display:flex;align-items:center;gap:.6rem}.csq-order-row .num{width:1.6rem;height:1.6rem;flex:none;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pv-surface);border:1px solid var(--pv-border);font-size:.8rem;font-weight:700;color:var(--pv-muted)}.csq-order-row .slot{flex:1}.csq-hs-stage{position:relative;display:inline-block;max-width:100%}.csq-hs-stage img{display:block;max-width:100%;border-radius:8px;border:1px solid var(--pv-border)}.csq-hs-spot{position:absolute;transform:translate(-50%,-50%);border:2px dashed rgba(47,111,237,.6);border-radius:8px;cursor:pointer;background:rgba(47,111,237,.06)}.csq-hs-spot:hover{background:rgba(47,111,237,.16)}.csq-hs-spot.is-sel{border-style:solid;background:rgba(47,111,237,.22)}.csq-hs-spot.is-correct{border-color:var(--pv-good);border-style:solid;background:rgba(72,180,124,.22)}.csq-hs-spot.is-wrong{border-color:var(--pv-bad);border-style:solid;background:rgba(224,85,95,.22)}.csq-hs-text{font-size:1rem;line-height:1.9}.csq-hs-word{cursor:pointer;padding:.05rem .15rem;border-radius:4px}.csq-hs-word:hover{background:#eef3fe}.csq-hs-word.is-sel{background:#d6e4fd;box-shadow:inset 0 0 0 1px var(--pv-accent)}.csq-hs-word.is-correct{background:#d6f2e2;box-shadow:inset 0 0 0 1px var(--pv-good)}.csq-hs-word.is-wrong{background:#fbdadd;box-shadow:inset 0 0 0 1px var(--pv-bad)}.csq-quiz-head{display:flex;align-items:center;gap:.8rem;padding:.8rem 1.15rem;border-bottom:1px solid var(--pv-border)}.csq-quiz-head .title{font-weight:700}.csq-quiz-timer{margin-left:auto;font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--pv-muted)}.csq-quiz-bar{height:.35rem;background:#eef0f4}.csq-quiz-bar span{display:block;height:100%;background:var(--pv-accent);transition:width .3s ease}.csq-quiz-foot{display:flex;align-items:center;gap:.6rem;padding:.8rem 1.15rem;border-top:1px solid var(--pv-border)}.csq-quiz-foot .step{font-size:.85rem;color:var(--pv-muted)}.csq-quiz-foot .spacer{flex:1}.csq-quiz-score{text-align:center;padding:1.5rem}.csq-quiz-score .big{font-size:2.2rem;font-weight:800;color:var(--pv-accent)}.csq-quiz-foot[hidden],.csq-quiz-score[hidden],.csq-step[hidden]{display:none}.csb{margin-block:1.4rem}.csb-divider{border:0;border-top:1px solid var(--pv-border);margin-block:1.6rem}.csb-asset{display:flex;align-items:center;gap:.85rem;padding:.9rem 1rem;border:1px solid var(--pv-border);border-radius:10px;background:#fff;cursor:pointer;box-shadow:0 12px 32px -28px rgba(28,22,34,.28)}.csb-asset:hover{border-color:var(--pv-accent)}.csb-asset .ic{width:2.4rem;height:2.4rem;flex:none;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#eef3fe;color:var(--pv-accent)}.csb-asset .ic svg{width:1.25rem;height:1.25rem}.csb-asset .meta{min-width:0}.csb-asset .nm{font-weight:700;color:var(--pv-ink)}.csb-asset .sub{font-size:.82rem;color:var(--pv-muted)}.csb-asset .open{margin-left:auto;font-size:.82rem;font-weight:600;color:var(--pv-accent);flex:none}.csb-embed{border:1px solid var(--pv-border);border-radius:10px;overflow:hidden}.csb-embed-head{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:var(--pv-surface);border-bottom:1px solid var(--pv-border);font-size:.8rem;color:var(--pv-muted)}.csb-embed-head .dot{width:.5rem;height:.5rem;border-radius:50%;background:#d9d4e0}.csb-embed-body{padding:1.5rem;text-align:center;background:repeating-linear-gradient(45deg,#fafbfc,#fafbfc 10px,#f4f6f9 10px,#f4f6f9 20px)}.csb-embed-body .frame{background:#fff;border:1px solid var(--pv-border);border-radius:8px;padding:1.25rem}.csb-embed-body .frame .h{font-weight:700;color:var(--pv-ink)}.csb-embed-body .frame .p{font-size:.88rem;color:var(--pv-muted);margin-top:.3rem}.csf{margin-block:1.6rem;border:1px solid var(--pv-border);border-radius:12px;background:#fff;padding:1.15rem 1.25rem 1.25rem;box-shadow:0 12px 32px -26px rgba(28,22,34,.28)}.csf-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.csf-title{font-weight:700;font-size:1.05rem;color:var(--pv-ink)}.csf-desc{font-size:.9rem;color:var(--pv-muted);margin:0 0 .9rem;line-height:1.5}.csf-stage{position:relative;overflow:hidden;border-radius:10px;border:1px solid var(--pv-border);background:#0f1526}.csf-stage canvas{display:block;width:100%;height:auto;background:#0f1526}.csf-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.9rem}.csf-btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex:none;border-radius:50%;border:1px solid var(--pv-border);background:#fff;color:var(--pv-ink);cursor:pointer;font:inherit;font-size:1rem;transition:background .12s ease,border-color .12s ease}.csf-btn:hover{border-color:var(--pv-accent);background:#eef3fe}.csf-btn.primary{background:var(--pv-accent);border-color:var(--pv-accent);color:#fff}.csf-btn.primary:hover{background:#2a5fd0}.csf-btn:disabled{opacity:.45;cursor:default;background:#fff;border-color:var(--pv-border)}.csf-btn svg{width:1.15rem;height:1.15rem;fill:currentColor}.csf-pill{display:inline-flex;align-items:center;gap:.4rem;padding:0 1rem;height:2.5rem;border-radius:999px;border:0;background:var(--pv-good);color:#fff;font:inherit;font-weight:600;font-size:.88rem;cursor:pointer}.csf-pill:hover{background:#3ba36c}.csf-zoom{display:inline-flex;gap:.4rem;margin-left:.1rem}.csf-slider{flex:1;min-width:240px}.csf-slider .row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.3rem}.csf-slider label{font-size:.85rem;font-weight:600;color:var(--pv-ink)}.csf-slider .tag{font-size:.8rem;color:var(--pv-muted)}.csf-slider input[type=range]{width:100%;accent-color:var(--pv-accent);cursor:pointer}.csf-info{font-size:.82rem;color:var(--pv-accent);font-style:italic;margin:.4rem 0 0;min-height:1.1rem}.csf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.85rem;margin-top:1rem}.csf-card{border:1px solid var(--pv-border);border-radius:10px;padding:.85rem 1rem;background:var(--pv-surface)}.csf-card h5{margin:0 0 .5rem;font-size:.92rem;font-weight:700;color:var(--pv-ink)}.csf-stat{display:flex;justify-content:space-between;font-size:.9rem}.csf-stat+.csf-stat{margin-top:.35rem}.csf-stat .k{color:var(--pv-muted)}.csf-stat .v{font-weight:700;font-variant-numeric:tabular-nums;color:var(--pv-ink)}.csf-card ul{margin:0;padding-left:1.1rem;font-size:.85rem;color:var(--pv-muted)}.csf-card li+li{margin-top:.3rem}