.gh-visual{position:relative}.gh-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.gh-chrome{border-bottom:1px solid var(--border-soft);background:var(--bg-muted);align-items:center;gap:10px;padding:14px 18px;display:flex}.gh-dots{gap:6px;display:inline-flex}.gh-dots i{background:var(--border);border-radius:999px;width:9px;height:9px}.gh-title{font:600 13px/1 var(--font-display);color:var(--fg-2)}.gh-region{font:700 10px/1 var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--brand-green);background:#0e8a5f1f;border-radius:999px;align-items:center;gap:6px;margin-left:auto;padding:6px 10px;display:inline-flex}.gh-region svg{width:13px;height:13px}.gh-body{flex-direction:column;gap:11px;padding:16px 18px 20px;display:flex}.gh-row{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-surface);justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;display:flex}.gh-row-label{font:600 13.5px/1.25 var(--font-sans);color:var(--fg-1)}.gh-row-label small{font:500 11.5px/1.3 var(--font-sans);color:var(--fg-3);margin-top:2px;display:block}.gh-toggle{background:var(--border);border-radius:999px;flex:none;width:38px;height:22px;transition:background .35s;position:relative}.gh-toggle:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-xs);background:#fff;border-radius:999px;transition:transform .35s cubic-bezier(.34,1.4,.5,1);position:absolute;top:3px;left:3px}.gh-log{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-app);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.gh-log-line{font:500 11.5px/1.3 var(--font-sans);color:var(--fg-2);align-items:center;gap:9px;display:flex}.gh-tag{font:700 8.5px/1 var(--font-mono);letter-spacing:.06em;color:var(--brand-sky);background:#1e88ff1f;border-radius:5px;flex:none;padding:4px 6px}.gh-time{font:500 10.5px/1 var(--font-mono);color:var(--fg-4);margin-left:auto}.gh-chips{flex-wrap:wrap;gap:7px;margin-top:2px;display:flex}.gh-chips span{font:600 11px/1 var(--font-sans);color:var(--fg-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:5px;padding:6px 10px;display:inline-flex}.gh-chips span:before{content:"";background:var(--brand-green);border-radius:999px;width:6px;height:6px}.gh-pulse{margin-left:auto;display:none}@media (prefers-reduced-motion:no-preference){.gh-region svg{animation:none}.gh-row .gh-toggle{background:var(--border)}.gh-row{opacity:0;animation:.5s forwards ghIn;transform:translateY(8px)}.gh-row:first-child{animation-delay:.15s}.gh-row:nth-child(2){animation-delay:.3s}.gh-row:nth-child(3){animation-delay:.45s}.gh-row:nth-child(4){animation-delay:.6s}.gh-toggle{animation:.4s forwards ghOn}.gh-row:first-child .gh-toggle{animation-delay:.55s}.gh-row:nth-child(2) .gh-toggle{animation-delay:.7s}.gh-row:nth-child(3) .gh-toggle{animation-delay:.85s}.gh-row:nth-child(4) .gh-toggle{animation-delay:1s}.gh-log-line{opacity:0;animation:.5s forwards ghIn}.gh-log-line:first-child{animation-delay:1.15s}.gh-log-line:nth-child(2){animation-delay:1.35s}.gh-log-line:nth-child(3){animation-delay:1.55s}.gh-log .gh-tag{position:relative}.gh-log-line:first-child .gh-tag{animation:3.2s ease-in-out 2s infinite ghBlink}.gh-chips span{opacity:0;animation:.5s 1.7s forwards ghIn}}@keyframes ghIn{to{opacity:1;transform:none}}@keyframes ghOn{to{background:var(--brand-green)}}.gh-toggle{will-change:background}@media (prefers-reduced-motion:no-preference){.gh-toggle:after{animation:.4s cubic-bezier(.34,1.4,.5,1) forwards ghKnob;transform:translate(0)}.gh-row:first-child .gh-toggle:after{animation-delay:.55s}.gh-row:nth-child(2) .gh-toggle:after{animation-delay:.7s}.gh-row:nth-child(3) .gh-toggle:after{animation-delay:.85s}.gh-row:nth-child(4) .gh-toggle:after{animation-delay:1s}}@keyframes ghKnob{to{transform:translate(16px)}}@keyframes ghBlink{0%,to{opacity:.45}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.gh-toggle{background:var(--brand-green)}.gh-toggle:after{transform:translate(16px)}}
