/* Host resets only; visual component rules stay in the supplied sn-profile.css. */
#profModal.sn-profile,.account-dialog.sn-profile{padding:0;width:min(520px,100%);max-height:92vh;border-radius:26px;background:var(--sn-surface);border:1px solid var(--sn-line-strong);box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(30px) scale(.94);transition:transform .45s var(--sn-ease);font-family:var(--sn-font);color:var(--sn-text)}
#profOverlay.open #profModal.sn-profile,.account-overlay.open .account-dialog.sn-profile{transform:none}
#profOverlay,.account-overlay:has(.sn-profile){padding:1rem;background:rgba(10,7,18,.72);backdrop-filter:blur(6px)}
#profBody.sn-root,.account-profile-card.sn-root{padding:0;margin:0;text-align:left;background:transparent;border:0;border-radius:0;display:block;font-family:var(--sn-font);color:var(--sn-text);letter-spacing:normal;line-height:normal}
#profBody.sn-root>*,.account-profile-card.sn-root>*{animation:none}
#profClose.sn-profile-close,.account-close.sn-profile-close{position:absolute;top:.8rem;right:.8rem;z-index:3;width:34px;height:34px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sn-line-strong);border-radius:999px;background:rgba(0,0,0,.35);color:var(--sn-text);font:inherit;font-size:.9rem;line-height:normal;box-shadow:none}
.sn-root .sn-profile-avatar{position:relative;flex:none}
.sn-profile-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.sn-profile-status{position:absolute;right:0;bottom:0;width:14px;height:14px;border:3px solid var(--sn-surface);border-radius:50%;background:var(--sn-muted)}
.sn-profile-status[data-status=online]{background:var(--sn-mint)}
.sn-profile-status[data-status=idle]{background:var(--sn-dusk)}
.sn-root .sn-profile-id{min-width:0;overflow-wrap:anywhere}
.sn-root .sn-profile-id h2{font-family:inherit;font-weight:700;letter-spacing:normal;color:var(--sn-text);line-height:normal}
.sn-root .sn-bio{white-space:pre-wrap;overflow-wrap:anywhere}
.sn-root .sn-langs{height:auto;min-height:0;justify-content:flex-start}
.sn-root .sn-chip{letter-spacing:normal;line-height:normal}
.sn-root button.sn-chip{font-family:inherit;cursor:pointer;background:transparent}
.sn-root .sn-tab{border-radius:0;box-shadow:none;letter-spacing:normal;line-height:normal;min-height:0}
.sn-root .sn-btn{letter-spacing:normal;line-height:normal;min-height:0;text-decoration:none}
.sn-root .sn-profile-actions{flex-wrap:wrap}
.sn-root .sn-profile-actions .sn-btn{min-width:100px}
.sn-root .sn-extra-details{margin:0 0 1rem;color:var(--sn-muted);font-size:.75rem;line-height:1.6}
.sn-root .sn-extra-details p{margin:.3rem 0}
.sn-root .sn-honor-note{margin:.55rem 0 0;font-size:.7rem;color:var(--sn-muted)}
.sn-root [hidden]{display:none!important}
.sn-root .sn-heat i:focus-visible{outline:2px solid var(--sn-sakura)}

/* Requested profile refinements. */
#profModal.sn-profile,.account-dialog.sn-profile{scrollbar-width:thin;scrollbar-color:rgba(244,167,192,.48) transparent;overflow-x:hidden;overscroll-behavior:contain}
#profModal.sn-profile::-webkit-scrollbar,.account-dialog.sn-profile::-webkit-scrollbar{width:6px}
#profModal.sn-profile::-webkit-scrollbar-track,.account-dialog.sn-profile::-webkit-scrollbar-track{background:transparent;margin:26px 0}
#profModal.sn-profile::-webkit-scrollbar-thumb,.account-dialog.sn-profile::-webkit-scrollbar-thumb{background:rgba(244,167,192,.48);border-radius:999px}
.sn-root .sn-heat{width:100%;grid-template-columns:repeat(13,minmax(0,1fr));grid-auto-columns:minmax(0,1fr);grid-template-rows:repeat(7,auto);gap:4px;padding:4px 0}
.sn-root .sn-heat i{width:100%;height:100%;min-width:0}
.sn-root .sn-heat-cap{text-align:center}
.sn-root .sn-btn--danger:hover,.sn-root .sn-btn--danger:focus-visible{color:#ff9caa;border-color:#ef687f;background:rgba(220,62,89,.16);box-shadow:0 0 14px rgba(220,62,89,.12)}
.sn-root .sn-fav-title{display:block;text-align:left;box-sizing:border-box;padding:1.6rem .55rem .5rem;line-height:1.35;font-weight:600;letter-spacing:normal;white-space:normal;overflow-wrap:anywhere;max-height:none;text-wrap:pretty}
.sn-favorite-editor{margin-top:1rem}
.sn-favorite-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sn-favorite-heading h5{margin:0}
.sn-favorite-count{font-size:.8rem;color:var(--sn-muted);white-space:nowrap}
.sn-favorite-selected{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.sn-favorite-row,.sn-favorite-result{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--sn-line);border-radius:14px;background:rgba(255,255,255,.02);min-width:0}
.sn-favorite-cover{width:36px;height:50px;flex:none;display:grid;place-items:center;overflow:hidden;border-radius:6px;background:var(--sn-surface-2);color:var(--sn-muted)}
.sn-favorite-cover img{width:100%;height:100%;object-fit:cover}
.sn-favorite-info{display:flex;gap:8px;align-items:baseline;flex:1;min-width:0}
.sn-favorite-position{font-size:.75rem;color:var(--sn-muted);flex:none}
.sn-favorite-title{font-size:.875rem;line-height:1.4;overflow-wrap:anywhere;min-width:0;flex:1}
.sn-favorite-controls{display:flex;gap:4px;flex:none}
.sn-favorite-editor .sn-btn{padding:.4rem .6rem;font-size:.8rem;justify-content:center;min-height:34px}
.sn-favorite-editor .sn-btn:disabled{opacity:.4;cursor:default;transform:none;box-shadow:none}
.sn-favorite-empty{padding:16px;border:1px dashed var(--sn-line);border-radius:12px;font-size:.875rem;color:var(--sn-muted)}
.sn-favorite-search-label{display:block;font-size:.875rem;margin:16px 0 8px}
.sn-favorite-editor input{width:100%}
.sn-favorite-results{max-height:320px;overflow:auto;display:grid;gap:6px;scrollbar-width:thin}
.sn-favorite-save-note{margin-top:12px!important}
@media(max-width:480px){.sn-favorite-row{flex-wrap:wrap}.sn-favorite-info{flex-basis:calc(100% - 60px)}.sn-favorite-controls{margin-left:auto}.sn-favorite-results{max-height:260px}}

.sn-root .sn-fav-label{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left}

.sn-favs-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:.7rem 0 0}.sn-favs-footer .sn-favs-credit{margin:0 0 0 auto}.sn-favs-edit{font-size:.8rem;color:var(--sn-sakura);text-underline-offset:3px}.sn-favs-edit:hover{text-decoration:underline}.sn-favs-edit:focus-visible{outline:2px solid var(--sn-sakura);outline-offset:3px}
