/* /measure-angle-online/: tool layout. Uses the site tokens from style.css. */
.ang-samples { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 10px 0 0; }
.ang-status { margin: 8px 0 0; min-height: 1.3em; }
.ang-stage { margin-top: 10px; background: var(--paper-2); border: 1px solid var(--line-2); border-radius: var(--radius-s); padding: 6px; display: flex; justify-content: center; position: relative; min-height: 120px; }
.ang-stage canvas { display: block; max-width: 100%; height: auto; touch-action: none; cursor: crosshair; border-radius: 6px; background: #fff; }
.ang-empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 12px; pointer-events: none; margin: 0; }
.ang-stage.has-img .ang-empty { display: none; }
.ang-read { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; margin: 12px 0 4px; }
.ang-num { font-family: var(--font-display); font-size: 2.6rem; line-height: 1; color: var(--accent-deep); min-width: 4.2ch; }
.ang-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ang-btns .btn { padding: 10px 16px; }
.ang-btns .btn[aria-pressed="true"] { background: var(--accent-soft); border-color: var(--accent); }
.ang-btns .btn:disabled { opacity: .45; cursor: not-allowed; }
.ang-fig { margin: 16px 0; }
.ang-fig img { display: block; width: 100%; height: auto; border: 1px solid var(--line-2); border-radius: 8px; }
.ang-fig figcaption { color: var(--ink-3); font-size: .85rem; margin-top: 4px; }
.ang-cta { display: flex; flex-wrap: wrap; gap: 10px; }
@media (max-width: 480px) { .ang-num { font-size: 2.2rem; } .ang-btns .btn { flex: 1 1 auto; } }
.ang-stage:not(.has-img) canvas { display: none; }
