html.public-visitor-profile-html,
body.public-visitor-profile-page { min-height: 100%; }
.public-visitor-share { cursor:pointer; }

body.public-visitor-profile-page {
    min-height: 100dvh;
    margin: 0;
    background: linear-gradient(138deg, #061124 0%, #122e69 28%, #cf785f 56%, #c7b5d6 75%, #087fbf 100%);
    color: #10175d;
}
body.public-visitor-profile-page[data-profile-theme="atelier"] { background: #dfe7ec; }
body.public-visitor-profile-page[data-profile-theme="nocturne"] { background: #070914; }
body.public-visitor-profile-page[data-profile-theme="solar"] { background: linear-gradient(140deg,#120d17,#4a1829 55%,#ec6d18); }
body.public-visitor-profile-page[data-profile-theme="portrait"] { background: #162323; }
body.public-visitor-profile-page[data-profile-theme="prism"] { background: #24104d url('../assets/img/gradien/01.jpg') center / cover fixed; }
.public-visitor-canvas { display: grid; min-height: 100dvh; place-items: center; padding: 48px 24px; }
.public-visitor-device { position:relative; width: min(100%, 680px); height: min(760px, calc(100dvh - 96px)); min-height: 620px; overflow: hidden; border: 0; border-radius: 34px; background: rgba(255,255,255,.14); box-shadow: 0 28px 80px rgba(7,17,36,.34), 0 8px 20px rgb(0 0 0 / 41%); }
.public-visitor-device .profile-visitor-preview { height: 100%; min-height: 0; }
.public-visitor-device .profile-visitor-preview-bio { max-width:480px; font-size:12px; }
.public-visitor-device .profile-visitor-preview-links strong { font-size:12px; }
.public-visitor-device .profile-visitor-preview-link { grid-template-columns:55px minmax(0,1fr); min-height:60px; }
.public-visitor-device .profile-visitor-preview-link-media { width:55px; height:55px; }
.public-visitor-share { position:absolute; top:18px; right:18px; z-index:3; display:grid; width:42px; height:42px; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.88); color:#000; box-shadow:0 8px 24px rgba(7,17,36,.18); }
.public-visitor-logo { position:absolute; top:18px; left:18px; z-index:3; display:grid; width:42px; height:42px; place-items:center; border:0; border-radius:50%; background:rgba(255,255,255,.9); box-shadow:0 8px 24px rgba(7,17,36,.18); }
.public-visitor-logo img { width:25px; height:25px; object-fit:contain; }
.public-visitor-join-dialog { width:min(440px, calc(100% - 32px)); max-height:calc(100dvh - 48px); overflow:auto; margin:auto; padding:42px 30px 30px; border:0; border-radius:8px; background:#fff; color:#202329; text-align:center; box-shadow:0 24px 80px rgba(0,0,0,.2); }
.public-visitor-join-dialog::backdrop { background:rgba(10,14,22,.5); backdrop-filter:blur(5px); }
.public-visitor-join-dialog > img { width:48px; height:48px; object-fit:contain; margin-bottom:22px; }
.public-visitor-join-dialog h2 { margin:0 0 12px; font-size:26px; line-height:1.2; font-weight:700; }
.public-visitor-join-dialog p { margin:0 0 26px; color:#697079; font-size:16px; line-height:1.55; }
.public-visitor-join-dialog > a { display:flex; align-items:center; justify-content:center; min-height:50px; padding:12px 18px; border-radius:8px; background:#202329; color:#fff; font-size:16px; font-weight:700; text-decoration:none; }
.public-visitor-join-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:32px; height:32px; padding:0; border:0; background:transparent; color:#697079; cursor:pointer; }
.public-visitor-logo:focus-visible, .public-visitor-join-dialog a:focus-visible, .public-visitor-join-close:focus-visible { outline:2px solid #697079; outline-offset:3px; }
@media (max-width:767.98px) { .public-visitor-logo { top:13px; left:13px; width:38px; height:38px; } }
.public-visitor-share-layer { position:fixed; inset:0; z-index:20; display:none; place-items:center; padding:20px; background:rgba(6,12,34,.48); }
.public-visitor-share-layer.is-open { display:grid; }
.public-visitor-share-sheet { width:min(100%,520px); overflow:hidden; border-radius:22px; background:#fff; box-shadow:0 24px 70px rgba(5,9,29,.28); }
.public-visitor-share-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:19px 22px; border-bottom:1px solid #eef0f7; }
.public-visitor-share-head h2 { margin:0; color:#141a3f; font-size:17px; font-weight:800; }
.public-visitor-share-head button { width:32px; height:32px; border:0; border-radius:50%; background:transparent; color:#27336c; font-size:24px; line-height:1; }
.public-visitor-share-identity { display:grid; min-height:155px; place-items:center; align-content:center; padding:18px; background:linear-gradient(145deg,#171b3e,#2d3574); color:#fff; text-align:center; }
.public-visitor-share-identity img { width:62px; height:62px; margin-bottom:8px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 4px rgba(255,255,255,.18); }
.public-visitor-share-identity strong { font-size:17px; font-weight:800; }
.public-visitor-share-identity span { margin-top:3px; color:#ccd4ff; font-size:12px; font-weight:650; }
.public-visitor-share-sheet > p { margin:16px 22px 13px; color:#6976a9; font-size:12px; line-height:1.45; }
.public-visitor-share-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; padding:0 22px 17px; }
.public-visitor-share-actions > * { display:grid; min-height:68px; place-items:center; align-content:center; gap:5px; border:0; border-radius:12px; background:#f5f7fc; color:#202a68; font:inherit; font-size:10px; font-weight:750; text-decoration:none; }
.public-visitor-share-actions > * i { font-size:20px; }
.public-visitor-share-actions > *:hover { color:#202a68; background:#e9edfa; }
.public-visitor-share-url { display:flex; min-width:0; align-items:center; gap:9px; margin:0 22px 16px; padding:10px 12px; border-radius:10px; background:#f4f6fb; color:#596799; font-size:11px; }
.public-visitor-share-url > span { overflow:hidden; flex:1; text-overflow:ellipsis; white-space:nowrap; }
.public-visitor-share-url button { display:grid; width:28px; height:28px; place-items:center; border:0; border-radius:8px; background:#fff; color:#33427b; }
.public-visitor-share-join { padding:15px 22px 20px; border-top:1px solid #eef0f7; color:#404d7c; font-size:12px; }
.public-visitor-share-join strong { display:block; margin-bottom:10px; }
.public-visitor-share-join a { display:flex; min-height:42px; align-items:center; justify-content:center; border-radius:10px; background:#171b3e; color:#fff; font-size:12px; font-weight:800; text-decoration:none; }
.public-visitor-share-actions .is-copied::after { content:'✓'; }
.profile-visitor-preview--public .profile-visitor-preview-socials > a { display:grid; width:62px; height:62px; place-items:center; border-radius:18px; transition:transform .2s ease, background .2s ease; }
.profile-visitor-preview--public .profile-visitor-preview-socials > a:hover { background:rgba(255,255,255,.48); transform:translateY(-2px); }
.profile-visitor-preview--public[data-profile-theme="portrait"] .profile-visitor-preview-socials > a { width:48px; height:48px; border-radius:13px; }
.profile-visitor-preview--public[data-profile-theme="portrait"] .profile-visitor-preview-body h2 { font-size:31px; }
.profile-visitor-preview--public[data-profile-theme="prism"] .profile-visitor-preview-socials > a { width:50px; height:50px; border-radius:15px; }
.profile-visitor-preview--public[data-profile-theme="prism"] .profile-visitor-preview-body h2 { font-size:30px; }
.profile-visitor-preview-panels { flex:1; height:auto; min-height:0; }
.profile-visitor-preview-panel { display:none; height:100%; min-height:0; overflow:hidden; }
.profile-visitor-preview-panel.is-active { display:block; }
.profile-visitor-preview-panel .profile-visitor-preview-links { max-height:100%; margin-top:14px; padding:0 2px 44px; overflow-y:auto; scrollbar-width:thin; }
.profile-visitor-preview-link { display:grid; grid-template-columns:46px minmax(0,1fr); align-items:center; gap:12px; min-height:54px; padding:6px 10px; border:0; border-radius:12px; background:rgba(255,255,255,.72); box-shadow:0 6px 16px rgba(52,74,156,.06); text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.profile-visitor-preview-link:hover { color:inherit; box-shadow:0 12px 24px rgba(52,74,156,.12); transform:translateY(-2px); }

.profile-visitor-preview-content { height:100%; max-height:100%; padding:14px 2px 44px; overflow-y:auto; scrollbar-width:thin; }
.visitor-about-premium { display:grid; gap:18px; padding:4px 2px 44px; }
.visitor-about-premium .visitor-content-section { position:relative; margin:0; padding-top:13px; }
.visitor-about-premium .visitor-content-section::before { content:''; position:absolute; top:0; right:0; left:0; height:1px; background:rgba(94,111,174,.16); }
.visitor-about-premium .visitor-content-section h4 { margin-bottom:10px; color:#25346e; font-size:10px; letter-spacing:.06em; }
.visitor-about-premium .visitor-fact-list > div { padding:12px; background:rgba(255,255,255,.38); box-shadow:inset 0 0 0 1px rgba(255,255,255,.42); }
.visitor-about-premium .visitor-chip-list { gap:7px; }
.visitor-about-premium .visitor-chip-list span { padding:7px 10px; background:rgba(255,255,255,.52); box-shadow:inset 0 0 0 1px rgba(93,109,167,.09); }
.visitor-about-premium .visitor-stack-list { gap:6px; }
.visitor-about-premium .visitor-stack-list > article { padding:9px 10px; background:rgba(255,255,255,.44); box-shadow:inset 0 0 0 1px rgba(255,255,255,.52); }
.visitor-stack-mark { display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; border-radius:8px; background:rgba(105,75,232,.1); color:#6746db; font-size:11px; }
.visitor-about-premium .visitor-country-list { padding:11px; border-radius:12px; background:linear-gradient(135deg,rgba(110,71,233,.1),rgba(47,145,220,.08)); }
.visitor-about-premium .visitor-country-list .visitor-country-chip { display:inline-flex; align-items:center; gap:6px; padding:7px 9px; }
.visitor-country-chip img { width:17px; height:12px; border-radius:2px; object-fit:cover; box-shadow:none; }
.visitor-country-chip b { color:#6654a9; font-size:9px; letter-spacing:.04em; }
.visitor-country-chip strong { color:#344175; font-size:10px; font-weight:700; }
.visitor-content-heading { margin:0 0 15px; text-align:left; }
.visitor-content-heading h3 { margin:0; color:#111a62; font-size:18px; font-weight:800; }
.visitor-content-section + .visitor-content-section { margin-top:16px; }
.visitor-content-section h4 { margin:0 0 8px; color:#4e5c97; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.visitor-fact-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:0; }
.visitor-fact-list > div { padding:10px; border-radius:10px; background:rgba(255,255,255,.48); }
.visitor-fact-list dt { color:#8190c3; font-size:9px; font-weight:700; }
.visitor-fact-list dd { margin:3px 0 0; overflow:hidden; color:#16205e; font-size:11px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
.visitor-chip-list { display:flex; flex-wrap:wrap; gap:6px; }
.visitor-chip-list span { padding:6px 9px; border-radius:999px; background:rgba(255,255,255,.64); color:#46558c; font-size:10px; font-weight:650; }
.visitor-stack-list { display:grid; gap:7px; }
.visitor-stack-list > article,
.visitor-stack-list > a { display:flex; align-items:center; gap:9px; min-height:46px; padding:8px 10px; border-radius:11px; background:rgba(255,255,255,.68); color:#111a62; text-decoration:none; }
.visitor-stack-list a > :last-child:not(strong):not(small) { margin-left:auto; color:#8a96c3; font-size:10px; }
.visitor-stack-list strong { display:block; overflow:hidden; font-size:11px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.visitor-stack-list small { display:block; margin-top:2px; color:#7d8abe; font-size:9px; font-weight:600; }
.visitor-link-icon { display:grid; width:28px; height:28px; flex:0 0 28px; place-items:center; overflow:hidden; border-radius:8px; background:rgba(240,243,255,.85); color:#6473a9; }
.visitor-link-icon img { width:18px; height:18px; object-fit:contain; }
.visitor-poll-list form { display:grid; gap:9px; padding:16px; border-radius:14px; background:rgba(255,255,255,.78); }
.visitor-poll-list form > strong { display:block; margin:0 0 5px; color:#16234e; font-size:16px; line-height:1.4; }
.visitor-poll-list button { display:flex; width:100%; min-height:46px; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:11px 14px; border:1px solid rgba(75,92,145,.13); border-radius:10px; background:rgba(255,255,255,.9); color:#26346f; font:inherit; font-size:13px; font-weight:700; text-align:left; transition:background .2s ease, border-color .2s ease; }
.visitor-poll-list button:disabled { cursor:default; opacity:1; }
.visitor-poll-list button small { color:#6754b9; font-size:12px; font-weight:800; }
.visitor-poll-list button:not(:disabled):hover { background:#edf0ff; }
.visitor-question-form { display:grid; gap:8px; margin-bottom:14px; }
.visitor-question-form textarea { width:100%; resize:vertical; padding:10px; border:0; border-radius:11px; background:rgba(255,255,255,.72); color:#152063; font:inherit; font-size:11px; outline:0; }
.visitor-question-form button { width:auto; margin-left:auto; padding:8px 15px; border:0; border-radius:999px; background:#6139eb; color:#fff; font:inherit; font-size:10px; font-weight:800; }
.visitor-question-list article { display:block; }
.visitor-question-list small { white-space:normal; line-height:1.4; }
@media (min-width: 992px) {
    .public-visitor-canvas { padding: 24px 20px; }
    .public-visitor-device { height: min(851px, calc(100dvh - 96px)); min-height: 862px; }
}
@media (min-width: 768px) { .public-visitor-device .profile-visitor-preview-links { grid-template-columns:repeat(2, minmax(0, 1fr)); gap:10px; } }
@media (max-width: 767.98px) { .public-visitor-canvas { min-height:100dvh; padding:0; } .public-visitor-device { width:100%; height:100dvh; min-height:100dvh; border:0; border-radius:0; box-shadow:none; } .public-visitor-share { position:absolute; top:13px; right:13px; width:38px; height:38px; } .profile-visitor-preview--public .profile-visitor-preview-body { margin-right:0; margin-left:0; border-radius:24px 24px 0 0; } .profile-editor-question-actions,.profile-editor-question-settings { grid-template-columns:1fr; } .profile-editor-question-settings > button { min-height:42px; } }
@media (max-width: 767.98px) { .profile-visitor-preview--public[data-profile-theme="portrait"] .profile-visitor-preview-body { border-radius:0; padding:20px 20px max(20px, env(safe-area-inset-bottom)); } .profile-visitor-preview--public[data-profile-theme="portrait"] .profile-visitor-preview-body h2 { font-size:25px; } }
@media (max-width: 767.98px) { .profile-visitor-preview--public[data-profile-theme="prism"] .profile-visitor-preview-body { border-radius:0; padding:18px 20px max(20px, env(safe-area-inset-bottom)); } .profile-visitor-preview--public[data-profile-theme="prism"] .profile-visitor-preview-body h2 { font-size:25px; } }

body.public-visitor-profile-page.has-cover {
    background-image: linear-gradient(rgba(8, 14, 30, .43), rgba(8, 14, 30, .58)), var(--public-profile-cover);
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
}

@media (max-width: 991px) {
    body.public-visitor-profile-page.has-cover {
        background-image: linear-gradient(rgba(8, 14, 30, .12), rgba(8, 14, 30, .22)), var(--public-profile-cover);
    }
    .public-visitor-device .profile-visitor-preview--public.has-cover::before {
        inset: 0;
        filter: none;
        opacity: 1;
        transform: none;
    }
    .public-visitor-device .profile-visitor-preview--public.has-cover::after {
        background: linear-gradient(155deg, rgba(22, 41, 86, .06), rgba(239, 244, 255, .16) 58%, rgba(32, 72, 143, .06));
    }
}

@media (min-width: 992px) {
    body.public-visitor-profile-page.has-cover .public-visitor-device,
    .public-visitor-device .profile-visitor-preview--public.has-cover {
        background: transparent;
    }
    .public-visitor-device .profile-visitor-preview--public.has-cover::before,
    .public-visitor-device .profile-visitor-preview--public.has-cover::after {
        display: none;
    }
}
.public-visitor-device .profile-visitor-preview-bio { font-size: 15px; line-height: 1.5; }
.public-visitor-device .profile-visitor-preview-links strong {
    display: -webkit-box;
    overflow: hidden;
    font-size: 15px;
    line-height: 1.35;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.public-visitor-device .profile-visitor-preview-link { min-height: 72px; padding: 9px 12px; }
.public-visitor-device .profile-visitor-contact-list a { grid-template-columns: 36px minmax(0, 1fr); min-height: 62px; }
.public-visitor-device .profile-visitor-contact-list strong { font-size: 15px; }
.public-visitor-device .visitor-content-section h4 { font-size: 12px; }
.public-visitor-device .visitor-fact-list dt { font-size: 11px; }
.public-visitor-device .visitor-fact-list dd,
.public-visitor-device .visitor-stack-list strong { font-size: 14px; }
.public-visitor-device .visitor-stack-list small,
.public-visitor-device .visitor-chip-list span,
.public-visitor-device .visitor-country-chip strong { font-size: 12px; }
.public-visitor-device .visitor-poll-list button,
.public-visitor-device .visitor-question-form textarea { font-size: 13px; }
.public-visitor-device .profile-visitor-preview--public .profile-visitor-preview-tabs {
    margin-bottom: 0;
}
.public-visitor-device .profile-visitor-preview-content,
.public-visitor-device .profile-visitor-preview-panel .profile-visitor-preview-links { padding-bottom: 20px; }

@media (max-width: 767.98px) {
    body.public-visitor-profile-page.has-cover { background-attachment: scroll; }
    .public-visitor-device .profile-visitor-preview-links strong { font-size: 14px; }
}
