.book-angles-lab,
.book-angles-lab *{box-sizing:border-box;min-width:0;max-width:100%}
.book-angles-lab{width:100%;overflow:hidden}
.book-angles-lab .book-model-heading{display:grid;gap:4px}
.book-angles-lab .book-model-heading span{font-size:13px;line-height:1.55;color:#53634d}
.book-angles-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}
.book-angles-controls label{display:grid;gap:5px;min-width:0;font-size:13px;font-weight:700;color:#34452f}
.book-angles-controls select{width:100%;min-width:0;max-width:100%;padding:8px 9px;border:1px solid #bac8aa;border-radius:8px;background:#fffef8;color:#263423;font:inherit;font-size:13px}
.book-angles-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.book-angles-panels figure{margin:0;min-width:0}
.book-angles-panels figcaption{margin:7px 0 0;font-size:13px;line-height:1.6;color:#53634d;overflow-wrap:anywhere}
.book-angles-svg{width:100%;min-width:0;margin:0;padding:8px;border:1px solid #c9d3b5;border-radius:12px;background:#fffefa;overflow:hidden}
.book-angles-svg svg{display:block;width:100%;height:auto;max-height:210px}
.angle-parallel-line{stroke:#4d7347;stroke-width:3}
.angle-transversal{stroke:#344c67;stroke-width:2.5}
.angle-arc{fill:none;stroke:#b44b43;stroke-width:2.5}
.angle-arc-b{stroke:#9c7a35}
.book-angles-svg text{fill:#34452f;font-size:16px;font-family:inherit}
.book-angles-svg .angle-letter{font-size:19px;font-weight:800}
.angle-polygon{fill:#e4f0d8;stroke:#4d7347;stroke-width:2.5;stroke-linejoin:round}
.angle-diagonal{stroke:#b44b43;stroke-width:1.8;stroke-dasharray:5 3}
.angle-vertex{fill:#b44b43}
.book-angles-lab .book-model-result{margin:10px 0 0;padding:9px 10px;border-radius:8px;background:#f2f6ec;color:#34452f;font-size:14px;line-height:1.6}
.book-angles-lab .book-model-caption{margin:8px 0 0;color:#65725f;font-size:12px;line-height:1.55}
@media(max-width:480px){
  .book-angles-controls{grid-template-columns:minmax(0,1fr);gap:8px}
  .book-angles-panels{grid-template-columns:minmax(0,1fr);gap:8px}
  .book-angles-svg{padding:6px}
}
@media(max-width:340px){
  .book-angles-lab .book-model-heading span{font-size:12px}
  .book-angles-controls select{font-size:12px}
  .book-angles-svg{margin-left:0;margin-right:0}
}
