.ruby-doc-practical {
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
  margin: 1.25rem 0 2rem;
  border: 1px solid currentColor;
  border-radius: 0.5rem;
  color: inherit;
}
.ruby-doc-practical summary {
  padding: 0.8rem 1rem;
  font-weight: 600;
  line-height: 1.5;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.ruby-doc-practical summary:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.ruby-doc-practical-body { padding: 0 1rem 1rem; min-width: 0; }
.ruby-doc-practical h2, .ruby-doc-practical h3 { line-height: 1.4; overflow-wrap: anywhere; }
.ruby-doc-practical h2 { font-size: 1.35em; }
.ruby-doc-practical h3 { font-size: 1.1em; margin-top: 1.6em; }
.ruby-doc-practical p { line-height: 1.65; overflow-wrap: anywhere; }
.ruby-doc-practical figure { margin: 1.2rem 0; min-width: 0; }
.ruby-doc-practical figcaption { font-size: 0.9em; font-weight: 600; }
.ruby-doc-practical pre { box-sizing: border-box; max-width: 100%; overflow-x: auto; white-space: pre; padding: 0.8rem; border: 1px solid currentColor; border-radius: 0.3rem; line-height: 1.5; }
.ruby-doc-practical pre code, .ruby-doc-practical pre samp { font-size: 0.85em; white-space: pre; overflow-wrap: normal; }
.ruby-doc-practical-credit, .ruby-doc-practical-sources { font-size: 0.9em; }
@media (max-width: 480px) {
  .ruby-doc-practical summary { padding: 0.7rem; }
  .ruby-doc-practical-body { padding: 0 0.7rem 0.7rem; }
  .ruby-doc-practical pre { padding: 0.6rem; }
}
