.practice-workspace {padding:24px 0; color:var(--ink); font-size:14px;}
.practice-workspace button,.practice-workspace select {font:inherit; cursor:pointer;}
.practice-workspace button:disabled {opacity:.45;cursor:default;}
.practice-workspace :focus-visible {outline:3px solid #85a84d;outline-offset:2px;}
.practice-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;}
.practice-heading h1 {font-size:23px;line-height:1.4;margin:3px 0;}
.practice-heading p {font-size:14px;color:#667268;line-height:1.5;}
.practice-crumb {font-size:13px;color:#6e7a70;}
.practice-crumb button {background:none;border:0;color:inherit;}
.practice-grid {display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;}
.practice-stage,.practice-tools {min-width:0;border:1px solid var(--line);border-radius:12px;}
.practice-stage {padding:14px;background:#eef1e9;display:flex;flex-direction:column;}
.practice-stage-toolbar {display:flex;align-items:center;justify-content:space-between;gap:8px;}
.practice-stage-toolbar>span {font-size:13px;white-space:nowrap;}
.practice-stage-toolbar>div {display:flex;gap:6px;}
.practice-stage-toolbar button {border:1px solid #d3ddc9;background:#fffef9;border-radius:6px;padding:6px 9px;min-height:34px;font-size:13px;color:#5e7052;}
.practice-stage-toolbar button[aria-pressed=true] {background:#deedc1;border-color:#abc47e;}
.practice-context {font-size:14px;line-height:1.5;margin:9px 0;color:#4d6144;}
.practice-artifact {flex:1;min-width:0;min-height:0;border:1px solid #ddd;border-radius:9px;overflow:hidden;background:#fff;color:rgba(0,0,0,.9);font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;}
.practice-artifact button {border:0;background:white;color:rgba(0,0,0,.9);}
.practice-caption {font-size:12px;text-align:center;color:#71816a;margin:8px 0 0;}
.practice-tools {background:#fffef9;padding:18px;display:flex;flex-direction:column;gap:18px;}
.play-control-group {border:0;padding:0;margin:0;min-width:0;}
.play-control-group legend {font-size:14px;font-weight:600;margin-bottom:9px;}
.play-choice-row {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.play-choice-row button {border:1px solid #d7dfcd;border-radius:7px;padding:9px 5px;background:#fafbf6;color:#5b6d50;font-size:13px;line-height:1.4;min-height:48px;}
.play-choice-row button[aria-pressed=true],.play-reply button[aria-pressed=true] {background:#e5f0cd;border-color:#9dbb70;color:#355327;}
.play-choice-explanation {font-size:13px;line-height:1.6;color:#6f7c65;margin:8px 0 0;}
.practice-bottom {margin-top:auto;}
.practice-history {display:flex;gap:6px;align-items:center;border-top:1px solid #dde3d5;padding-top:12px;}
.practice-history select {width:60px;flex:1;min-width:0;}
.practice-history button,.practice-history select {min-height:36px;border:1px solid #d7dfcd;background:#fffef9;padding:6px 8px;border-radius:6px;color:#5e7153;font-size:13px;}
.practice-check {display:flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;width:100%;min-height:43px;background:#183e33;color:white;margin-top:9px;}
.practice-check .icon {width:19px;height:19px;}
.practice-result {background:none;border:0;color:#567041;font-size:13px;padding:8px 0;}
.practice-footer {display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px;color:#819173;}
.practice-footer>button {margin-left:auto;}
.practice-footer button {background:none;border:0;color:inherit;min-height:30px;}
.practice-inline-feedback,.practice-mobile-jump {display:none;}
.play-appbar {display:flex;align-items:center;justify-content:space-between;gap:8px;background:#ededed;min-height:44px;flex:0 0 44px;padding:10px 16px;font-size:16px;font-weight:500;color:rgba(0,0,0,.9);}
.play-appbar>button {background:transparent;border:0;min-width:28px;min-height:28px;font-size:22px;}
.play-chat .play-appbar>button {font-size:13px;color:#576b95;}
.practice-transcript p {font-size:15px;line-height:1.7;margin:12px 0;}
.play-appbar>span:last-child {font-size:13px;font-weight:400;}
.play-chat,.play-navigation,.play-evidence,.play-sequence {height:100%;min-height:0;display:flex;flex-direction:column;}
.play-chat {background:#ededed;}
.play-messages {display:flex;flex-direction:column;gap:10px;flex:1;padding:14px 18px;min-height:0;}
.play-message {display:flex;align-items:flex-start;gap:9px;max-width:92%;}
.play-message img {width:32px;height:32px;object-fit:cover;border-radius:4px;flex:0 0 32px;}
.play-message p {background:white;border-radius:5px;padding:9px 12px;font-size:15px;line-height:1.5;white-space:pre-line;margin:0;}
.play-message.is-mine {align-self:flex-end;flex-direction:row-reverse;}
.play-message.is-mine p {background:#95ec69;}
.play-wait {color:rgba(0,0,0,.45);text-align:center;font-size:13px;margin:6px 0;}
.play-chat-footer {font-size:12px;color:rgba(0,0,0,.45);text-align:center;padding:8px;border-top:1px solid #ddd;}
.play-step-caption {font-size:13px;color:#73855f;}
.play-reply h2 {font-size:17px;margin:8px 0 4px;line-height:1.5;}
.play-reply>p {font-size:13px;color:#819075;margin-bottom:13px;}
.play-reply>button {display:block;width:100%;border:1px solid #d7dfcd;border-radius:8px;text-align:left;padding:12px;background:#fbfcf7;color:#3e5639;line-height:1.6;margin-top:8px;font-size:14px;}
.play-find-goal {display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #e5e5e5;background:#fafafa;}
.play-find-goal strong {font-size:15px;font-weight:500;}
.play-find-goal>span {font-size:13px;color:rgba(0,0,0,.55);white-space:nowrap;}
.play-menu {flex:1;}
.play-menu>button {display:flex;width:100%;justify-content:space-between;align-items:center;gap:10px;padding:15px 20px;border-bottom:1px solid #eee;min-height:52px;font-size:16px;}
.play-menu>button>span:last-child {color:rgba(0,0,0,.3);}
.play-navigation-footer {display:flex;justify-content:space-between;gap:8px;align-items:center;padding:10px 16px;border-top:1px solid #eee;font-size:12px;}
.play-navigation-footer>span {color:rgba(0,0,0,.55);}
.play-navigation-footer button {color:#576b95;font-size:13px;white-space:nowrap;padding:4px;}
.play-arrival {padding:25px;text-align:center;}
.play-arrival strong {font-size:20px;display:block;margin-bottom:10px;}
.play-arrival p {font-size:15px;line-height:1.7;}
.play-arrival span {display:block;color:rgba(0,0,0,.55);font-size:13px;line-height:1.6;margin-top:10px;}
.play-arrival.is-found strong {color:#07a650;}
.play-files {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#f5f5f5;padding:10px;}
.play-files>button {display:flex;align-items:center;gap:7px;border:1px solid #ddd;border-radius:6px;padding:9px 8px;text-align:left;font-size:13px;line-height:1.4;}
.play-files>button[aria-pressed=true] {border-color:#07c160;box-shadow:inset 0 -2px #07c160;}
.play-files img {height:28px;width:23px;object-fit:contain;flex-shrink:0;}
.play-document {flex:1;padding:17px 22px;min-height:0;}
.play-document-label {font-size:12px;color:rgba(0,0,0,.55);}
.play-document h2 {font-size:20px;margin:5px 0 12px;line-height:1.4;}
.play-document>p {font-size:16px;line-height:1.7;margin:0;}
.play-data {display:grid;gap:12px;margin-top:18px;}
.play-data-row {display:grid;grid-template-columns:minmax(85px,.65fr) minmax(60px,1fr) auto;gap:12px;align-items:center;font-size:14px;}
.play-data-row b {font-size:13px;font-weight:500;}
.play-data-track {height:12px;background:#eee;border-radius:2px;overflow:hidden;}
.play-data-track i {display:block;height:100%;background:#07c160;}
.play-document-footer {font-size:12px;color:rgba(0,0,0,.55);padding:10px 16px;border-top:1px solid #eee;line-height:1.5;}
.play-sort-instruction {padding:12px 18px;margin:0;font-size:14px;color:rgba(0,0,0,.55);}
.play-work-cards {padding:0 18px;margin:0;list-style:none;display:grid;gap:10px;}
.play-work-cards li {display:flex;align-items:center;gap:12px;border:1px solid #ddd;border-radius:8px;background:white;padding:11px;}
.play-order-number {font-size:20px;color:#07c160;width:22px;text-align:center;flex:0 0 22px;}
.play-work-cards li>div:nth-child(2) {flex:1;}
.play-work-cards strong {font-size:16px;font-weight:500;line-height:1.4;}
.play-work-cards p {font-size:13px;color:rgba(0,0,0,.55);line-height:1.5;margin:4px 0 0;}
.play-move {display:flex;gap:6px;}
.play-move>button {border:1px solid #ddd;min-height:34px;min-width:32px;border-radius:4px;font-size:18px;}
.play-sort-hint {font-size:13px;color:rgba(0,0,0,.55);padding:12px 18px;margin-top:auto;}
.practice-compare {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.practice-compare>section {padding:18px;border:1px solid #dce4d2;border-radius:8px;}
.practice-compare h3 {font-size:18px;}
.practice-compare p {font-size:14px;line-height:1.7;margin:8px 0 14px;}
.practice-compare-actions {white-space:pre-line;}
.practice-compare strong {font-size:14px;}
.practice-compare-dialog .dialog-body {display:block;overflow:auto;}
@media(min-width:961px) and (min-height:620px) {
 .work-shell .practice-workspace {display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;padding:10px 0 4px;min-height:0;}
 .practice-heading {margin:0;}
 .practice-heading h1 {font-size:21px;}
 .practice-heading p {font-size:13px;}
 .practice-grid,.practice-stage,.practice-tools {min-height:0;}
 .practice-footer {margin:0;}
 .practice-artifact>.visual-play,.practice-artifact>.work-play {height:100%;}
 .practice-tools {padding:14px;gap:14px;}
}
@media(min-width:961px) and (min-height:620px) and (max-height:760px) {
 .work-shell .practice-workspace {gap:6px;padding-top:6px;}
 .practice-heading>div {display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 14px;min-width:0;}
 .practice-heading .practice-crumb {grid-column:1;grid-row:1;font-size:11px;white-space:nowrap;}
 .practice-heading h1 {grid-column:2;grid-row:1;margin:0;}
 .practice-heading p {grid-column:2;font-size:12px;}
 .practice-caption {display:none;}
 .practice-footer {font-size:12px;}
 .practice-footer button {min-height:24px;}
 .practice-stage {padding:10px;}
 .practice-context {margin:6px 0;font-size:13px;}
 .practice-caption {margin-top:5px;}
 .play-messages {gap:6px;padding:10px 14px;}
 .play-message p {font-size:14px;padding:7px 10px;line-height:1.4;}
 .play-appbar {min-height:38px;flex-basis:38px;padding:7px 14px;font-size:15px;}
 .play-reply>button {padding:9px 10px;font-size:13px;line-height:1.5;}
 .play-choice-explanation {font-size:13px;line-height:1.45;}
 .play-document {padding:12px 18px;}
 .play-document h2 {font-size:18px;margin-bottom:8px;}
 .play-document>p {font-size:15px;line-height:1.6;}
 .play-data {margin-top:12px;gap:9px;}
 .play-menu>button {padding:11px 16px;min-height:44px;font-size:15px;}
 .play-work-cards {gap:8px;}
 .play-work-cards li {padding:9px;}
 .play-work-cards strong {font-size:15px;}
 .play-sort-hint {padding:8px 18px;}
}
@media(min-width:961px) and (max-width:1140px) {
 .practice-grid {grid-template-columns:minmax(0,1fr) 310px;gap:12px;}
 .practice-heading h1 {font-size:19px;}
 .play-messages {padding:9px;}
 .play-message {gap:6px;max-width:97%;}
 .play-message img {width:27px;height:27px;flex-basis:27px;}
 .play-files {gap:5px;padding:7px;}
 .play-files>button {padding:7px 5px;}
}
@media(max-width:960px),(max-height:619px) {
 .practice-grid {grid-template-columns:minmax(0,1fr);}
 .practice-artifact {min-height:360px;}
 .practice-artifact.kind-chat {min-height:400px;}
 .practice-artifact>div {height:auto;min-height:inherit;}
 .practice-stage {padding:12px;}
 .practice-tools {gap:22px;}
 .play-reply>button,.play-choice-row button {min-height:48px;}
 .practice-mobile-jump {display:block;border:1px solid #d6dfcb;padding:11px;border-radius:6px;color:#567041;background:#f5f8ee;}
 .practice-inline-feedback {display:block;}
 .practice-result {display:none;}
}
@media(max-width:600px) {
 .practice-heading {align-items:flex-start;}
 .practice-heading h1 {font-size:21px;}
 .practice-heading>.text-button {font-size:12px;white-space:nowrap;}
 .practice-heading>.text-button .icon {display:none;}
 .practice-stage-toolbar {flex-wrap:wrap;}
 .practice-stage-toolbar>div {margin-left:auto;}
 .practice-context {font-size:14px;}
 .play-messages {padding:13px 9px;}
 .play-message p {font-size:15px;}
 .play-files {gap:5px;padding:6px;}
 .play-files>button {flex-direction:column;align-items:flex-start;padding:8px;}
 .play-files img {height:23px;width:18px;}
 .play-document {padding:15px;}
 .play-data-row {grid-template-columns:1fr auto;gap:6px;}
 .play-data-track {grid-row:2;grid-column:1/-1;}
 .play-find-goal {align-items:flex-start;}
 .play-work-cards {padding:0 10px;}
 .play-work-cards li {gap:8px;}
 .play-move {flex-direction:column;}
 .play-sort-instruction {padding:12px;}
 .practice-footer {align-items:flex-start;gap:10px;}
 .practice-compare {grid-template-columns:1fr;}
}
/* Keep the approved deletion mechanics; use WeChat functional colours inside. */
.dlab-window {color:rgba(0,0,0,.9);background:#fff;}
.dlab-window .dlab-appbar {background:#ededed;}
.dlab-window .is-danger {background:#fa5151;color:white;}
.dlab-window .dlab-delete-row {color:#fa5151;background:#fff0f0;}
.dlab-window .dlab-chat-copy strong,.dlab-window .dlab-record-copy strong,.dlab-window .dlab-record-total strong {color:rgba(0,0,0,.9);}
.dlab-window .dlab-chat-copy p,.dlab-window .dlab-record-copy>span {color:rgba(0,0,0,.55);}
.dlab-window .dlab-undo-bar {background:#ededed;color:rgba(0,0,0,.9);}
.dlab-window .dlab-undo-bar .dlab-button {color:#576b95;}
.dlab-window .dlab-confirm-card h3 {color:rgba(0,0,0,.9);}
.dlab-window .dlab-confirm-card p {color:rgba(0,0,0,.55);}
.dlab-window .dlab-confirm-card .dlab-confirm-name {color:rgba(0,0,0,.9);}
.dlab-window .dlab-confirm-actions .is-secondary {background:#f2f2f2;color:#576b95;border-color:transparent;}
@media(prefers-reduced-motion:reduce){.practice-workspace *{scroll-behavior:auto!important;}}
.practice-compare-dialog {width:min(1120px,calc(100% - 32px));}
.practice-compare-previews>section {padding:0;border:0;min-width:0;}
.practice-compare-previews h3 {font-size:15px;margin-bottom:10px;}
.practice-compare-previews .practice-artifact {min-height:390px;height:390px;}
.practice-compare-previews .visual-play,.practice-compare-previews .work-play {height:100%;}
.practice-compare-condition {font-size:12px!important;margin-top:10px;}
@media(min-width:961px) and (min-height:620px) {
 .practice-compare-dialog .dialog-header {padding:12px 18px 0;}
 .practice-compare-dialog .dialog-body {padding:8px 18px;}
 .practice-compare-dialog .dialog-actions {padding:0 18px 12px;}
}
@media(max-width:600px) {
 .practice-compare-previews .practice-artifact {height:auto;min-height:360px;}
.practice-compare-previews .visual-play,.practice-compare-previews .work-play {height:auto;}
}
/* Concrete secondary paths replace the duplicate sorting instruction and hint. */
.has-sort-plan>.play-work-cards {padding-top:10px;}
.play-sort-plan {margin-top:auto;padding:10px 18px;display:flex;flex-direction:column;gap:5px;border-top:1px solid rgba(0,0,0,.08);font-size:14px;line-height:1.4;color:rgba(0,0,0,.9);}
.play-sort-plan>strong {font-size:14px;font-weight:500;line-height:1.4;}
.play-sort-plan-row {display:flex;align-items:baseline;gap:8px;min-width:0;}
.play-sort-plan-row>span {flex:0 0 4em;color:rgba(0,0,0,.55);font-size:14px;}
.play-sort-plan-row>p {display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin:0;font-size:14px;line-height:1.4;}
.play-sort-plan-row>p>span {white-space:nowrap;}
.play-sort-plan-row i {font-style:normal;color:rgba(0,0,0,.55);}
@media(min-width:961px) and (min-height:620px) and (max-height:760px) {
 .play-sort-plan {padding:8px 18px;gap:4px;}
}
@media(max-width:600px) {
 .play-sort-plan {padding:12px;}
 .play-sort-plan-row {gap:6px;}
 .play-sort-plan-row>span {flex-basis:4em;}
}

/* Conversation excerpts show one turn at a time, with named speakers. */
.play-message>div {min-width:0;}
.play-speaker {display:block;margin:0 0 4px;color:rgba(0,0,0,.55);font-size:11px;line-height:1.5;}
.play-message.is-mine .play-speaker {text-align:right;}
.play-message img {margin-top:20px;}
.play-chat-round {flex:none;padding:8px 14px 0;font-size:12px;color:rgba(0,0,0,.55);}
.play-chat .play-messages {justify-content:center;}
.practice-check:disabled {background:#E5E9DF;color:#73816A;}
.practice-learning {margin-top:4px;}
@media(min-width:961px) and (min-height:620px) {.practice-heading>div:first-child {min-width:0;} .practice-help {max-width:175px;}}

/* These reviews contain complete sentences and need more width for the choice
   panel on a small laptop. Preserve text size; recover height by reducing wraps. */
@media (min-width:961px) and (max-width:1140px) and (min-height:620px) {
 .practice-workspace:is([data-task-id="collaboration-02"],[data-task-id="project-01"],[data-task-id="project-02"]) .practice-grid {
  grid-template-columns:minmax(0,1fr) 370px;
 }
 .practice-workspace:is([data-task-id="collaboration-02"],[data-task-id="project-02"]) .practice-tools {
  gap:12px;
 }
 .practice-workspace[data-task-id="project-01"] .play-reply>p {margin-bottom:8px;}
}

/* Search records need four visible comparison rows plus their counting rules.
   Put the source label beside the title and use the existing text sizes. */
@media (min-width:961px) and (min-height:620px) and (max-height:760px) {
 .practice-workspace[data-task-id="data-08"] .play-document {
  display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto;
  align-content:start;row-gap:8px;
 }
 .practice-workspace[data-task-id="data-08"] .play-document-label {grid-column:2;grid-row:1;align-self:center;}
 .practice-workspace[data-task-id="data-08"] .play-document h2 {grid-column:1;grid-row:1;margin:0;}
 .practice-workspace[data-task-id="data-08"] .play-document>p {grid-column:1/-1;grid-row:2;}
 .practice-workspace[data-task-id="data-08"] .play-data {grid-column:1/-1;grid-row:3;margin-top:0;gap:8px;}
}

/* Shared outer controls: keep the case documents and phone styles untouched. */
.practice-tools .play-choice-row button,.practice-tools .play-reply>button { border-radius: var(--radius-control); transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.practice-tools .play-choice-row button { font-size: 14px; }
.practice-tools .play-choice-explanation,.practice-tools .play-reply>p,.play-step-caption,
.practice-caption,.practice-footer { color: var(--muted); }
.practice-tools .play-choice-explanation { line-height: 1.6; }
.practice-tools .practice-history button { border-color: #bac6b3; border-radius: var(--radius-control); min-height: 40px; color: var(--muted); }
.practice-tools .practice-check { background: var(--ink); border-radius: var(--radius-control); min-height: 46px; font-size: 14px; transition: background 160ms ease, transform 160ms ease; }
.practice-tools .practice-check:disabled { background: #e5e9df; color: #73816a; }
.practice-tools button:focus-visible { outline-color: var(--ink); }
@media (hover:hover) {
 .practice-tools .play-choice-row button:hover:not(:disabled),.practice-tools .play-reply>button:hover:not(:disabled) { border-color: #7d9668; }
 .practice-tools .practice-history button:hover:not(:disabled) { background: var(--soft-green); border-color: #7d9668; }
 .practice-tools .practice-check:hover:not(:disabled) { background: #214f40; }
}
.practice-tools .practice-check:active:not(:disabled) { transform: translateY(1px); }
