.practice-keepsake{margin:22px 0;padding:28px;border:1px solid #bda684;background:#f8f2e6;outline:1px solid #ded0b8;outline-offset:-8px;box-shadow:0 9px 28px #6c40270c;border-radius:4px}.practice-keepsake header{text-align:center;border-bottom:1px solid #ded0b8;padding-bottom:18px}.keepsake-kicker,.keepsake-date{font-size:12px;letter-spacing:2px;color:#89684c;display:block}.practice-keepsake h2{font-family:"Yijian Brush",serif;font-size:30px;color:#8c392d;margin:14px 0}.keepsake-body{display:flex;align-items:center;gap:24px}.keepsake-body figure{margin:0;flex:1;min-width:0}.keepsake-body canvas{width:100%;height:auto}.keepsake-body figcaption,.keepsake-foot{text-align:center;color:#8e7a66;font-size:12px}.keepsake-observations{flex:1;min-width:0;padding:14px 0}.keepsake-observations h3{font-size:17px;font-weight:500;color:#8c392d}.keepsake-observations p,.review-prose p{font-size:14px;line-height:1.8;overflow-wrap:anywhere}.review-prose{white-space:normal}.design-match{min-height:220px;display:grid;place-items:center;padding:30px;text-align:center;color:#903b2d;font:28px/1.7 "Yijian Brush",serif;border:1px solid #d9cdb6;background:#fbf6eb}.evidence-reading{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e3d6c3}.evidence-reading strong{font-weight:500;color:#8c392d}.measurement-note,.measurement-key p{font-size:12px;line-height:1.8;color:#7e7164}.design-intro{display:flex;align-items:center;gap:18px;padding:20px 0;margin-bottom:20px;border-bottom:1px solid #dacebb;flex-wrap:wrap}.design-intro h2{font-size:24px;margin:0}.design-intro p{margin:8px 0;font-size:13px;color:#8a7762}.step-seal{border:1px solid #ae614d;color:#9e4331;padding:12px;writing-mode:vertical-rl;letter-spacing:8px}.design-intro input{max-width:220px;display:block}.candidate-list{display:flex;gap:8px;overflow:auto;margin:12px 0}.candidate-tile{min-width:120px;max-width:145px;flex-shrink:0;border:1px solid #cdb79a;background:#faf5ec;padding:8px;border-radius:8px}.candidate-tile canvas{width:100%;aspect-ratio:1;object-fit:contain}.candidate-tile p{font-size:12px;line-height:1.5;margin:5px 0}.candidate-tile button{font-size:12px}.inspection-result>img{width:100%;cursor:zoom-in}.inspection-result>img:focus{outline:3px solid #b14c35}#practice-compare{max-height:92dvh;overflow:auto;width:min(1000px,94vw)}#practice-photo{max-height:48vh;object-fit:contain;width:auto;max-width:100%;display:block;margin:auto}#practice-compare-status{white-space:pre-line}.training-readings strong[data-warning=true]{color:#9f351f}.training-camera #camera-result{object-fit:contain}.review-prose p:empty{display:none}
@media(max-width:760px){.practice-keepsake{padding:20px 16px}.keepsake-body{flex-direction:column;gap:0}.keepsake-observations,.keepsake-body figure{width:100%}.design-intro h2{font-size:20px}.practice-keepsake h2{font-size:25px}}
#practice-compare .compare-pair{grid-template-columns:repeat(3,minmax(0,1fr))}#practice-compare .compare-pair img{object-fit:contain;align-self:start;border:1px solid #ded0b8}#practice-compare-close{position:sticky;top:0;z-index:2;background:#fff9ee;padding:8px 14px;border:1px solid #ded0b8;border-radius:20px}#note-author{display:inline-block;margin:10px 0;color:#89684c}.training-readings strong[data-warning=true]{color:#ae402a}@media(max-width:760px){#practice-compare .compare-pair{grid-template-columns:1fr 1fr}#practice-compare .compare-pair img:first-child{grid-column:1 / -1;max-height:190px;justify-self:center}}
