#visitor-toasts{position:fixed;right:20px;bottom:20px;display:flex;flex-direction:column;gap:10px;z-index:10000;max-width:min(390px,calc(100vw - 32px));pointer-events:none}.visitor-toast{display:flex;align-items:center;gap:16px;padding:16px 18px;border:1px solid var(--line,#34445a);border-left:4px solid #3188e8;border-radius:8px;background:var(--surface,#fff);color:var(--ink,#1c2939);box-shadow:0 8px 32px #0003;font:14px/1.5 Arial,sans-serif;pointer-events:auto;overflow-wrap:anywhere}.visitor-toast button{background:none;border:0;color:inherit;font-size:24px;cursor:pointer;padding:0 3px}
.visitor-toast{align-items:flex-start;gap:12px;min-width:min(330px,calc(100vw - 32px));padding:16px}.visitor-toast-body{flex:1;min-width:0}.visitor-toast .visitor-toast-heading{display:block;text-align:left;font:600 14px/1.5 Arial,sans-serif;padding:0;cursor:pointer}.visitor-toast-body>small{display:block;color:var(--muted,#6b7280);font-size:11px;margin-top:4px}.visitor-toast .visitor-toast-close{font-size:23px;line-height:1;padding:0 2px}.visitor-toast-details{display:none;grid-template-columns:90px minmax(0,1fr);gap:8px 12px;border-top:1px solid var(--line,#e5e7eb);padding-top:12px;margin:12px 0 0;font-size:12px}.visitor-toast-details dt{color:var(--muted,#6b7280)}.visitor-toast-details dd{margin:0;word-break:break-word}.visitor-toast:hover .visitor-toast-details,.visitor-toast:focus-within .visitor-toast-details,.visitor-toast.is-expanded .visitor-toast-details{display:grid}

/* Each visitor owns an independent ten-second lifetime. */
#visitor-toasts{max-height:calc(100dvh - 40px);overflow-y:auto;overflow-x:hidden;padding:4px;scrollbar-width:thin;justify-content:flex-start}
.visitor-toast{flex-shrink:0;animation:visitor-toast-fade 10s linear forwards}
@keyframes visitor-toast-fade{0%{opacity:1;transform:translateY(5px)}3%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.visitor-toast{animation-name:visitor-toast-expire}@keyframes visitor-toast-expire{from{opacity:1}to{opacity:1}}}
.visitor-toast-body>.visitor-toast-total{color:var(--link,#2676bd);font-size:12px;font-weight:600;margin-top:6px}
.visitor-toast .visitor-toast-details{display:grid}
.visitor-toast .visitor-toast-heading{display:block;font:600 14px/1.5 Arial,sans-serif;color:inherit;cursor:default}
#visitor-activity-open{position:fixed;left:20px;bottom:20px;z-index:9998;background:var(--surface,#fff);color:var(--ink,#182536);border:1px solid var(--line,#ccd5df);border-radius:8px;padding:11px 16px;box-shadow:0 4px 20px #0002;cursor:pointer;font:13px Arial,sans-serif}#visitor-activity-panel{position:fixed;left:20px;bottom:72px;z-index:9999;width:min(430px,calc(100vw - 40px));max-height:75dvh;overflow:auto;background:var(--surface,#fff);color:var(--ink,#182536);border:1px solid var(--line,#ccd5df);border-radius:10px;box-shadow:0 8px 35px #0003;padding:20px;font:13px/1.6 Arial,sans-serif}#visitor-activity-panel[hidden]{display:none}.activity-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.activity-panel-heading h2{font-size:18px;margin:0}.activity-panel-heading button{border:0;background:none;color:inherit;font-size:24px;cursor:pointer}#visitor-activity-toggle{padding:9px 14px;border:0;border-radius:5px;background:#267cdb;color:#fff;cursor:pointer}#visitor-activity-toggle[aria-pressed=true]{background:#a64747}#visitor-activity-list{padding:0;list-style:none;margin:12px 0 0}#visitor-activity-list li{display:grid;gap:4px;padding:12px 0;border-top:1px solid var(--line,#e4e8ee);overflow-wrap:anywhere}#visitor-activity-list small,#visitor-activity-status{color:var(--muted,#697b8d)}
#visitor-heatmap{position:fixed;inset:0;z-index:9995;pointer-events:none;opacity:.8}#visitor-heatmap[hidden],#visitor-heatmap-legend[hidden]{display:none}#visitor-heatmap-toggle{margin-top:12px;padding:9px 12px;background:#e7a33c;color:#172335;border:0;border-radius:5px;cursor:pointer}#visitor-heatmap-legend{position:fixed;top:72px;left:50%;transform:translateX(-50%);z-index:9997;background:var(--surface,#fff);color:var(--ink,#172335);border:1px solid var(--line,#ddd);box-shadow:0 3px 15px #0002;border-radius:7px;padding:10px 14px;font:12px/1.5 Arial,sans-serif;max-width:90vw}#visitor-heatmap-hide{margin-left:12px;border:0;background:transparent;color:var(--link,#267cdb);cursor:pointer}#visitor-heatmap-status{color:var(--muted,#697b8d);font-size:12px}
