.visitor-preview{position:fixed;bottom:calc(max(18px, env(safe-area-inset-bottom)) + var(--visitor-preview-lift, 0px));left:50%;transform:translateX(-50%);z-index:var(--z-toast);display:flex;align-items:center;gap:24px;width:max-content;max-width:calc(100% - 32px);padding:16px 20px;border:1px solid var(--hairline);border-radius:var(--radius-lg);background:var(--ink-panel);color:var(--text-primary);box-shadow:var(--shadow-lg);font-family:var(--font-ui);font-size:var(--text-sm);line-height:1.5}.visitor-preview__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.visitor-preview a{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:.4em;min-height:var(--control-h);padding:0 16px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--primary);color:var(--on-primary);font-size:.875rem;font-weight:600;text-decoration:none}.visitor-preview a:hover{background:var(--primary-hover)}.visitor-preview a.visitor-preview__secondary{border-color:var(--hairline-visible)}.visitor-preview a.visitor-preview__secondary:hover{background:var(--ink-deep)}.visitor-preview button{min-height:var(--control-h);border:1px solid var(--hairline);border-radius:var(--radius-control);background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.visitor-preview button:hover{color:var(--text-primary);border-color:var(--hairline-visible)}.visitor-preview__minimize{display:inline-grid;place-items:center;width:var(--control-h);font-size:1.125rem;line-height:1}.visitor-preview a:focus-visible,.visitor-preview button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.visitor-preview--minimized{left:auto;right:max(16px,env(safe-area-inset-right));transform:none;gap:8px;padding:6px;border-radius:var(--radius-lg)}.visitor-preview--minimized button{padding:0 12px;font-variant-numeric:tabular-nums}.visitor-preview--minimized a{padding:0 14px}html[data-visitor-preview] body{padding-bottom:var(--visitor-preview-space,0)}html[data-visitor-preview]{scroll-padding-bottom:var(--visitor-preview-space,0)}@media (max-width:650px){.visitor-preview:not(.visitor-preview--minimized){width:calc(100% - 32px);box-sizing:border-box;gap:10px;flex-direction:column;align-items:stretch;padding:12px 16px}.visitor-preview:not(.visitor-preview--minimized) .visitor-preview__actions a{flex:1;text-align:center}}.visitor-preview a.visitor-preview__secondary{background:transparent;color:var(--text-primary);border:1px solid var(--hairline-visible)}.visitor-preview a.visitor-preview__secondary:hover{background:var(--row-alt)}.visitor-gate{width:min(440px,calc(100% - 32px));padding:0;border:1px solid var(--hairline);border-radius:18px;background:var(--ink-panel);color:var(--text-primary);box-shadow:var(--shadow-lg);font-family:var(--font-ui)}.visitor-gate::backdrop{background:rgb(15 15 17/.45)}.visitor-gate__body{display:grid;gap:14px;padding:28px 24px 20px}.visitor-gate h2{margin:0;font-size:22px;line-height:1.25}.visitor-gate p{margin:0;color:var(--text-secondary);line-height:1.55}.visitor-gate__actions{display:grid;gap:10px;margin-top:4px}.visitor-gate__actions a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;border-radius:12px;font-weight:600;text-decoration:none}.visitor-gate__primary{background:var(--primary);color:var(--on-primary)}.visitor-gate__primary:hover{background:var(--primary-hover)}.visitor-gate__secondary{border:1px solid var(--hairline-visible);color:var(--text-primary)}.visitor-gate__secondary:hover{background:var(--row-alt)}.visitor-gate__close{justify-self:center;min-height:44px;padding:0 14px;border:0;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer}.visitor-gate__close:hover{color:var(--text-primary)}.visitor-gate a:focus-visible,.visitor-gate button:focus-visible{outline:3px solid var(--primary);outline-offset:3px}