/* The existing public profile's centered, compact layout; no phone mockup or demo store. */
.visitor-page { margin:0; min-height:100vh; background:#05070a; color:#e2e8f0; font:400 14px/1.6 Inter,system-ui,sans-serif; }
.visitor-page { isolation:isolate; }
.visitor-background { position:fixed; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; z-index:-2; pointer-events:none; }
.visitor-page.has-media-background::before { content:''; position:fixed; inset:0; background:#05070ad1; z-index:-1; pointer-events:none; }
.visitor-initial { overflow:hidden; flex-shrink:0; }
.visitor-initial img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.visitor-page [hidden] { display:none !important; }
.visitor-page a,.visitor-page button,.visitor-page summary { -webkit-tap-highlight-color:transparent; }
.visitor-page :focus-visible { outline:2px solid #70c3ff; outline-offset:5px; }
.visitor-header { display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:1100px; margin:auto; padding:16px 24px; }
.visitor-brand { display:inline-flex; align-items:center; gap:9px; min-height:44px; font-size:19px; font-weight:700; text-decoration:none; color:inherit; }
.visitor-slash { color:#008cff; }
.visitor-header .language-button { min-width:60px; min-height:44px; }
.visitor-notice { max-width:560px; margin:0 auto; padding:0 24px; color:#a9b8c9; font-size:12px; }
.visitor-notice summary { min-height:44px; padding:12px 0; cursor:pointer; text-align:center; }
.visitor-notice p { margin:0 0 20px; padding:12px 16px; text-wrap:pretty; }
.visitor-main { width:min(100%,560px); margin:0 auto; padding:32px 24px 0; text-align:center; outline:none; }
.visitor-status { margin:20px auto; max-width:420px; color:#b9c8d9; }
.visitor-retry { min-height:44px; margin:0 auto 24px; border:1px solid #37536e; padding:8px 20px; border-radius:12px; background:#101d2b; color:#e2e8f0; cursor:pointer; }
.visitor-identity { margin:0 auto 24px; }
.visitor-initial { width:80px; height:80px; margin:0 auto 20px; display:grid; place-items:center; border:1px solid #2b3d50; border-radius:50%; color:#a9d6ff; background:#0c1622; font-size:28px; font-weight:500; }
.visitor-name { font-size:clamp(24px,4vw,28px); font-weight:600; line-height:1.3; margin:0 0 6px; color:#f5f7fa; }
.visitor-handle { color:#91a1b5; margin:0; font-size:13px; }
.visitor-description { margin:20px 0 0; color:#b5c0ce; white-space:pre-wrap; }
.visitor-name,.visitor-handle,.visitor-description,.visitor-block,.visitor-social { overflow-wrap:anywhere; }
.visitor-socials { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin:0 auto 24px; }
.visitor-social { width:44px; height:44px; display:grid; place-items:center; flex:0 0 44px; border:1px solid #ffffff20; background:#ffffff0c; border-radius:50%; color:#f5f7fa; text-decoration:none; }
.visitor-social svg { width:18px; height:18px; }
.visitor-blocks { max-width:384px; margin:0 auto; }
.visitor-block { margin:0 0 12px; }
.visitor-link { display:flex; justify-content:center; align-items:center; min-height:48px; padding:12px 16px; border:1px solid #2d4054; border-radius:12px; background:#0e1722; text-decoration:none; color:#f5f7fa; font-weight:500; line-height:1.5; }
.visitor-link[data-backed] span { color:#fff; background:#0b1017; border-radius:5px; padding:3px 7px; }
.visitor-heading { margin:28px 0 12px; font-size:14px; color:#c5d0dd; font-weight:600; }
.visitor-text { margin:16px 0; white-space:pre-wrap; color:#b5c0ce; }
.visitor-spacer { height:12px; }
.visitor-unsupported { text-align:left; border-left:2px solid #8b7246; padding:10px 14px; color:#c4cbd5; background:#121316; }
.visitor-unsupported strong { font-size:13px; display:block; }
.visitor-unsupported p { font-size:12px; margin:6px 0 0; color:#afbac8; }
.visitor-empty,.visitor-compatibility { margin:24px 0; color:#a9b8c9; font-size:13px; }
.visitor-footer { display:flex; flex-direction:column; align-items:center; gap:6px; padding:40px 24px 32px; color:#95a6bb; font-size:12px; text-align:center; }
.visitor-footer a { display:inline-flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid #243244; border-radius:24px; color:#bbc9d9; text-underline-offset:4px; }
@media (hover:hover) { .visitor-social:hover,.visitor-retry:hover { border-color:#70c3ff; background:#16283b; } .visitor-link:hover { outline:1px solid #b0c9df; outline-offset:2px; } }
@media (max-width:480px) { .visitor-header { padding:12px 16px; } .visitor-main { padding:24px 20px 0; } .visitor-notice { padding:0 20px; } }
.presentation-footer a { color:inherit; font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.presentation-footer a:hover { color:#fff; }
.presentation-footer a:focus-visible { outline:2px solid #88bfff; outline-offset:4px; border-radius:2px; }
