.diagram{min-height:260px;display:grid;place-items:center}.diagram svg{width:100%;max-width:560px;max-height:400px}.diagram line{stroke:#b9cbe0;stroke-width:3;stroke-linecap:round}.diagram .highlight1{stroke:#38bdf8;stroke-width:7;opacity:.65}.diagram .highlight2{stroke:#fb923c;stroke-width:5;opacity:.7}.diagram circle{fill:#f8fafc}.diagram text{fill:#f8fafc;font-size:17px;font-weight:700;paint-order:stroke;stroke:#122037;stroke-width:4px;stroke-linejoin:round}.diagram .given{fill:#a5f3fc;font-size:14px}.selected-triangles{display:flex;gap:.5rem;flex-wrap:wrap}.selected-triangles span,.angle-row,.ratio-row{padding:.55rem;border:1px solid #475569;border-radius:.7rem}.selected-triangles span:first-child{color:#7dd3fc}.selected-triangles span:last-child{color:#fdba74}.construction-panel select,.construction-panel input{width:100%;background:#17263b;color:#f8fafc;border:1px solid #64748b;border-radius:.6rem;padding:.65rem;font:inherit}.construction-panel label{display:block;margin:.6rem 0}.construction-panel h2{margin-top:0}.construction-panel button{margin-top:.5rem}.angle-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.angle-row{text-align:center}.angle-row button{width:100%;font-size:1.15rem}.angle-row small{display:block}.mark{font-size:1.2rem;color:#7dd3fc}.letter-buttons{display:flex;flex-wrap:wrap;gap:.4rem}.letter-buttons button{min-width:2.7rem}.letter-buttons button:disabled{opacity:.4}.ratio-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.35rem;margin:.5rem 0}.ratio-row select{min-width:0}.feedback:empty{display:none}.feedback strong{display:block;margin-bottom:.35rem}.review-answer{line-height:1.8}.review-answer code{white-space:normal;color:#a7f3d0}.reference-block{margin:1rem 0;padding:1rem;border:1px solid #475569;border-radius:.8rem}.reference-block h3{margin-top:0}#dialog-content{max-height:70vh;overflow:auto}#dialog-content details{margin:.5rem 0;padding:.7rem;border:1px solid #475569;border-radius:.6rem}@media(max-width:650px){.menu-intro h1{font-size:clamp(1.7rem,7vw,2.7rem);overflow-wrap:anywhere}.menu-layout>*{min-width:0}.diagram{min-height:200px}.diagram svg{max-height:270px}.ratio-row{grid-template-columns:1fr auto 1fr}.angle-grid{gap:.3rem}.angle-row{padding:.3rem}}
