/* Chapter 3 review: self-contained styles embedded in the delivered HTML. */
.review-intro{background:linear-gradient(120deg,#fff0c8,#e7f7ff);border:1px solid #d8e7ef;border-radius:18px;padding:20px;margin:0 0 20px}
.review-intro h2{margin:0 0 5px}.review-intro p{margin:5px 0}.review-group{margin:28px 0 12px;border-bottom:3px solid #dcd7f5;padding-bottom:5px}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px}
.review-card{background:#fff;border:1px solid #d9e5ed;border-radius:18px;padding:18px;box-shadow:0 5px 17px #253b5512;min-width:0}
.review-card h4{font-size:1.12rem;margin:8px 0;line-height:1.4}.review-label{color:#59439d;font-size:.78rem;font-weight:900;letter-spacing:.045em}
.review-picture{background:#edf9f4;border-radius:14px;padding:12px;margin:12px 0;min-height:190px;overflow:hidden}
.review-picture svg{width:100%;height:150px;display:block}.review-picture .review-equation{background:#fff1d2;color:#46325d;border-radius:9px;padding:8px 10px;margin:9px 0;font-size:1.08rem;font-weight:800;overflow-wrap:anywhere}
.review-picture .review-caption{margin:3px 0 7px;color:#314563;font-size:.9rem}.review-picture .review-stage{font-size:.76rem;font-weight:900;color:#4d4590}
.review-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}.review-choices button{text-align:center;background:#eeecff;color:#392c83;min-height:44px;overflow-wrap:anywhere}
.review-choices button:hover,.review-choices button:focus-visible{background:#dcd4ff;outline:3px solid #f2b744;outline-offset:1px}
.review-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.review-controls .secondary{background:#e8ecfa;color:#283967}
.review-result{background:#e6f6eb;color:#225240;padding:10px;border-radius:9px;margin:8px 0}.review-warning{background:#fff0d9;color:#634315;padding:8px;border-radius:8px}
.review-quiz{background:linear-gradient(#fff,#faf8ff);border:1px solid #d8d3ef;border-radius:20px;padding:22px;margin:28px 0}.review-quiz h2{margin:0 0 5px}
.review-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:16px 0}.review-levels button{min-height:77px;padding:8px;background:#5143ad}.review-levels button:disabled{background:#dfe3ef;color:#636979;opacity:1}
.review-levels .icon{font-size:1.6rem;display:block}.review-levels small{display:block;font-weight:500}
.review-clockrow{display:flex;gap:13px;align-items:center;margin:10px 0}.review-clock{width:68px;height:68px;flex:none;border:4px solid #5843a2;border-radius:50%;background:white;position:relative}
.review-clock:after{content:'';position:absolute;background:#5843a2;width:7px;height:7px;border-radius:50%;top:calc(50% - 3px);left:calc(50% - 3px)}
.review-hand{position:absolute;left:calc(50% - 1px);bottom:50%;height:26px;width:2px;background:#e3692b;transform-origin:bottom}.review-hand.hour{height:18px;width:3px;background:#5843a2}
.review-progress{height:10px;background:#e6e2f5;border-radius:9px;overflow:hidden;margin:10px 0}.review-progress span{display:block;height:100%;background:linear-gradient(90deg,#6552bb,#33a894)}
.review-play{scroll-margin-top:90px}.review-play-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
.review-play-grid .review-picture{margin:0}.review-work{background:#f1edff;padding:10px;border-radius:10px;margin:9px 0;max-height:135px;overflow:auto;font-size:.9rem}
.review-quiz .review-choices{grid-template-columns:repeat(2,minmax(0,1fr));max-width:600px}.review-quiz .review-choices button{margin:0}
.review-quiz .review-choice-wrap{position:sticky;bottom:0;z-index:2;background:#fff;border-top:1px solid #dcd5f0;padding:7px 0;box-shadow:0 -6px 15px #ffffffdd}
.review-score{font-size:1.3rem;font-weight:800;color:#49358e}.review-answers{margin:8px 0;padding:0 0 0 20px}.review-answers li{padding:5px 0}
.review-fraction{display:inline-flex;flex-direction:column;vertical-align:middle;text-align:center;line-height:1.1;margin:0 .12em}.review-fraction>span:first-child{border-bottom:2px solid;padding:0 4px}
@media(max-width:720px){.review-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.review-play-grid{grid-template-columns:1fr}.review-quiz{padding:15px}.review-play-grid .review-picture svg{height:135px}}
@media(max-width:400px){.review-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.review-choices button{padding:9px 4px;font-size:.93rem}}
