/* ghacks Tools: IP lookup, launch phase (prefix gtip-) */
.gtip-card { padding: 18px 20px; border: 1px solid var(--gt-line); border-radius: var(--gt-radius); background: var(--gt-field); }
.gtip-label { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; min-height: 28px; margin: 0 0 6px; font-size: 15px; font-weight: 600; color: var(--gt-muted); }
.gtip-row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; min-height: 52px; }
.gtip-ip { display: block; min-width: 0; max-width: 100%; font: 700 34px/1.2 ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace; letter-spacing: .3px; color: var(--gt-ink); overflow-wrap: anywhere; word-break: break-all; }
.gtip-ip.gtip-long { font-size: 24px; }
.gtip-wait { font-family: system-ui, -apple-system, "Segoe UI", sans-serif; font-size: 17px; font-weight: 400; line-height: 1.4; color: var(--gt-muted); letter-spacing: 0; }
.gtip-fam { display: inline-block; padding: 1px 10px; color: var(--gt-ink); border-radius: 999px; border: 1px solid var(--gt-line); background: var(--gt-bg); font-size: 14px; font-weight: 700; white-space: nowrap; }
.gtip-fam[hidden] { display: none; }
.gtip-country { margin: 6px 0 0; min-height: 22px; font-size: 15px; line-height: 1.45; }
.gtip-approx { color: var(--gt-muted); font-size: 14px; }
.gtip-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 12px 0 0; }
.gtip-copy { min-width: 110px; }
.gtip .gt-btn:disabled { opacity: .5; cursor: not-allowed; }
.gtip-status { font-size: 14px; font-weight: 600; color: #1e7a43; }
/* Message slot: all three children share one grid cell, the tallest sets the height */
.gtip-msg { display: grid; min-height: 50px; margin: 12px 0 0; }
.gtip-msg > * { grid-area: 1 / 1; visibility: hidden; margin: 0; }
.gtip-msg > .is-on { visibility: visible; }
.gtip-fnote { font-size: 14px; line-height: 1.5; color: var(--gt-muted); }
.gtip-err { align-self: start; padding: 6px 12px; border-left: 3px solid #b03a2e; background: var(--gt-bg); font-size: 15px; line-height: 1.45; font-weight: 600; color: #8e2c22; border-radius: 0 6px 6px 0; }
.gtip-err:empty { padding: 0; border: 0; }
.gtip-special { align-self: start; padding: 4px 12px; border: 1px solid var(--gt-accent); border-left-width: 4px; border-radius: 8px; background: var(--gt-bg); font-size: 15px; line-height: 1.5; }
.gtip-special summary { min-height: 40px; display: flex; align-items: center; cursor: pointer; font-weight: 700; }
.gtip-special:not(.is-on) { display: none; }
.gtip-sd p { margin: 0 0 8px; }
.gtip-facts { margin-top: 16px;  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; font-size: 15px; line-height: 1.5; }
.gtip-h { margin: 0 0 4px; font-weight: 700; font-size: 15px; }
.gtip-facts ul { margin: 0; padding-left: 1.2em; }
.gtip-facts li { margin: 0 0 2px; }
.gtip-privacy { margin: 14px 0 0; font-size: 13px; color: var(--gt-muted); }
@media (max-width: 600px) {
	.gtip-card { padding: 14px; }
	.gtip-ip { font-size: 28px; }
	.gtip-ip.gtip-long { font-size: 19px; }
	.gtip-btns .gt-btn { flex: 1 1 0; }
	.gtip-facts { grid-template-columns: 1fr; }
	.gtip-country { min-height: 62px; }
	.gtip-row { min-height: 56px; }
	.gtip-approx { display: block; font-size: 13px; line-height: 1.4; }
}
.gtip-special summary { list-style: none; }
.gtip-special summary::-webkit-details-marker { display: none; }
.gtip-special summary::before { content: "\25B8"; margin-right: 8px; color: var(--gt-accent); }
.gtip-special[open] summary::before { content: "\25BE"; }
