make me flow charts of this in easy way
cd /home/daytona/workspace/attachments/627b560e-f82d-43bf-ac8e-d1ce4e1e9034 && python3 -c " import pdfplumber with pdfplumber.open('JOINTS (2).pdf') as pdf: print(f'Total pages: {len(pdf.pages)}') for i, page in enumerate(pdf.pages): text = page.extract_text() print(f'--- PAGE {i+1} ---') print(text[:3000] if text else '[No text]') print() "
mkdir -p /home/daytona/workspace/joints-flowcharts
~/joints-flowcharts/joints_flowcharts.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Joints - Classification Flowcharts</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Segoe UI', Arial, sans-serif;
background: #f0f4f8;
color: #222;
padding: 30px 20px;
}
h1 {
text-align: center;
font-size: 2em;
color: #1a3a5c;
margin-bottom: 6px;
letter-spacing: 1px;
}
.subtitle {
text-align: center;
color: #5a7a9a;
font-size: 1em;
margin-bottom: 36px;
}
.section-title {
font-size: 1.35em;
font-weight: 700;
color: #1a3a5c;
margin: 40px 0 18px 0;
padding-left: 12px;
border-left: 5px solid #2d80c4;
}
/* ===== FLOWCHART 1: Main Classification Tree ===== */
.tree {
display: flex;
flex-direction: column;
align-items: center;
}
.node {
padding: 10px 22px;
border-radius: 10px;
font-weight: 700;
font-size: 1em;
text-align: center;
display: inline-block;
min-width: 160px;
}
.node-root {
background: #1a3a5c;
color: #fff;
font-size: 1.3em;
padding: 14px 40px;
border-radius: 14px;
min-width: 200px;
box-shadow: 0 4px 16px #1a3a5c44;
}
.node-false {
background: #e05a5a;
color: #fff;
box-shadow: 0 2px 8px #e05a5a44;
}
.node-true {
background: #2d80c4;
color: #fff;
box-shadow: 0 2px 8px #2d80c444;
}
.node-sub {
background: #f7a800;
color: #222;
font-weight: 700;
box-shadow: 0 2px 8px #f7a80044;
}
.node-leaf {
background: #fff;
color: #333;
font-weight: 600;
border: 2px solid #ccc;
font-size: 0.88em;
min-width: 120px;
}
.node-example {
background: #e8f5e9;
color: #2e7d32;
font-weight: 500;
border: 1.5px solid #81c784;
font-size: 0.82em;
min-width: 110px;
}
.connector-v {
width: 3px;
background: #aaa;
margin: 0 auto;
height: 22px;
}
.connector-v-short { height: 14px; }
.connector-h {
display: flex;
align-items: flex-start;
justify-content: center;
gap: 0;
position: relative;
}
.branch-col {
display: flex;
flex-direction: column;
align-items: center;
padding: 0 10px;
}
.h-line {
border-top: 3px solid #aaa;
width: 100%;
margin-top: 0;
}
.h-line-container {
display: flex;
align-items: flex-start;
justify-content: center;
}
/* ===== CARD GRIDS ===== */
.card-grid {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
margin-bottom: 10px;
}
.card {
background: #fff;
border-radius: 14px;
box-shadow: 0 2px 12px #0001;
padding: 20px 22px;
min-width: 240px;
max-width: 320px;
flex: 1 1 240px;
}
.card-header {
font-size: 1.05em;
font-weight: 700;
border-radius: 8px;
padding: 7px 14px;
margin-bottom: 12px;
text-align: center;
}
.card-header.red { background: #e05a5a; color: #fff; }
.card-header.blue { background: #2d80c4; color: #fff; }
.card-header.gold { background: #f7a800; color: #222; }
.card-header.green { background: #43a047; color: #fff; }
.card-header.purple { background: #7b52c7; color: #fff; }
.card-header.teal { background: #00897b; color: #fff; }
.card-header.navy { background: #1a3a5c; color: #fff; }
.card ul {
padding-left: 18px;
font-size: 0.93em;
line-height: 1.7;
}
.card ul li { margin-bottom: 2px; }
.card .note {
margin-top: 10px;
font-size: 0.82em;
color: #888;
font-style: italic;
}
.card .row-item {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 7px;
font-size: 0.9em;
}
.badge {
display: inline-block;
padding: 3px 10px;
border-radius: 20px;
font-size: 0.82em;
font-weight: 700;
white-space: nowrap;
}
.badge-axes { background: #e3f2fd; color: #1565c0; }
.badge-dof { background: #fce4ec; color: #b71c1c; }
.badge-move { background: #f3e5f5; color: #6a1b9a; }
.badge-ex { background: #e8f5e9; color: #2e7d32; }
/* ===== FLOWCHART: True joint structure ===== */
.struct-flow {
display: flex;
flex-direction: column;
align-items: center;
gap: 0;
}
.struct-node {
background: #fff;
border: 2.5px solid #2d80c4;
border-radius: 10px;
padding: 9px 30px;
font-size: 0.97em;
font-weight: 600;
text-align: center;
min-width: 280px;
position: relative;
color: #1a3a5c;
}
.struct-node .sub-note {
font-size: 0.78em;
color: #555;
font-weight: 400;
display: block;
margin-top: 2px;
}
.struct-connector {
width: 3px;
background: #2d80c4;
height: 18px;
margin: 0 auto;
}
.struct-side {
display: flex;
align-items: flex-start;
gap: 14px;
width: 100%;
max-width: 700px;
}
.struct-main { flex: 1; }
.struct-detail {
background: #e3f2fd;
border-radius: 10px;
padding: 8px 14px;
font-size: 0.82em;
color: #1565c0;
min-width: 180px;
max-width: 220px;
align-self: center;
border: 1.5px solid #90caf9;
}
/* ===== MECHANICS FLOW ===== */
.mech-grid {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
}
.mech-box {
background: #fff;
border-radius: 12px;
border-left: 6px solid #2d80c4;
padding: 14px 18px;
min-width: 200px;
max-width: 260px;
flex: 1 1 200px;
box-shadow: 0 1px 8px #0001;
}
.mech-box h4 {
font-size: 0.95em;
color: #1a3a5c;
margin-bottom: 7px;
}
.mech-box ul {
padding-left: 15px;
font-size: 0.87em;
line-height: 1.65;
color: #333;
}
.mech-box.c1 { border-color: #e05a5a; }
.mech-box.c2 { border-color: #2d80c4; }
.mech-box.c3 { border-color: #f7a800; }
.mech-box.c4 { border-color: #43a047; }
/* ===== MAIN CLASSIFICATION TABLE (Flowchart style) ===== */
.main-tree-wrap {
background: #fff;
border-radius: 18px;
padding: 30px 20px;
box-shadow: 0 2px 16px #0001;
overflow-x: auto;
}
.flow-row {
display: flex;
justify-content: center;
gap: 40px;
align-items: flex-start;
position: relative;
}
.flow-col {
display: flex;
flex-direction: column;
align-items: center;
gap: 0;
}
.flow-top-line {
width: 3px;
background: #aaa;
height: 24px;
margin: 0 auto;
}
.flow-h-rule {
display: flex;
align-items: flex-start;
justify-content: center;
margin: 0 auto;
}
.flow-h-rule::before, .flow-h-rule::after {
content: '';
display: block;
border-top: 3px solid #aaa;
flex: 1;
}
.branch-join-line {
height: 3px;
background: #aaa;
margin: 0;
}
/* Responsive */
@media (max-width: 700px) {
.flow-row { flex-direction: column; align-items: center; gap: 0; }
.card { min-width: 90vw; }
}
</style>
</head>
<body>
<h1>JOINTS</h1>
<div class="subtitle">Classification, Types & Functions — Easy Flowcharts<br>
<small>Source: THIEME Atlas of Anatomy — General Anatomy & Musculoskeletal System</small></div>
<!-- ==================== FLOWCHART 1: MAIN CLASSIFICATION ==================== -->
<div class="section-title">Flowchart 1: Overall Classification of Joints</div>
<div class="main-tree-wrap">
<!-- ROOT -->
<div style="display:flex; flex-direction:column; align-items:center;">
<div class="node node-root">JOINTS</div>
<div class="connector-v" style="height:28px;"></div>
<!-- Two main branches -->
<div style="display:flex; align-items:flex-start; justify-content:center; gap:0; width:100%;">
<!-- Left branch line -->
<div style="flex:1; display:flex; flex-direction:column; align-items:flex-end;">
<div style="width:50%; border-top:3px solid #aaa; margin-top:0;"></div>
</div>
<!-- Right branch line -->
<div style="flex:1; display:flex; flex-direction:column; align-items:flex-start;">
<div style="width:50%; border-top:3px solid #aaa; margin-top:0;"></div>
</div>
</div>
<div style="display:flex; align-items:flex-start; justify-content:center; gap:80px; width:100%;">
<!-- FALSE JOINTS -->
<div style="display:flex; flex-direction:column; align-items:center;">
<div class="connector-v" style="height:20px;"></div>
<div class="node node-false" style="font-size:1.05em; padding:12px 28px;">FALSE JOINTS<br><span style="font-size:0.78em; font-weight:400;">(Synarthroses)</span><br><span style="font-size:0.73em; font-weight:400;">No joint cavity</span></div>
<div class="connector-v" style="height:20px;"></div>
<!-- 3 sub-branches -->
<div style="display:flex; gap:0; align-items:flex-start;">
<div style="flex:1; border-top:3px solid #e05a5a; margin-top:0;"></div>
<div style="flex:1; border-top:3px solid #e05a5a; margin-top:0;"></div>
</div>
<div style="display:flex; gap:16px; align-items:flex-start; justify-content:center;">
<div style="display:flex; flex-direction:column; align-items:center;">
<div class="connector-v" style="height:16px; background:#e05a5a;"></div>
<div class="node node-sub" style="min-width:130px; font-size:0.9em;">Syndesmoses<br><span style="font-weight:400; font-size:0.82em;">Fibrous</span></div>
<div class="connector-v" style="height:12px; background:#f7a800;"></div>
<div class="node node-leaf" style="font-size:0.78em; min-width:110px; text-align:left; padding:6px 10px;">
• Interosseous memb.<br>• Tibiofibular syndesmosis<br>• Fontanelles<br>• Gomphosis (teeth)
</div>
</div>
<div style="display:flex; flex-direction:column; align-items:center;">
<div class="connector-v" style="height:16px; background:#e05a5a;"></div>
<div class="node node-sub" style="min-width:130px; font-size:0.9em;">Synchondroses<br><span style="font-weight:400; font-size:0.82em;">Cartilaginous</span></div>
<div class="connector-v" style="height:12px; background:#f7a800;"></div>
<div class="node node-leaf" style="font-size:0.78em; min-width:110px; text-align:left; padding:6px 10px;">
• Epiphyseal plates<br>• Costal cartilage<br>• Pubic symphysis<br>• Intervertebral discs
</div>
</div>
<div style="display:flex; flex-direction:column; align-items:center;">
<div class="connector-v" style="height:16px; background:#e05a5a;"></div>
<div class="node node-sub" style="min-width:130px; font-size:0.9em;">Synostoses<br><span style="font-weight:400; font-size:0.82em;">Bony Fusion</span></div>
<div class="connector-v" style="height:12px; background:#f7a800;"></div>
<div class="node node-leaf" style="font-size:0.78em; min-width:110px; text-align:left; padding:6px 10px;">
• Sacrum<br>• Hip bone<br>• Ossified epiphyseal plates (adults)
</div>
</div>
</div>
</div>
<!-- TRUE JOINTS -->
<div style="display:flex; flex-direction:column; align-items:center;">
<div class="connector-v" style="height:20px;"></div>
<div class="node node-true" style="font-size:1.05em; padding:12px 28px;">TRUE JOINTS<br><span style="font-size:0.78em; font-weight:400;">(Diarthroses)</span><br><span style="font-size:0.73em; font-weight:400;">Joint cavity present</span></div>
<div class="connector-v" style="height:20px;"></div>
<div style="display:flex; gap:0; align-items:flex-start;">
<div style="flex:1; border-top:3px solid #2d80c4; margin-top:0;"></div>
<div style="flex:1; border-top:3px solid #2d80c4; margin-top:0;"></div>
</div>
<div style="display:flex; gap:16px; align-items:flex-start; justify-content:center;">
<div style="display:flex; flex-direction:column; align-items:center;">
<div class="connector-v" style="height:16px; background:#2d80c4;"></div>
<div class="node node-sub" style="background:#7b52c7; color:#fff; min-width:130px; font-size:0.9em;">Diarthroses<br><span style="font-weight:400; font-size:0.82em;">Variable DOF</span></div>
<div class="connector-v" style="height:12px; background:#7b52c7;"></div>
<div class="node node-leaf" style="font-size:0.78em; min-width:120px; text-align:left; padding:6px 10px;">
• Plane joints<br>• Hinge joints<br>• Pivot joints<br>• Ellipsoidal joints<br>• Saddle joints<br>• Spheroidal joints
</div>
</div>
<div style="display:flex; flex-direction:column; align-items:center;">
<div class="connector-v" style="height:16px; background:#2d80c4;"></div>
<div class="node node-sub" style="background:#00897b; color:#fff; min-width:130px; font-size:0.9em;">Amphiarthroses<br><span style="font-weight:400; font-size:0.82em;">Stiff / Limited</span></div>
<div class="connector-v" style="height:12px; background:#00897b;"></div>
<div class="node node-leaf" style="font-size:0.78em; min-width:110px; text-align:left; padding:6px 10px;">
• Sacroiliac joint<br>• Tight ligamentous constraints
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- ==================== FLOWCHART 2: FALSE JOINTS DETAIL ==================== -->
<div class="section-title">Flowchart 2: False Joints (Synarthroses) in Detail</div>
<div class="card-grid">
<div class="card">
<div class="card-header red">1. Syndesmoses (Fibrous Joints)</div>
<div class="row-item"><span style="font-size:1.3em;">🔗</span> <b>Connection:</b> Fibrous connective tissue</div>
<div class="row-item"><span style="font-size:1.3em;">📐</span> <b>Mobility:</b> Low (slightly movable)</div>
<ul>
<li>Interosseous membrane (radius-ulna)</li>
<li>Tibiofibular syndesmosis</li>
<li>Fontanelles (newborn skull)</li>
<li>Gomphosis – tooth in bony socket</li>
</ul>
</div>
<div class="card">
<div class="card-header gold">2. Synchondroses (Cartilaginous Joints)</div>
<div class="row-item"><span style="font-size:1.3em;">🦴</span> <b>Connection:</b> Cartilage</div>
<div class="row-item"><span style="font-size:1.3em;">📐</span> <b>Mobility:</b> Very limited</div>
<ul>
<li>Epiphyseal growth plates (allow bone growth; eventually ossify)</li>
<li>Hip bone growth plates (ilium, ischium, pubis)</li>
<li>Costal cartilage (ribs to sternum)</li>
<li>Pubic symphysis & intervertebral discs (fibrocartilaginous = symphyses)</li>
</ul>
</div>
<div class="card">
<div class="card-header navy">3. Synostoses (Bony Fusion)</div>
<div class="row-item"><span style="font-size:1.3em;">🔒</span> <b>Connection:</b> Bone replaces cartilage/fibrous tissue</div>
<div class="row-item"><span style="font-size:1.3em;">📐</span> <b>Mobility:</b> None (completely stiff)</div>
<ul>
<li>Sacrum (fused sacral vertebrae)</li>
<li>Hip bone (fused ilium, ischium, pubis)</li>
<li>Closed/ossified epiphyseal plates in adults</li>
</ul>
</div>
</div>
<!-- ==================== FLOWCHART 3: TRUE JOINT STRUCTURE ==================== -->
<div class="section-title">Flowchart 3: Structure of a True Joint (Synovial Joint)</div>
<div class="main-tree-wrap">
<div style="display:flex; flex-direction:column; align-items:center; gap:0;">
<div style="background:#2d80c4; color:#fff; border-radius:12px; padding:12px 36px; font-size:1.1em; font-weight:700;">TRUE JOINT (Synovial / Diarthrosis)</div>
<div class="connector-v" style="height:22px; background:#2d80c4;"></div>
<!-- 8 components in a grid -->
<div style="display:flex; flex-wrap:wrap; gap:14px; justify-content:center; max-width:900px;">
<div style="background:#e3f2fd; border:2px solid #2d80c4; border-radius:10px; padding:10px 16px; min-width:180px; max-width:220px;">
<div style="font-weight:700; color:#1565c0; margin-bottom:4px;">① Articular Surfaces</div>
<div style="font-size:0.85em; color:#333;">Covered by hyaline cartilage<br>1-2 mm (phalanges) to 5-7 mm (femoropatellar)<br><span style="color:#888; font-style:italic;">Exception: jaw & sternoclavicular use fibrous cartilage</span></div>
</div>
<div style="background:#fce4ec; border:2px solid #e05a5a; border-radius:10px; padding:10px 16px; min-width:180px; max-width:220px;">
<div style="font-weight:700; color:#b71c1c; margin-bottom:4px;">② Joint Cavity</div>
<div style="font-size:0.85em; color:#333;">Narrow space (few mm)<br>Contains articular recesses</div>
</div>
<div style="background:#f3e5f5; border:2px solid #7b52c7; border-radius:10px; padding:10px 16px; min-width:180px; max-width:220px;">
<div style="font-weight:700; color:#6a1b9a; margin-bottom:4px;">③ Joint Capsule</div>
<div style="font-size:0.85em; color:#333;">Closed capsule with alar folds, synovial folds & villi<br>Inner synovial membrane produces synovial fluid</div>
</div>
<div style="background:#e8f5e9; border:2px solid #43a047; border-radius:10px; padding:10px 16px; min-width:180px; max-width:220px;">
<div style="font-weight:700; color:#2e7d32; margin-bottom:4px;">④ Synovial Fluid</div>
<div style="font-size:0.85em; color:#333;">Highly viscous<br>Lubricates & nourishes avascular cartilage<br>(by diffusion & convection)</div>
</div>
<div style="background:#fff8e1; border:2px solid #f7a800; border-radius:10px; padding:10px 16px; min-width:180px; max-width:260px;">
<div style="font-weight:700; color:#e65100; margin-bottom:4px;">⑤ Intra-articular Structures</div>
<div style="font-size:0.85em; color:#333;">
<b>Menisci</b> – crescent-shaped; knee only<br>
<b>Articular discs</b> – divide joint into 2 chambers; jaw, sternoclavicular, wrist<br>
<b>Articular labra</b> – wedge fibrocartilage; hip & shoulder
</div>
</div>
<div style="background:#e0f7fa; border:2px solid #00897b; border-radius:10px; padding:10px 16px; min-width:180px; max-width:220px;">
<div style="font-weight:700; color:#006064; margin-bottom:4px;">⑥ Ligaments</div>
<div style="font-size:0.85em; color:#333;">Intra- & extracapsular<br>Primary joint stabilizers</div>
</div>
<div style="background:#fafafa; border:2px solid #999; border-radius:10px; padding:10px 16px; min-width:180px; max-width:220px;">
<div style="font-weight:700; color:#333; margin-bottom:4px;">⑦ Muscles</div>
<div style="font-size:0.85em; color:#333;">Agonist & antagonist pairs<br>Cross joint to produce opposing movements</div>
</div>
<div style="background:#fbe9e7; border:2px solid #e64a19; border-radius:10px; padding:10px 16px; min-width:180px; max-width:220px;">
<div style="font-weight:700; color:#bf360c; margin-bottom:4px;">⑧ Synovial Bursae</div>
<div style="font-size:0.85em; color:#333;">Near the joint<br>May communicate with joint cavity<br>Reduce friction</div>
</div>
</div>
<div style="background:#fff3e0; border:2px dashed #f7a800; border-radius:10px; padding:10px 20px; margin-top:16px; max-width:600px; text-align:center; font-size:0.88em; color:#6d4c41;">
⚠️ <b>Key Note:</b> Synovial membrane CAN regenerate, but hyaline cartilage CANNOT — it is avascular, has no perichondrium, and depends entirely on synovial fluid for nutrition.
</div>
</div>
</div>
<!-- ==================== FLOWCHART 4: TRUE JOINT TYPES ==================== -->
<div class="section-title">Flowchart 4: Types of True Joints (by Shape, Axes & Degrees of Freedom)</div>
<div class="card-grid">
<div class="card">
<div class="card-header blue">Plane Joints</div>
<div class="row-item"><span class="badge badge-axes">Axes: 1-2 translational</span></div>
<div class="row-item"><span class="badge badge-dof">DOF: 1-4</span></div>
<div class="row-item"><span class="badge badge-move">Gliding in multiple directions</span></div>
<div class="row-item"><span class="badge badge-ex">Femoropatellar, Facet joints of spine</span></div>
<div class="note">Patella slides up/down in femoral groove; facet joints allow vertebral gliding</div>
</div>
<div class="card">
<div class="card-header red">Hinge Joint</div>
<div class="row-item"><span class="badge badge-axes">Axes: 1 rotational</span></div>
<div class="row-item"><span class="badge badge-dof">DOF: 2</span></div>
<div class="row-item"><span class="badge badge-move">Flexion & Extension only</span></div>
<div class="row-item"><span class="badge badge-ex">Elbow, Knee</span></div>
<div class="note">Like a door hinge — moves in one plane only</div>
</div>
<div class="card">
<div class="card-header teal">Pivot Joint</div>
<div class="row-item"><span class="badge badge-axes">Axes: 1 rotational</span></div>
<div class="row-item"><span class="badge badge-dof">DOF: 2</span></div>
<div class="row-item"><span class="badge badge-move">Rotation (axial) only</span></div>
<div class="row-item"><span class="badge badge-ex">Atlanto-axial joint, Proximal radioulnar joint</span></div>
<div class="note">Allows head rotation (nodding NO); forearm pronation/supination</div>
</div>
<div class="card">
<div class="card-header purple">Ellipsoidal Joint</div>
<div class="row-item"><span class="badge badge-axes">Axes: 2 rotational</span></div>
<div class="row-item"><span class="badge badge-dof">DOF: 4</span></div>
<div class="row-item"><span class="badge badge-move">Flexion, Extension, Abduction, Adduction</span></div>
<div class="row-item"><span class="badge badge-ex">Radiocarpal (wrist) joint</span></div>
<div class="note">Oval head in oval socket — 2 axes, no axial rotation</div>
</div>
<div class="card">
<div class="card-header gold">Saddle Joint</div>
<div class="row-item"><span class="badge badge-axes">Axes: 2 rotational</span></div>
<div class="row-item"><span class="badge badge-dof">DOF: 4</span></div>
<div class="row-item"><span class="badge badge-move">Flexion, Extension, Abduction, Adduction</span></div>
<div class="row-item"><span class="badge badge-ex">Carpometacarpal joint of thumb</span></div>
<div class="note">Two saddle-shaped surfaces — each concave one way, convex the other</div>
</div>
<div class="card">
<div class="card-header green">Spheroidal Joint — Deep Socket</div>
<div class="row-item"><span class="badge badge-axes">Axes: 3 rotational</span></div>
<div class="row-item"><span class="badge badge-dof">DOF: 6</span></div>
<div class="row-item"><span class="badge badge-move">Flexion, Extension, Abduction, Adduction, Int./Ext. Rotation</span></div>
<div class="row-item"><span class="badge badge-ex">Hip joint (acetabulum)</span></div>
<div class="note">Deep socket = more stability but less range than shallow socket</div>
</div>
<div class="card">
<div class="card-header navy">Spheroidal Joint — Shallow Socket</div>
<div class="row-item"><span class="badge badge-axes">Axes: 3 rotational</span></div>
<div class="row-item"><span class="badge badge-dof">DOF: 6</span></div>
<div class="row-item"><span class="badge badge-move">All 6 movements + GREATER range</span></div>
<div class="row-item"><span class="badge badge-ex">Shoulder (glenohumeral) joint</span></div>
<div class="note">Shallow socket = maximum range of motion but less inherent stability</div>
</div>
</div>
<div style="background:#fff; border-radius:12px; padding:14px 22px; max-width:700px; margin:8px auto 0; border-left:5px solid #2d80c4; font-size:0.9em; box-shadow:0 1px 6px #0001;">
<b>Key Principle:</b> The more <i>congruent</i> the articular surfaces (similar radius of curvature, e.g., shoulder) → surfaces <b>slide</b>. The less congruent → surfaces <b>roll</b> (e.g., knee). Most joints use a <b>roll-slide combination</b>.
</div>
<!-- ==================== FLOWCHART 5: JOINT STABILITY ==================== -->
<div class="section-title">Flowchart 5: Joint Mechanics — Stability Constraints</div>
<div class="main-tree-wrap">
<div style="display:flex; flex-direction:column; align-items:center;">
<div style="background:#1a3a5c; color:#fff; border-radius:12px; padding:12px 36px; font-size:1.1em; font-weight:700;">JOINT STABILITY</div>
<div class="connector-v" style="height:20px;"></div>
<div style="font-size:0.88em; color:#888; margin-bottom:12px;">4 Types of Constraints</div>
<div class="mech-grid">
<div class="mech-box c1">
<h4>① Bony Constraint</h4>
<ul><li>Shape of articular surfaces</li><li>Deep sockets = more stability (e.g., hip)</li><li>Shallow sockets = more mobility (e.g., shoulder)</li></ul>
</div>
<div class="mech-box c2">
<h4>② Muscular Constraint</h4>
<ul><li>Muscles crossing the joint</li><li>Agonist-antagonist pairs</li><li>Active stabilizers during movement</li></ul>
</div>
<div class="mech-box c3">
<h4>③ Ligamentous Constraint</h4>
<ul><li>Intra- and extracapsular ligaments</li><li>Limit range of motion</li><li>Primary passive stabilizers</li></ul>
</div>
<div class="mech-box c4">
<h4>④ Soft-Tissue Constraint</h4>
<ul><li>Joint capsule</li><li>Surrounding soft tissue</li><li>Provides containment</li></ul>
</div>
</div>
<div style="margin-top:22px; font-size:1em; font-weight:700; color:#1a3a5c; margin-bottom:10px;">Key Muscles for Erect Posture</div>
<div style="display:flex; flex-wrap:wrap; gap:12px; justify-content:center; max-width:800px;">
<div style="background:#e8f5e9; border:1.5px solid #43a047; border-radius:10px; padding:9px 16px; min-width:190px; font-size:0.87em;">
<b style="color:#2e7d32;">Ankle (Sagittal Plane)</b><br>Triceps surae + Tibialis anterior
</div>
<div style="background:#e3f2fd; border:1.5px solid #2d80c4; border-radius:10px; padding:9px 16px; min-width:190px; font-size:0.87em;">
<b style="color:#1565c0;">Knee</b><br>Quadriceps femoris
</div>
<div style="background:#fce4ec; border:1.5px solid #e05a5a; border-radius:10px; padding:9px 16px; min-width:190px; font-size:0.87em;">
<b style="color:#b71c1c;">Hip (Sagittal Plane)</b><br>Gluteal muscles
</div>
<div style="background:#f3e5f5; border:1.5px solid #7b52c7; border-radius:10px; padding:9px 16px; min-width:190px; font-size:0.87em;">
<b style="color:#6a1b9a;">Hip (Frontal Plane)</b><br>Gluteus medius & minimus
</div>
<div style="background:#fff8e1; border:1.5px solid #f7a800; border-radius:10px; padding:9px 16px; min-width:190px; font-size:0.87em;">
<b style="color:#e65100;">Spinal Column</b><br>Intrinsic back muscles
</div>
</div>
</div>
</div>
<!-- ==================== QUICK REFERENCE TABLE ==================== -->
<div class="section-title">Quick Reference: True Joint Types at a Glance</div>
<div style="overflow-x:auto; background:#fff; border-radius:14px; box-shadow:0 2px 12px #0001; padding:10px;">
<table style="width:100%; border-collapse:collapse; font-size:0.9em;">
<thead>
<tr style="background:#1a3a5c; color:#fff;">
<th style="padding:10px 14px; text-align:left;">Joint Type</th>
<th style="padding:10px 14px;">Axes</th>
<th style="padding:10px 14px;">DOF</th>
<th style="padding:10px 14px; text-align:left;">Movements</th>
<th style="padding:10px 14px; text-align:left;">Example</th>
</tr>
</thead>
<tbody>
<tr style="background:#f0f4f8;">
<td style="padding:9px 14px; font-weight:600;">Plane (Femoropatellar)</td>
<td style="text-align:center; padding:9px;">1 translational</td>
<td style="text-align:center; padding:9px;">1</td>
<td style="padding:9px;">Slide up/down</td>
<td style="padding:9px;">Patella in femoral groove</td>
</tr>
<tr>
<td style="padding:9px 14px; font-weight:600;">Plane (Vertebral)</td>
<td style="text-align:center; padding:9px;">1-2 translational</td>
<td style="text-align:center; padding:9px;">2-4</td>
<td style="padding:9px;">Gliding in multiple directions</td>
<td style="padding:9px;">Facet joints of spine</td>
</tr>
<tr style="background:#f0f4f8;">
<td style="padding:9px 14px; font-weight:600;">Ellipsoidal</td>
<td style="text-align:center; padding:9px;">2 rotational</td>
<td style="text-align:center; padding:9px;">4</td>
<td style="padding:9px;">Flex, Ext, Abd, Add</td>
<td style="padding:9px;">Radiocarpal (wrist)</td>
</tr>
<tr>
<td style="padding:9px 14px; font-weight:600;">Saddle</td>
<td style="text-align:center; padding:9px;">2 rotational</td>
<td style="text-align:center; padding:9px;">4</td>
<td style="padding:9px;">Flex, Ext, Abd, Add</td>
<td style="padding:9px;">CMC joint of thumb</td>
</tr>
<tr style="background:#f0f4f8;">
<td style="padding:9px 14px; font-weight:600;">Hinge</td>
<td style="text-align:center; padding:9px;">1 rotational</td>
<td style="text-align:center; padding:9px;">2</td>
<td style="padding:9px;">Flexion, Extension</td>
<td style="padding:9px;">Elbow, Knee</td>
</tr>
<tr>
<td style="padding:9px 14px; font-weight:600;">Pivot</td>
<td style="text-align:center; padding:9px;">1 rotational</td>
<td style="text-align:center; padding:9px;">2</td>
<td style="padding:9px;">Rotation (axial)</td>
<td style="padding:9px;">Atlanto-axial, Proximal radioulnar</td>
</tr>
<tr style="background:#f0f4f8;">
<td style="padding:9px 14px; font-weight:600;">Spheroidal (deep)</td>
<td style="text-align:center; padding:9px;">3 rotational</td>
<td style="text-align:center; padding:9px;">6</td>
<td style="padding:9px;">Flex, Ext, Abd, Add, IR, ER</td>
<td style="padding:9px;">Hip joint</td>
</tr>
<tr>
<td style="padding:9px 14px; font-weight:600;">Spheroidal (shallow)</td>
<td style="text-align:center; padding:9px;">3 rotational</td>
<td style="text-align:center; padding:9px;">6</td>
<td style="padding:9px;">All 6 + greater range</td>
<td style="padding:9px;">Shoulder (glenohumeral)</td>
</tr>
</tbody>
</table>
</div>
<div style="text-align:center; color:#aaa; font-size:0.8em; margin-top:30px; padding-bottom:20px;">
Source: THIEME Atlas of Anatomy — General Anatomy & Musculoskeletal System, Sections 4.2–4.7
</div>
</body>
</html>
rm /home/daytona/workspace/joints-flowcharts/joints_flowcharts.html
~/joints-flowcharts/joints_flowcharts.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Joints - Classification Flowcharts</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Segoe UI', Arial, sans-serif;
background: #f0f4f8;
color: #222;
padding: 30px 20px;
}
h1 {
text-align: center;
font-size: 2em;
color: #1a3a5c;
margin-bottom: 6px;
letter-spacing: 1px;
}
.subtitle {
text-align: center;
color: #5a7a9a;
font-size: 1em;
margin-bottom: 36px;
}
.section-title {
font-size: 1.35em;
font-weight: 700;
color: #1a3a5c;
margin: 40px 0 18px 0;
padding-left: 12px;
border-left: 5px solid #2d80c4;
}
.node-root {
background: #1a3a5c;
color: #fff;
font-size: 1.3em;
padding: 14px 40px;
border-radius: 14px;
min-width: 200px;
box-shadow: 0 4px 16px #1a3a5c44;
font-weight: 700;
text-align: center;
}
.node-false {
background: #e05a5a;
color: #fff;
padding: 12px 28px;
border-radius: 10px;
font-weight: 700;
font-size: 1.05em;
text-align: center;
box-shadow: 0 2px 8px #e05a5a44;
}
.node-true {
background: #2d80c4;
color: #fff;
padding: 12px 28px;
border-radius: 10px;
font-weight: 700;
font-size: 1.05em;
text-align: center;
box-shadow: 0 2px 8px #2d80c444;
}
.node-sub {
background: #f7a800;
color: #222;
font-weight: 700;
padding: 9px 18px;
border-radius: 10px;
text-align: center;
box-shadow: 0 2px 8px #f7a80044;
}
.node-leaf {
background: #fff;
color: #333;
font-weight: 500;
border: 2px solid #ccc;
border-radius: 8px;
padding: 8px 12px;
font-size: 0.82em;
text-align: left;
}
.vline { width: 3px; margin: 0 auto; }
.card-grid {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
margin-bottom: 10px;
}
.card {
background: #fff;
border-radius: 14px;
box-shadow: 0 2px 12px #0001;
padding: 20px 22px;
min-width: 240px;
max-width: 310px;
flex: 1 1 240px;
}
.card-header {
font-size: 1.05em;
font-weight: 700;
border-radius: 8px;
padding: 7px 14px;
margin-bottom: 12px;
text-align: center;
}
.ch-red { background: #e05a5a; color: #fff; }
.ch-blue { background: #2d80c4; color: #fff; }
.ch-gold { background: #f7a800; color: #222; }
.ch-green { background: #43a047; color: #fff; }
.ch-purple { background: #7b52c7; color: #fff; }
.ch-teal { background: #00897b; color: #fff; }
.ch-navy { background: #1a3a5c; color: #fff; }
.card ul { padding-left: 18px; font-size: 0.92em; line-height: 1.75; }
.card .note { margin-top: 10px; font-size: 0.82em; color: #888; font-style: italic; }
.badge {
display: inline-block;
padding: 3px 10px;
border-radius: 20px;
font-size: 0.82em;
font-weight: 700;
white-space: nowrap;
margin-bottom: 5px;
margin-right: 3px;
}
.ba { background: #e3f2fd; color: #1565c0; }
.bd { background: #fce4ec; color: #b71c1c; }
.bm { background: #f3e5f5; color: #6a1b9a; }
.be { background: #e8f5e9; color: #2e7d32; }
.main-wrap {
background: #fff;
border-radius: 18px;
padding: 30px 20px;
box-shadow: 0 2px 16px #0001;
overflow-x: auto;
}
.mech-grid {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
}
.mech-box {
background: #fff;
border-radius: 12px;
border-left: 6px solid #2d80c4;
padding: 14px 18px;
min-width: 200px;
max-width: 250px;
flex: 1 1 200px;
box-shadow: 0 1px 8px #0001;
}
.mech-box h4 { font-size: 0.95em; color: #1a3a5c; margin-bottom: 7px; }
.mech-box ul { padding-left: 15px; font-size: 0.87em; line-height: 1.65; color: #333; }
.mb-red { border-color: #e05a5a; }
.mb-blue { border-color: #2d80c4; }
.mb-gold { border-color: #f7a800; }
.mb-green { border-color: #43a047; }
@media (max-width: 700px) {
.card { min-width: 90vw; }
}
</style>
</head>
<body>
<h1>JOINTS</h1>
<div class="subtitle">Classification, Types & Functions — Easy Flowcharts<br>
<small>Source: THIEME Atlas of Anatomy — General Anatomy & Musculoskeletal System</small></div>
<!-- ===== FLOWCHART 1: MAIN CLASSIFICATION ===== -->
<div class="section-title">Flowchart 1: Overall Classification of Joints</div>
<div class="main-wrap">
<div style="display:flex;flex-direction:column;align-items:center;">
<div class="node-root">JOINTS</div>
<div class="vline" style="height:26px;background:#aaa;"></div>
<!-- horizontal split -->
<div style="display:flex;width:100%;max-width:900px;justify-content:center;align-items:flex-start;">
<!-- FALSE column -->
<div style="flex:1;display:flex;flex-direction:column;align-items:center;">
<div style="width:50%;border-right:3px solid #aaa;border-top:3px solid #aaa;height:18px;margin-left:50%;"></div>
<div class="node-false">FALSE JOINTS<br><span style="font-size:0.8em;font-weight:400;">(Synarthroses)<br>No joint cavity</span></div>
<div class="vline" style="height:20px;background:#e05a5a;"></div>
<!-- 3 sub-types of false joints -->
<div style="display:flex;gap:12px;align-items:flex-start;justify-content:center;">
<div style="display:flex;flex-direction:column;align-items:center;">
<div class="vline" style="height:16px;background:#e05a5a;"></div>
<div class="node-sub" style="font-size:0.9em;min-width:120px;">Syndesmoses<br><span style="font-weight:400;font-size:0.82em;">Fibrous</span></div>
<div class="vline" style="height:12px;background:#f7a800;"></div>
<div class="node-leaf">
• Interosseous membranes<br>
• Tibiofibular syndesmosis<br>
• Fontanelles<br>
• Gomphosis (teeth)
</div>
</div>
<div style="display:flex;flex-direction:column;align-items:center;">
<div class="vline" style="height:16px;background:#e05a5a;"></div>
<div class="node-sub" style="font-size:0.9em;min-width:120px;">Synchondroses<br><span style="font-weight:400;font-size:0.82em;">Cartilaginous</span></div>
<div class="vline" style="height:12px;background:#f7a800;"></div>
<div class="node-leaf">
• Epiphyseal growth plates<br>
• Costal cartilage<br>
• Pubic symphysis<br>
• Intervertebral discs
</div>
</div>
<div style="display:flex;flex-direction:column;align-items:center;">
<div class="vline" style="height:16px;background:#e05a5a;"></div>
<div class="node-sub" style="font-size:0.9em;min-width:120px;">Synostoses<br><span style="font-weight:400;font-size:0.82em;">Bony Fusion</span></div>
<div class="vline" style="height:12px;background:#f7a800;"></div>
<div class="node-leaf">
• Sacrum<br>
• Hip bone<br>
• Ossified epiphyseal<br> plates (adults)
</div>
</div>
</div>
</div>
<!-- divider -->
<div style="width:40px;"></div>
<!-- TRUE column -->
<div style="flex:1;display:flex;flex-direction:column;align-items:center;">
<div style="width:50%;border-left:3px solid #aaa;border-top:3px solid #aaa;height:18px;margin-right:50%;"></div>
<div class="node-true">TRUE JOINTS<br><span style="font-size:0.8em;font-weight:400;">(Diarthroses)<br>Joint cavity present</span></div>
<div class="vline" style="height:20px;background:#2d80c4;"></div>
<!-- 2 sub-types of true joints -->
<div style="display:flex;gap:12px;align-items:flex-start;justify-content:center;">
<div style="display:flex;flex-direction:column;align-items:center;">
<div class="vline" style="height:16px;background:#2d80c4;"></div>
<div class="node-sub" style="background:#7b52c7;color:#fff;font-size:0.9em;min-width:130px;">Diarthroses<br><span style="font-weight:400;font-size:0.82em;">Variable DOF</span></div>
<div class="vline" style="height:12px;background:#7b52c7;"></div>
<div class="node-leaf">
• Plane joints<br>
• Hinge joints<br>
• Pivot joints<br>
• Ellipsoidal joints<br>
• Saddle joints<br>
• Spheroidal joints
</div>
</div>
<div style="display:flex;flex-direction:column;align-items:center;">
<div class="vline" style="height:16px;background:#2d80c4;"></div>
<div class="node-sub" style="background:#00897b;color:#fff;font-size:0.9em;min-width:130px;">Amphiarthroses<br><span style="font-weight:400;font-size:0.82em;">Stiff / Limited</span></div>
<div class="vline" style="height:12px;background:#00897b;"></div>
<div class="node-leaf">
• Sacroiliac joint<br>
• Tight ligamentous<br> constraints
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- ===== FLOWCHART 2: FALSE JOINTS DETAIL ===== -->
<div class="section-title">Flowchart 2: False Joints (Synarthroses) in Detail</div>
<div class="card-grid">
<div class="card">
<div class="card-header ch-red">1. Syndesmoses (Fibrous Joints)</div>
<div style="margin-bottom:7px;font-size:0.9em;"><b>Connection:</b> Fibrous connective tissue | <b>Mobility:</b> Low</div>
<ul>
<li>Interosseous membrane (radius-ulna; tibia-fibula)</li>
<li>Tibiofibular syndesmosis</li>
<li>Fontanelles (newborn skull)</li>
<li>Gomphosis — tooth in bony socket via periodontal ligament</li>
</ul>
</div>
<div class="card">
<div class="card-header ch-gold">2. Synchondroses (Cartilaginous Joints)</div>
<div style="margin-bottom:7px;font-size:0.9em;"><b>Connection:</b> Cartilage | <b>Mobility:</b> Very limited</div>
<ul>
<li>Epiphyseal growth plates (allow bone growth; eventually ossify)</li>
<li>Hip bone growth plates (ilium, ischium, pubis)</li>
<li>Costal cartilage (ribs to sternum)</li>
<li>Pubic symphysis & intervertebral discs (fibrocartilaginous = symphyses)</li>
</ul>
</div>
<div class="card">
<div class="card-header ch-navy">3. Synostoses (Bony Fusion)</div>
<div style="margin-bottom:7px;font-size:0.9em;"><b>Connection:</b> Bone replaces cartilage/fibrous tissue | <b>Mobility:</b> None</div>
<ul>
<li>Sacrum (fused sacral vertebrae)</li>
<li>Hip bone (fused ilium, ischium, pubis)</li>
<li>Ossified epiphyseal plates in adults</li>
</ul>
</div>
</div>
<!-- ===== FLOWCHART 3: TRUE JOINT STRUCTURE ===== -->
<div class="section-title">Flowchart 3: Structure of a True Joint (Synovial Joint)</div>
<div class="main-wrap">
<div style="display:flex;flex-direction:column;align-items:center;gap:0;">
<div style="background:#2d80c4;color:#fff;border-radius:12px;padding:12px 36px;font-size:1.1em;font-weight:700;">TRUE JOINT (Synovial / Diarthrosis)</div>
<div class="vline" style="height:22px;background:#2d80c4;"></div>
<div style="font-size:0.9em;color:#555;margin-bottom:14px;font-weight:600;">8 Characteristic Components</div>
<div style="display:flex;flex-wrap:wrap;gap:14px;justify-content:center;max-width:900px;">
<div style="background:#e3f2fd;border:2px solid #2d80c4;border-radius:10px;padding:10px 16px;min-width:180px;max-width:210px;">
<div style="font-weight:700;color:#1565c0;margin-bottom:4px;">① Articular Surfaces</div>
<div style="font-size:0.84em;color:#333;">Hyaline cartilage: 1-2 mm (phalanges) to 5-7 mm (femoropatellar)<br><em style="color:#888;">Exception: jaw & sternoclavicular = fibrocartilage</em></div>
</div>
<div style="background:#fce4ec;border:2px solid #e05a5a;border-radius:10px;padding:10px 16px;min-width:180px;max-width:210px;">
<div style="font-weight:700;color:#b71c1c;margin-bottom:4px;">② Joint Cavity</div>
<div style="font-size:0.84em;color:#333;">Narrow space (few mm wide)<br>Contains articular recesses</div>
</div>
<div style="background:#f3e5f5;border:2px solid #7b52c7;border-radius:10px;padding:10px 16px;min-width:180px;max-width:210px;">
<div style="font-weight:700;color:#6a1b9a;margin-bottom:4px;">③ Joint Capsule</div>
<div style="font-size:0.84em;color:#333;">Closed capsule; alar folds, synovial folds, synovial villi<br>Inner synovial membrane produces synovial fluid</div>
</div>
<div style="background:#e8f5e9;border:2px solid #43a047;border-radius:10px;padding:10px 16px;min-width:180px;max-width:210px;">
<div style="font-weight:700;color:#2e7d32;margin-bottom:4px;">④ Synovial Fluid</div>
<div style="font-size:0.84em;color:#333;">Highly viscous<br>Lubricates & nourishes avascular cartilage (diffusion & convection)</div>
</div>
<div style="background:#fff8e1;border:2px solid #f7a800;border-radius:10px;padding:10px 16px;min-width:200px;max-width:250px;">
<div style="font-weight:700;color:#e65100;margin-bottom:4px;">⑤ Intra-articular Structures</div>
<div style="font-size:0.84em;color:#333;">
<b>Menisci</b> — crescent-shaped; knee only<br>
<b>Articular discs</b> — divide joint into 2 chambers; jaw, sternoclavicular, wrist<br>
<b>Articular labra</b> — enlarge socket; hip & shoulder
</div>
</div>
<div style="background:#e0f7fa;border:2px solid #00897b;border-radius:10px;padding:10px 16px;min-width:180px;max-width:210px;">
<div style="font-weight:700;color:#006064;margin-bottom:4px;">⑥ Ligaments</div>
<div style="font-size:0.84em;color:#333;">Intra- & extracapsular<br>Primary passive stabilizers</div>
</div>
<div style="background:#fafafa;border:2px solid #999;border-radius:10px;padding:10px 16px;min-width:180px;max-width:210px;">
<div style="font-weight:700;color:#333;margin-bottom:4px;">⑦ Muscles</div>
<div style="font-size:0.84em;color:#333;">Agonist & antagonist pairs<br>Active movers & stabilizers</div>
</div>
<div style="background:#fbe9e7;border:2px solid #e64a19;border-radius:10px;padding:10px 16px;min-width:180px;max-width:210px;">
<div style="font-weight:700;color:#bf360c;margin-bottom:4px;">⑧ Synovial Bursae</div>
<div style="font-size:0.84em;color:#333;">Near joint; may communicate with joint cavity; reduce friction</div>
</div>
</div>
<div style="background:#fff3e0;border:2px dashed #f7a800;border-radius:10px;padding:10px 22px;margin-top:16px;max-width:600px;text-align:center;font-size:0.87em;color:#6d4c41;">
⚠ <b>Key Note:</b> Synovial membrane CAN regenerate. Hyaline cartilage CANNOT — it is avascular, has no perichondrium, and depends entirely on synovial fluid for nutrition.
</div>
</div>
</div>
<!-- ===== FLOWCHART 4: TRUE JOINT TYPES ===== -->
<div class="section-title">Flowchart 4: Types of True Joints (by Shape, Axes & Degrees of Freedom)</div>
<div class="card-grid">
<div class="card">
<div class="card-header ch-blue">Plane Joint</div>
<div><span class="badge ba">1-2 translational axes</span><span class="badge bd">DOF: 1-4</span></div>
<div><span class="badge bm">Gliding in multiple directions</span></div>
<div style="margin-top:8px;"><span class="badge be">Femoropatellar joint, Vertebral facet joints</span></div>
<div class="note">Patella slides up/down in femoral groove; facet joints allow vertebral gliding</div>
</div>
<div class="card">
<div class="card-header ch-red">Hinge Joint</div>
<div><span class="badge ba">1 rotational axis</span><span class="badge bd">DOF: 2</span></div>
<div><span class="badge bm">Flexion & Extension only</span></div>
<div style="margin-top:8px;"><span class="badge be">Elbow, Knee</span></div>
<div class="note">Like a door hinge - moves in one plane only</div>
</div>
<div class="card">
<div class="card-header ch-teal">Pivot Joint</div>
<div><span class="badge ba">1 rotational axis</span><span class="badge bd">DOF: 2</span></div>
<div><span class="badge bm">Axial rotation only</span></div>
<div style="margin-top:8px;"><span class="badge be">Atlanto-axial joint, Proximal radioulnar joint</span></div>
<div class="note">Allows head rotation (saying "NO"); forearm pronation/supination</div>
</div>
<div class="card">
<div class="card-header ch-purple">Ellipsoidal Joint</div>
<div><span class="badge ba">2 rotational axes</span><span class="badge bd">DOF: 4</span></div>
<div><span class="badge bm">Flex, Ext, Abd, Add</span></div>
<div style="margin-top:8px;"><span class="badge be">Radiocarpal (wrist) joint</span></div>
<div class="note">Oval head in oval socket - 2 axes, no axial rotation</div>
</div>
<div class="card">
<div class="card-header ch-gold">Saddle Joint</div>
<div><span class="badge ba">2 rotational axes</span><span class="badge bd">DOF: 4</span></div>
<div><span class="badge bm">Flex, Ext, Abd, Add</span></div>
<div style="margin-top:8px;"><span class="badge be">Carpometacarpal joint of thumb</span></div>
<div class="note">Two saddle-shaped surfaces, each concave one way and convex the other</div>
</div>
<div class="card">
<div class="card-header ch-green">Spheroidal Joint (Deep Socket)</div>
<div><span class="badge ba">3 rotational axes</span><span class="badge bd">DOF: 6</span></div>
<div><span class="badge bm">Flex, Ext, Abd, Add, IR, ER</span></div>
<div style="margin-top:8px;"><span class="badge be">Hip joint (acetabulum)</span></div>
<div class="note">Deep socket = more stability, less range than shallow socket</div>
</div>
<div class="card">
<div class="card-header ch-navy">Spheroidal Joint (Shallow Socket)</div>
<div><span class="badge ba">3 rotational axes</span><span class="badge bd">DOF: 6</span></div>
<div><span class="badge bm">All 6 movements + GREATER range</span></div>
<div style="margin-top:8px;"><span class="badge be">Shoulder (glenohumeral) joint</span></div>
<div class="note">Shallow socket = maximum range of motion but less inherent stability</div>
</div>
</div>
<div style="background:#fff;border-radius:12px;padding:14px 22px;max-width:700px;margin:8px auto 0;border-left:5px solid #2d80c4;font-size:0.9em;box-shadow:0 1px 6px #0001;">
<b>Key Principle:</b> More <em>congruent</em> surfaces (similar curvature, e.g., shoulder) = surfaces <b>slide</b>. Less congruent = surfaces <b>roll</b> (e.g., knee). Most joints use a <b>roll-slide combination</b>.
</div>
<!-- ===== FLOWCHART 5: JOINT STABILITY MECHANICS ===== -->
<div class="section-title">Flowchart 5: Joint Mechanics — Stability Constraints</div>
<div class="main-wrap">
<div style="display:flex;flex-direction:column;align-items:center;">
<div style="background:#1a3a5c;color:#fff;border-radius:12px;padding:12px 36px;font-size:1.1em;font-weight:700;">JOINT STABILITY</div>
<div class="vline" style="height:20px;background:#1a3a5c;"></div>
<div style="font-size:0.88em;color:#888;margin-bottom:14px;font-weight:600;">4 Types of Constraints</div>
<div class="mech-grid">
<div class="mech-box mb-red">
<h4>① Bony Constraint</h4>
<ul>
<li>Shape of articular surfaces</li>
<li>Deep socket = more stability (e.g., hip)</li>
<li>Shallow socket = more mobility (e.g., shoulder)</li>
</ul>
</div>
<div class="mech-box mb-blue">
<h4>② Muscular Constraint</h4>
<ul>
<li>Muscles crossing the joint</li>
<li>Agonist-antagonist pairs</li>
<li>Active stabilizers during movement</li>
</ul>
</div>
<div class="mech-box mb-gold">
<h4>③ Ligamentous Constraint</h4>
<ul>
<li>Intra- and extracapsular ligaments</li>
<li>Limit range of motion</li>
<li>Primary passive stabilizers</li>
</ul>
</div>
<div class="mech-box mb-green">
<h4>④ Soft-Tissue Constraint</h4>
<ul>
<li>Joint capsule</li>
<li>Surrounding soft tissue</li>
<li>Provides containment</li>
</ul>
</div>
</div>
<div style="margin-top:24px;font-size:1em;font-weight:700;color:#1a3a5c;margin-bottom:12px;">Key Muscles for Erect Posture</div>
<div style="display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:800px;">
<div style="background:#e8f5e9;border:1.5px solid #43a047;border-radius:10px;padding:9px 16px;min-width:190px;font-size:0.87em;">
<b style="color:#2e7d32;">Ankle (Sagittal Plane)</b><br>Triceps surae + Tibialis anterior
</div>
<div style="background:#e3f2fd;border:1.5px solid #2d80c4;border-radius:10px;padding:9px 16px;min-width:190px;font-size:0.87em;">
<b style="color:#1565c0;">Knee</b><br>Quadriceps femoris
</div>
<div style="background:#fce4ec;border:1.5px solid #e05a5a;border-radius:10px;padding:9px 16px;min-width:190px;font-size:0.87em;">
<b style="color:#b71c1c;">Hip (Sagittal Plane)</b><br>Gluteal muscles
</div>
<div style="background:#f3e5f5;border:1.5px solid #7b52c7;border-radius:10px;padding:9px 16px;min-width:190px;font-size:0.87em;">
<b style="color:#6a1b9a;">Hip (Frontal Plane)</b><br>Gluteus medius & minimus
</div>
<div style="background:#fff8e1;border:1.5px solid #f7a800;border-radius:10px;padding:9px 16px;min-width:190px;font-size:0.87em;">
<b style="color:#e65100;">Spinal Column</b><br>Intrinsic back muscles
</div>
</div>
</div>
</div>
<!-- ===== QUICK REFERENCE TABLE ===== -->
<div class="section-title">Quick Reference: All True Joint Types at a Glance</div>
<div style="overflow-x:auto;background:#fff;border-radius:14px;box-shadow:0 2px 12px #0001;padding:10px;">
<table style="width:100%;border-collapse:collapse;font-size:0.9em;">
<thead>
<tr style="background:#1a3a5c;color:#fff;">
<th style="padding:10px 14px;text-align:left;">Joint Type</th>
<th style="padding:10px 14px;text-align:center;">Axes</th>
<th style="padding:10px 14px;text-align:center;">DOF</th>
<th style="padding:10px 14px;text-align:left;">Movements</th>
<th style="padding:10px 14px;text-align:left;">Example</th>
</tr>
</thead>
<tbody>
<tr style="background:#f0f4f8;">
<td style="padding:9px 14px;font-weight:600;">Plane (Femoropatellar)</td>
<td style="text-align:center;padding:9px;">1 translational</td>
<td style="text-align:center;padding:9px;">1</td>
<td style="padding:9px;">Slide up/down</td>
<td style="padding:9px;">Patella in femoral groove</td>
</tr>
<tr>
<td style="padding:9px 14px;font-weight:600;">Plane (Vertebral)</td>
<td style="text-align:center;padding:9px;">1-2 translational</td>
<td style="text-align:center;padding:9px;">2-4</td>
<td style="padding:9px;">Glide in multiple directions</td>
<td style="padding:9px;">Facet joints of spine</td>
</tr>
<tr style="background:#f0f4f8;">
<td style="padding:9px 14px;font-weight:600;">Hinge</td>
<td style="text-align:center;padding:9px;">1 rotational</td>
<td style="text-align:center;padding:9px;">2</td>
<td style="padding:9px;">Flexion, Extension</td>
<td style="padding:9px;">Elbow, Knee</td>
</tr>
<tr>
<td style="padding:9px 14px;font-weight:600;">Pivot</td>
<td style="text-align:center;padding:9px;">1 rotational</td>
<td style="text-align:center;padding:9px;">2</td>
<td style="padding:9px;">Rotation (axial)</td>
<td style="padding:9px;">Atlanto-axial, Proximal radioulnar</td>
</tr>
<tr style="background:#f0f4f8;">
<td style="padding:9px 14px;font-weight:600;">Ellipsoidal</td>
<td style="text-align:center;padding:9px;">2 rotational</td>
<td style="text-align:center;padding:9px;">4</td>
<td style="padding:9px;">Flex, Ext, Abd, Add</td>
<td style="padding:9px;">Radiocarpal (wrist)</td>
</tr>
<tr>
<td style="padding:9px 14px;font-weight:600;">Saddle</td>
<td style="text-align:center;padding:9px;">2 rotational</td>
<td style="text-align:center;padding:9px;">4</td>
<td style="padding:9px;">Flex, Ext, Abd, Add</td>
<td style="padding:9px;">CMC joint of thumb</td>
</tr>
<tr style="background:#f0f4f8;">
<td style="padding:9px 14px;font-weight:600;">Spheroidal (deep socket)</td>
<td style="text-align:center;padding:9px;">3 rotational</td>
<td style="text-align:center;padding:9px;">6</td>
<td style="padding:9px;">Flex, Ext, Abd, Add, IR, ER</td>
<td style="padding:9px;">Hip joint</td>
</tr>
<tr>
<td style="padding:9px 14px;font-weight:600;">Spheroidal (shallow socket)</td>
<td style="text-align:center;padding:9px;">3 rotational</td>
<td style="text-align:center;padding:9px;">6</td>
<td style="padding:9px;">All 6 + greater range</td>
<td style="padding:9px;">Shoulder (glenohumeral)</td>
</tr>
</tbody>
</table>
</div>
<div style="text-align:center;color:#aaa;font-size:0.8em;margin-top:30px;padding-bottom:20px;">
Source: THIEME Atlas of Anatomy — General Anatomy & Musculoskeletal System, Sections 4.2–4.7
</div>
</body>
</html>