.practice-demo{max-width:700px;margin:16px auto 0;border:1px solid var(--border);border-radius:8px;background:#fff;overflow:hidden;box-shadow:var(--shadow-sm);text-align:left}
.practice-demo-source{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 14px;background:#fafafc;border-bottom:1px solid var(--border-soft)}
.practice-demo-title{min-width:0}
.practice-demo-eyebrow{display:block;margin-bottom:2px;color:var(--text3);font-size:10px;font-weight:700}
.practice-demo-title strong{display:block;color:var(--text);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.practice-demo-fingerprint{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.practice-demo-fingerprint span{padding:3px 7px;border-radius:5px;font-size:10.5px;font-weight:650;white-space:nowrap}
.practice-demo-fingerprint .type{background:#ecfdf5;color:#047857}
.practice-demo-fingerprint .method{background:#fff7ed;color:#c2410c}
.practice-progression-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:12px 14px 4px}
.practice-progression-head strong{display:block;font-size:14px;color:var(--text)}
.practice-progression-head span{font-size:11px;color:var(--text3)}
.practice-demo .practice-paths{max-width:none;margin:7px 0 0;border:0;border-top:1px solid var(--border-soft);border-radius:0;box-shadow:none}
.practice-step{position:relative;padding:11px 12px}
.practice-step::after{content:"\2192";position:absolute;right:-8px;top:50%;z-index:2;width:16px;height:16px;margin-top:-8px;border-radius:50%;background:#fff;color:var(--text3);font-size:11px;line-height:16px;text-align:center;pointer-events:none}
.practice-step:last-child::after{display:none}
.practice-step:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}
.practice-step[disabled]{cursor:wait;opacity:.58}
.practice-step-number{display:inline-flex!important;align-items:center;justify-content:center;width:18px;height:18px;margin-bottom:6px;border-radius:50%;background:var(--bg);color:var(--text2)!important;font-size:10px!important;font-weight:800}
.practice-step-action{margin-top:5px;color:var(--text2)!important;font-weight:650}
.practice-path[data-path="same-type"] strong{color:#047857}
.practice-path[data-path="same-knowledge"] strong{color:#4338ca}
.practice-path[data-path="same-method"] strong{color:#a16207}
.practice-demo-status{min-height:0;padding:0 14px;color:var(--accent);font-size:11.5px;font-weight:600}
.practice-demo-status:not(:empty){padding-top:8px;padding-bottom:10px;border-top:1px solid var(--border-soft)}

.practice-next{margin:22px 0 26px;padding:18px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:0 4px 18px rgba(10,10,15,.045)}
.practice-next-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.practice-next-eyebrow{display:block;margin-bottom:3px;color:var(--accent);font-size:10.5px;font-weight:750}
.practice-next-title{font-size:18px;font-weight:800;color:var(--text);margin-bottom:3px}
.practice-next-subtitle{font-size:12.5px;color:var(--text2);line-height:1.55}
.practice-next-count{flex:0 0 auto;padding:5px 9px;border-radius:6px;background:var(--bg);color:var(--text2);font-size:11px;font-weight:700}
.practice-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:14px}
.practice-tab{min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:7px;background:#fff;font:inherit;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.practice-tab strong{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:13px;color:var(--text)}
.practice-tab>span{display:block;margin-top:2px;font-size:10.5px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.practice-tab-name{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.practice-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:5px;background:var(--bg);font-size:10px;color:var(--text2)}
.practice-tab[data-dimension="same_type"][aria-selected="true"]{border-color:#059669;background:#ecfdf5}
.practice-tab[data-dimension="same_knowledge"][aria-selected="true"]{border-color:#6366f1;background:#eef1ff}
.practice-tab[data-dimension="same_method"][aria-selected="true"]{border-color:#d97706;background:#fffbeb}
.practice-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.practice-tab:disabled{opacity:.42;cursor:default}
.practice-panel[hidden]{display:none}
.practice-panel-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:var(--text2);font-size:11.5px}
.practice-panel-intro strong{color:var(--text);font-size:12.5px}
.practice-unavailable{padding:12px 14px;border:1px dashed var(--border);border-radius:7px;background:var(--bg);color:var(--text2);font-size:12px;line-height:1.6}
.practice-generate-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:9px 10px;border:1px solid var(--border-soft);border-radius:7px;background:var(--bg)}
.practice-counts{display:inline-flex;padding:2px;border:1px solid var(--border);border-radius:7px;background:#fff}
.practice-count{min-width:50px;height:28px;border:0;border-radius:5px;background:transparent;color:var(--text2);font:inherit;font-size:11.5px;font-weight:650;cursor:pointer}
.practice-count[aria-pressed="true"]{background:var(--text);color:#fff}
.practice-generate{min-height:34px;padding:7px 12px;border:0;border-radius:7px;background:var(--accent);color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.practice-generate:disabled{opacity:.55;cursor:wait}
.practice-status{min-height:18px;margin:-4px 0 9px;color:var(--text3);font-size:11.5px}
.practice-list{display:grid;gap:8px}
.practice-card{display:block;width:100%;padding:12px 14px;border-radius:7px;background:#fafafc;border:1px solid var(--border-soft);color:inherit;text-align:left;font:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}
.practice-card:hover{border-color:var(--accent);background:#fff;box-shadow:0 2px 8px rgba(94,92,230,.08)}
.practice-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.practice-card.is-featured{background:#fff;border-color:rgba(94,92,230,.28);box-shadow:0 2px 10px rgba(94,92,230,.06)}
.practice-card-recommend{display:inline-flex;align-items:center;margin-bottom:7px;padding:2px 7px;border-radius:5px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:750}
.practice-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.practice-card-meta span{display:inline-flex;padding:2px 7px;border-radius:5px;background:#f4f4f5;color:var(--text2);font-size:10.5px;font-weight:650}
.practice-card-title{font-size:12.5px!important;color:var(--text2)!important;font-weight:650!important;background:transparent!important;padding:0!important}
.practice-card-stem{font-size:13px;color:var(--text2);line-height:1.65;word-break:break-word}
.practice-card .q-card-options{margin:7px 0 0;font-size:12.5px;gap:5px 18px;color:var(--text2)}
.practice-card-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px;padding-top:8px;border-top:1px solid var(--border-soft)}
.practice-card-reason{min-width:0;color:var(--text3);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.practice-card-reason b{color:var(--text2);font-weight:700}
.practice-card-action{flex:0 0 auto;color:var(--accent);font-size:11.5px;font-weight:750;white-space:nowrap}
.practice-related-more{margin-top:14px;border-top:1px dashed var(--border);padding-top:12px}
.practice-related-more summary{cursor:pointer;font-size:12px;font-weight:700;color:var(--text2);list-style-position:inside}
.practice-related-group{margin-top:14px}
.practice-related-group h4{margin-bottom:8px;font-size:12.5px;color:var(--text)}
.practice-session{margin:4px 0 18px;padding:12px 14px;border:1px solid #c7d2fe;border-radius:8px;background:#eef1ff;color:#3730a3}
.practice-session-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;font-size:12px;font-weight:750}
.practice-session-track{height:4px;overflow:hidden;border-radius:3px;background:#dbe2ff}
.practice-session-track span{display:block;height:100%;background:#4f46e5;transition:width .2s ease}
.practice-session-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px;font-size:11px}
.practice-session-actions button{border:0;border-radius:6px;background:#3730a3;color:#fff;padding:6px 9px;font:inherit;font-weight:700;cursor:pointer}
.teacher-tools-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:14px 16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);color:var(--text2)}
.teacher-tools-copy{min-width:0;font-size:13px;line-height:1.55}
.teacher-tools-copy strong{display:block;color:var(--text);font-size:13.5px}
.teacher-tools-row .btn{flex:0 0 auto}

@media(max-width:768px){
  .practice-step .practice-step-action{display:block}
  .teacher-tools-row{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
  .practice-demo-source{align-items:flex-start;flex-direction:column;gap:8px}
  .practice-demo-fingerprint{justify-content:flex-start}
  .practice-progression-head{display:block;text-align:center}
  .practice-progression-head>span{display:block;margin-top:3px}
  .practice-demo .practice-paths{grid-template-columns:repeat(3,minmax(0,1fr))}
  .practice-demo .practice-step{min-height:106px;padding:9px 8px;border-right:1px solid var(--border);border-bottom:0;text-align:left}
  .practice-demo .practice-step:last-child{border-right:0}
  .practice-demo .practice-step::after{content:"\2192";right:-8px;top:50%;bottom:auto;margin:-8px 0 0}
  .practice-demo .practice-step>span:not(.practice-step-number){display:block;white-space:normal;overflow:visible;font-size:10px;line-height:1.45}
  .practice-demo .practice-step .practice-step-action{display:none}
  .practice-demo .practice-step strong{font-size:12px}
  .practice-next{padding:15px}
  .practice-next-head{display:block}
  .practice-next-count{display:inline-flex;margin-top:8px}
  .practice-tabs{grid-template-columns:1fr}
  .practice-tab{text-align:center}
  .practice-generate-bar{align-items:stretch;flex-direction:column}
  .practice-counts{display:flex}
  .practice-count{flex:1;min-width:0}
  .practice-panel-intro{align-items:flex-start;flex-direction:column;gap:2px}
  .practice-card-foot{align-items:flex-start;flex-direction:column;gap:5px}
  .practice-card-reason{white-space:normal}
  .teacher-tools-row .btn{width:100%}
  .ai-paper-options{flex-direction:column;flex-wrap:nowrap!important}
  .ai-paper-options>div{width:100%;min-width:0!important}
  .ai-paper-toggle{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);width:100%}
  .ai-paper-toggle button{min-width:0;padding:9px 8px!important;line-height:1.35;white-space:normal}
}
.question-save-row{display:flex;justify-content:flex-end;margin:0 0 12px}
.question-save-button{min-height:44px;padding:8px 13px;border:1px solid #d4d4d8;border-radius:8px;background:#fff;color:#3f3f46;font:inherit;font-size:13px;font-weight:650;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease}
.question-save-button:hover{border-color:#5e5ce6;color:#4f46e5;background:#f8f8ff}
.question-save-button[aria-pressed="true"]{border-color:#c7d2fe;background:#eef1ff;color:#4f46e5}
.question-save-button:focus-visible{outline:3px solid rgba(94,92,230,.22);outline-offset:2px}
.question-save-button:disabled{cursor:wait;opacity:.62}
