
/* Full-width integration with the GuardGuides theme. */
body.ggth-tools-page .gg-page-hero { display:none; }
body.ggth-tools-page .gg-content-wrap { width:100%; max-width:none; margin:0; padding:0; }
body.ggth-tools-page .gg-content { width:100%; max-width:none; font-size:inherit; }
body.ggth-tools-page .gg-content > p:empty { display:none; }
body.ggth-tools-page .gg-site-footer { margin-top:0; }
body.ggth-tools-page .ggth-wrap { width:min(calc(100% - 48px), 1240px); margin:48px auto 0; }
@media (min-width:981px) {
  body.ggth-tools-page .ggth-tabs { flex-wrap:wrap; overflow:visible; }
}
:root {
  --ggth-bg: #0b0d10;
  --ggth-card: #15181d;
  --ggth-card-2: #1c2026;
  --ggth-line: #343941;
  --ggth-text: #f3f4f6;
  --ggth-muted: #b3b7be;
  --ggth-blue: #2da5ff;
  --ggth-blue-soft: #8fd0ff;
  --ggth-good: #76d29a;
  --ggth-warn: #f2c166;
  --ggth-bad: #ff7d7d;
}
.ggth-wrap { width:min(calc(100% - 36px), 1180px); margin:42px auto 0; color:var(--ggth-text); }
.ggth-wrap *, .ggth-wrap *::before, .ggth-wrap *::after { box-sizing:border-box; }
.ggth-hero { display:grid; grid-template-columns:1.35fr .65fr; gap:24px; padding:30px; border:1px solid var(--ggth-line); border-radius:24px; background:radial-gradient(circle at 82% 18%, rgba(45,165,255,.14), transparent 36%), linear-gradient(145deg,#171a20,#101216); box-shadow:0 24px 80px rgba(0,0,0,.28); }
.ggth-kicker { display:block; color:var(--ggth-blue-soft); font-size:.78rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; margin-bottom:8px; }
.ggth-hero h1, .ggth-panel h2 { margin:0 0 12px; color:#fff; }
.ggth-hero h1 { font-size:clamp(2.4rem,6vw,4.6rem); line-height:.98; max-width:760px; }
.ggth-hero p, .ggth-panel-head p, .ggth-card p { color:var(--ggth-muted); }
.ggth-lanes { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:25px; }
.ggth-lanes div { padding:16px; border:1px solid var(--ggth-line); border-radius:14px; background:rgba(255,255,255,.025); }
.ggth-lanes small, .ggth-link-card span, .ggth-license-model small { display:block; color:var(--ggth-blue-soft); text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; font-weight:900; margin-bottom:7px; }
.ggth-lanes strong { display:block; font-size:1.05rem; }
.ggth-hero-aside { align-self:stretch; padding:22px; border:1px solid #3b424c; background:rgba(9,12,16,.72); border-radius:18px; }
.ggth-hero-aside ul { padding-left:18px; color:var(--ggth-muted); }
.ggth-hero-aside li { margin:11px 0; }
.ggth-private-note { border-top:1px solid var(--ggth-line); padding-top:15px; font-size:.88rem; }
.ggth-tabs { display:flex; gap:9px; overflow-x:auto; padding:22px 0 13px; scrollbar-width:thin; }
.ggth-tabs button { flex:0 0 auto; border:1px solid var(--ggth-line); background:#12151a; color:#fff; border-radius:999px; padding:10px 14px; font-weight:800; cursor:pointer; }
.ggth-tabs button:hover, .ggth-tabs button.is-active { border-color:var(--ggth-blue); color:var(--ggth-blue-soft); background:rgba(45,165,255,.09); }
.ggth-panel { padding:28px 0 8px; }
.ggth-panel[hidden] { display:none !important; }
.ggth-panel-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:22px; }
.ggth-panel-head > p { max-width:520px; margin:0; }
.ggth-two-col { display:grid; grid-template-columns:1.15fr .85fr; gap:20px; align-items:start; }
.ggth-card { border:1px solid var(--ggth-line); background:linear-gradient(180deg,rgba(28,32,38,.97),rgba(17,20,24,.99)); border-radius:18px; box-shadow:0 16px 50px rgba(0,0,0,.18); }
.ggth-form { padding:22px; }
.ggth-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.ggth-form-grid-5 { grid-template-columns:1.1fr repeat(3,.8fr) 1.4fr; }
.ggth-field { display:flex; flex-direction:column; gap:7px; font-weight:750; }
.ggth-field span { font-size:.9rem; }
.ggth-field small { color:var(--ggth-muted); font-weight:500; line-height:1.35; }
.ggth-field input, .ggth-field select, .ggth-notes-card textarea { width:100%; border:1px solid var(--ggth-line); background:#0d1014; color:#fff; border-radius:10px; min-height:44px; padding:10px 12px; }
.ggth-field input:focus, .ggth-field select:focus, .ggth-notes-card textarea:focus { outline:2px solid rgba(45,165,255,.35); border-color:var(--ggth-blue); }
.ggth-primary, .ggth-secondary, .ggth-danger { border:1px solid transparent; border-radius:11px; padding:12px 16px; font-weight:900; cursor:pointer; margin-top:18px; }
.ggth-primary { background:linear-gradient(135deg,#268ee2,#57b8ff); color:#06111b; }
.ggth-secondary { background:#1c2731; color:#d8efff; border-color:#476076; }
.ggth-danger { background:#2a1719; color:#ffb5b5; border-color:#613238; }
.ggth-result { padding:24px; position:sticky; top:100px; }
.ggth-result-label { color:var(--ggth-blue-soft); font-size:.78rem; letter-spacing:.12em; font-weight:900; text-transform:uppercase; }
.ggth-score-ring { width:142px; height:142px; border-radius:50%; display:grid; place-content:center; text-align:center; margin:18px auto; background:radial-gradient(circle,#11151a 58%,transparent 60%),conic-gradient(var(--ggth-blue) 0deg,#2b3037 0deg); border:1px solid var(--ggth-line); }
.ggth-score-ring strong { font-size:2.7rem; line-height:1; }
.ggth-score-ring span { color:var(--ggth-muted); font-size:.8rem; }
.ggth-metrics { display:grid; gap:9px; margin-top:16px; }
.ggth-metric { display:flex; justify-content:space-between; gap:12px; border-top:1px solid var(--ggth-line); padding-top:10px; }
.ggth-metric span { color:var(--ggth-muted); }
.ggth-good { color:var(--ggth-good) !important; }
.ggth-warn { color:var(--ggth-warn) !important; }
.ggth-bad { color:var(--ggth-bad) !important; }
.ggth-compare-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.ggth-form legend { padding:0 7px; font-size:1.25rem; font-weight:900; }
.ggth-compare-result { margin-top:20px; padding:22px; }
.ggth-comparison-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.ggth-comparison-card { padding:16px; border:1px solid var(--ggth-line); border-radius:14px; background:#101419; }
.ggth-comparison-card.is-winner { border-color:var(--ggth-blue); box-shadow:0 0 0 2px rgba(45,165,255,.12); }
.ggth-comparison-card h3 { margin:0 0 12px; }
.ggth-tracker-summary { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:18px 0; }
.ggth-summary-box { border:1px solid var(--ggth-line); background:#11151a; border-radius:12px; padding:14px; }
.ggth-summary-box small { color:var(--ggth-muted); display:block; }
.ggth-summary-box strong { font-size:1.3rem; }
.ggth-table-wrap { overflow-x:auto; }
.ggth-table { width:100%; border-collapse:collapse; min-width:760px; }
.ggth-table th, .ggth-table td { padding:13px; text-align:left; border-bottom:1px solid var(--ggth-line); }
.ggth-table th { color:var(--ggth-blue-soft); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.ggth-table button { border:0; background:transparent; color:#ff9d9d; cursor:pointer; font-weight:900; }
.ggth-actions { display:flex; align-items:center; gap:12px; justify-content:flex-end; }
.ggth-resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ggth-resource-grid-4 { grid-template-columns:repeat(4,1fr); }
.ggth-link-card { display:block; padding:21px; text-decoration:none !important; color:#fff !important; transition:.18s ease; }
.ggth-link-card:hover { transform:translateY(-2px); border-color:var(--ggth-blue); }
.ggth-link-card strong { display:block; font-size:1.15rem; margin-bottom:8px; }
.ggth-notes-card { padding:22px; margin-top:18px; }
.ggth-notes-card label { display:flex; justify-content:space-between; gap:20px; margin-bottom:12px; }
.ggth-notes-card label span { color:var(--ggth-muted); }
.ggth-notes-card textarea { resize:vertical; }
.ggth-license-card { padding:22px; }
.ggth-license-model { padding:15px; border:1px solid var(--ggth-line); border-radius:12px; margin:16px 0; background:#101419; }
.ggth-official-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.ggth-official-links a { color:var(--ggth-blue-soft); border:1px solid #41617a; border-radius:10px; padding:9px 11px; text-decoration:none; }
.ggth-check-list { padding-left:20px; }
.ggth-check-list li { margin:11px 0; color:var(--ggth-muted); }
.ggth-disclaimer { margin-top:18px; padding:14px; border-radius:12px; border:1px solid #645735; background:#211e16; color:#f5dfab; }
.ggth-hub-footer { margin:28px 0 60px; padding:18px 20px; border-top:1px solid var(--ggth-line); color:var(--ggth-muted); }
@media (max-width: 980px) {
  .ggth-hero, .ggth-two-col, .ggth-compare-grid { grid-template-columns:1fr; }
  .ggth-result { position:static; }
  .ggth-form-grid-5 { grid-template-columns:repeat(2,1fr); }
  .ggth-resource-grid-4 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 680px) {
  .ggth-wrap { width:min(calc(100% - 22px),1180px); margin-top:24px; }
  .ggth-hero { padding:22px; }
  .ggth-lanes, .ggth-form-grid, .ggth-form-grid-5, .ggth-resource-grid, .ggth-resource-grid-4, .ggth-tracker-summary, .ggth-comparison-cards { grid-template-columns:1fr; }
  .ggth-panel-head { display:block; }
  .ggth-panel-head > p { margin-top:8px; }
  .ggth-notes-card label { display:block; }
  .ggth-actions { justify-content:flex-start; flex-wrap:wrap; }
}
