/* Gymnast Gem Article Tool Box. Matches the colours of the skills checklist. */
.ggtb { --ggtb-accent: #7b2d8e; --ggtb-border: #e3d9e8; --ggtb-bg: #faf7fb; --ggtb-text: #222; --ggtb-muted: #666;
  border: 1px solid var(--ggtb-border); border-left: 4px solid var(--ggtb-accent); background: var(--ggtb-bg);
  color: var(--ggtb-text); border-radius: 10px; padding: 16px 18px; margin: 24px 0; font-size: 16px; line-height: 1.5; }
.ggtb p { margin: 0; }
.ggtb .ggtb-title { font-weight: 700; font-size: 1.08em; margin: 0 0 4px; }
.ggtb .ggtb-text { color: var(--ggtb-muted); margin: 0 0 12px; }
.ggtb .ggtb-preview { font-size: 0.8em; font-weight: 600; color: #b32d2e; margin: 0 0 8px; }
.ggtb-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ggtb .ggtb-btn { display: inline-block; font: inherit; font-weight: 600; line-height: 1.3; border-radius: 8px;
  padding: 9px 16px; cursor: pointer; text-decoration: none; border: 1px solid var(--ggtb-accent); }
.ggtb .ggtb-btn-tool, .ggtb .ggtb-btn-ask { background: var(--ggtb-accent); color: #fff; }
.ggtb .ggtb-btn-tool:hover, .ggtb .ggtb-btn-tool:focus { color: #fff; text-decoration: underline; }
.ggtb .ggtb-btn-mentor { background: transparent; color: var(--ggtb-accent); }
.ggtb .ggtb-btn-mentor[aria-expanded="true"] { background: var(--ggtb-accent); color: #fff; }
.ggtb .ggtb-btn[disabled] { opacity: 0.6; cursor: wait; }
.ggtb-mentor { margin-top: 14px; }
.ggtb-mentor[hidden] { display: none; }
.ggtb-label { position: absolute; left: -9999px; }
.ggtb-input { width: 100%; box-sizing: border-box; border: 1px solid var(--ggtb-border); border-radius: 8px;
  padding: 10px 12px; font: inherit; background: #fff; color: inherit; resize: vertical; }
.ggtb-row { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin-top: 8px; flex-wrap: wrap; }
.ggtb-note { font-size: 0.85em; color: var(--ggtb-muted); }
.ggtb-answer:not(:empty) { margin-top: 14px; padding: 12px 14px; background: #fff; border-radius: 8px; border: 1px solid var(--ggtb-border); }
.ggtb-answer p { margin: 0 0 10px; }
.ggtb-answer p:last-child, .ggtb-answer ul:last-child { margin-bottom: 0; }
.ggtb-answer a { color: var(--ggtb-accent); }
.ggtb .ggtb-disclaimer { font-size: 0.8em; color: var(--ggtb-muted); margin: 10px 0 0; }
/* Dark version follows the theme's own switch (Foxiz sets data-theme="dark" on body), not the device setting. */
[data-theme="dark"] .ggtb { --ggtb-border: #4a3a52; --ggtb-bg: #1f1a22; --ggtb-text: #eee; --ggtb-muted: #b9aebf; --ggtb-accent: #d9a6e8; }
[data-theme="dark"] .ggtb .ggtb-btn-tool, [data-theme="dark"] .ggtb .ggtb-btn-ask, [data-theme="dark"] .ggtb .ggtb-btn-mentor[aria-expanded="true"] { color: #1f1a22; }
[data-theme="dark"] .ggtb .ggtb-btn-tool:hover, [data-theme="dark"] .ggtb .ggtb-btn-tool:focus { color: #1f1a22; }
[data-theme="dark"] .ggtb-input, [data-theme="dark"] .ggtb-answer:not(:empty) { background: #2a2330; }
@media print { .ggtb { display: none; } }
