/* 鱼香肉丝: sentence ordering is the active layer; lesson.css owns card and passage furniture. */
.myth { max-width: 680px; border-left: 4px solid var(--red); padding: 1rem 1.25rem; background: #FFF8F7; color: var(--ink); line-height: 1.75; }
.myth b { color: var(--red); }
.targets { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:.9rem; margin-top:1.3rem; }
.target { background:var(--white); border:1px solid var(--border); border-top:3px solid var(--gold); border-radius:10px; padding:1rem 1.1rem; }
.target h3 { color:var(--navy); font-size:1.08rem; margin:0 0 .45rem; }
.target p { margin:0; color:var(--muted); font-size:.84rem; line-height:1.6; }
.target .model { color:var(--red); font-size:1rem; font-weight:700; margin:.55rem 0 .25rem; }
.worksheet { max-width:760px; margin-top:1.25rem; border:1px solid var(--border); border-radius:10px; background:var(--white); }
.worksheet > summary { cursor:pointer; padding:1rem 1.15rem; color:var(--navy); font-weight:700; }
.worksheet > summary span { color:var(--muted); font-size:.8rem; font-weight:400; margin-left:.45rem; }
.worksheet-body { padding:0 1.15rem 1.15rem; }
.builder { max-width: 760px; background: var(--white); border: 1px solid var(--border); border-radius: 12px; padding: 1.2rem; margin: 1rem 0 1.5rem; }
.builder-top { display:flex; justify-content:space-between; gap:.75rem; align-items:baseline; color:var(--muted); font-size:.8rem; }
.builder-num { color:var(--red); font-weight:700; }
.build-answer { min-height:3.1rem; display:flex; flex-wrap:wrap; gap:.45rem; align-content:center; margin:1rem 0; padding:.65rem; border:1px dashed var(--gold); border-radius:8px; background:var(--cream); }
.build-bank { display:flex; flex-wrap:wrap; gap:.5rem; }
.word-chip, .build-action { border:1px solid var(--border); background:#fff; border-radius:7px; padding:.42rem .7rem; font:inherit; color:var(--navy); cursor:pointer; }
.word-chip { font-size:1.08rem; }
.word-chip:hover, .word-chip:focus { border-color:var(--red); color:var(--red); }
.build-actions { display:flex; gap:.55rem; margin-top:.85rem; }
.build-action { font-size:.76rem; color:var(--muted); }
.build-action.primary { background:var(--navy); color:#fff; border-color:var(--navy); }
.build-feedback { min-height:1.3rem; margin-top:.65rem; font-size:.83rem; color:var(--muted); }
.build-feedback.ok { color:var(--green); font-weight:700; }
/* pattern headwords are whole frames (一边……一边……), not single words: a size down, and
   keep-all so a narrow card wraps after an …… instead of mid-word */
#cards-patterns .vh { font-size: calc(2.2rem * var(--scale)); word-break: keep-all; }
.step-flow { display:flex; flex-wrap:wrap; gap:.6rem; align-items:stretch; margin:1.2rem 0; }
.step { flex:1 1 130px; border:1px solid var(--border); border-radius:9px; padding:.8rem; background:var(--white); }
.step-no { color:var(--gold); font-size:.65rem; letter-spacing:.16em; font-weight:700; }
.step-zh { color:var(--navy); font-weight:700; font-size:1.02rem; margin-top:.3rem; }
.step-py { display:none; color:var(--red); font-size:.75rem; margin-top:.18rem; }
body.show-py .step-py { display:block; }
/* the plan: our own kitchen adaptation — swap/compare tables, quantity cards, order of work */
.plan-lead { max-width:760px; color:var(--muted); line-height:1.7; margin:0 0 1.4rem; }
.plan-lead a, .plan-note a { color:var(--navy); }
.plan-h { color:var(--navy); font-size:1.1rem; margin:1.8rem 0 .2rem; }
.plan-scroll { overflow-x:auto; margin:.8rem 0 1rem; }
.plan-table { width:100%; min-width:520px; border-collapse:collapse; font-size:.88rem; background:var(--white); }
.plan-table th, .plan-table td { text-align:left; padding:.55rem .7rem; border-bottom:1px solid var(--border); vertical-align:top; line-height:1.55; }
.plan-table thead th { font-size:.72rem; letter-spacing:.06em; color:var(--muted); }
.plan-table td:first-child { color:var(--navy); font-weight:700; white-space:nowrap; }
.plan-compare { min-width:680px; }
.plan-table .ours { background:var(--cream); color:var(--ink); }
.plan-table thead .ours { color:var(--red); }
.plan-table .ours small { color:var(--muted); font-size:.74rem; white-space:nowrap; }
.target ul { margin:.35rem 0 0 1.1rem; color:var(--ink); font-size:.86rem; line-height:1.7; }
.target ul + p { margin-top:.5rem; }
.plan-phase { color:var(--gold); font-size:.68rem; letter-spacing:.14em; font-weight:700; text-transform:uppercase; margin:1.1rem 0 .3rem; }
.plan-steps { max-width:760px; padding-left:1.6rem; line-height:1.75; font-size:.95rem; }
.plan-note { max-width:760px; margin-top:1.3rem; color:var(--muted); font-size:.88rem; line-height:1.7; }
.plan-note b { color:var(--red); }
/* how it actually went: the verdict after the photo strip */
.verdict { max-width:760px; margin-top:.8rem; padding:1rem 1.25rem; background:var(--cream); border-left:4px solid var(--gold); border-radius:0 10px 10px 0; }
.verdict-zh { margin:0; color:var(--navy); font-size:1.2rem; font-weight:700; line-height:1.6; }
.verdict-py { display:none; margin:.3rem 0 0; color:var(--red); font-size:.8rem; }
body.show-py .verdict-py { display:block; }
.verdict-en { margin:.4rem 0 0; color:var(--muted); font-size:.88rem; line-height:1.6; }
.answer details { margin-top:.8rem; border:1px solid rgba(255,255,255,.18); border-radius:8px; padding:.7rem .9rem; }
.answer summary { cursor:pointer; color:var(--gold); }
.answer p { line-height:1.75; margin:.65rem 0 0; }
