/* Social chrome inherits Levelingua's palette and mobile/desktop shell. */
.social-icon {width:24px;height:24px;flex:none;vertical-align:middle}
.tab .social-icon {width:24px;height:24px}
.tab[data-go="add"] .ic {color:inherit}
.tab {min-width:48px;min-height:48px;justify-content:center}
#screen-profile .profile-top {align-items:center}
#screen-profile .profile-avatar {position:relative;width:66px;height:66px;cursor:pointer;background:none}
.social-avatar {display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#f0e8f8;color:var(--secondary);font-size:25px;flex:none;overflow:hidden;border:2px solid white;box-shadow:0 0 0 1px #eee1d3}
.social-avatar img {width:100%;height:100%;object-fit:cover}
.profile-avatar>.social-avatar {width:66px;height:66px;font-size:34px}
.social-avatar.large {width:86px;height:86px;font-size:44px}
.social-camera {position:absolute;right:-2px;bottom:-2px;background:var(--secondary);color:#fff;border:2px solid #fff;border-radius:50%;width:25px;height:25px;display:grid;place-items:center}
.social-camera svg {width:14px;height:14px}
.profile-id {min-width:0;flex:1}
.profile-name {overflow-wrap:anywhere}
.profile-email {overflow-wrap:anywhere;font-size:12px}
#social-profile-location {font-size:12px;color:var(--muted);margin-top:3px}
#social-profile-edit {border:0;background:transparent;color:var(--secondary);padding:7px 0;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
#social-profile-counts {display:flex;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
#social-profile-counts button {flex:1;border:0;background:transparent;display:grid;gap:3px;min-height:44px;color:var(--text);font:inherit;cursor:pointer}
#social-profile-counts button+button {border-left:1px solid var(--line)}
#social-profile-counts b {font-size:20px}
#social-profile-counts span {color:var(--muted);font-size:12px}
.social-button {display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;border:1px solid transparent;border-radius:15px;background:var(--primary);color:#fff;padding:12px 15px;font:inherit;font-size:14px;font-weight:800;cursor:pointer;transition:filter .15s}
.social-button:hover {filter:brightness(.97)}
.social-button:disabled {opacity:.55;cursor:wait}
#social-pending-invite[hidden] {display:none}
#social-pending-invite:not([hidden]) {margin-bottom:14px}
.social-button.secondary {background:#f5eff9;color:var(--secondary);border-color:#e9ddf2}
.social-button:focus-visible,.social-person:focus-visible,.social-text-button:focus-visible,.social-avatar:focus-visible {outline:3px solid var(--secondary);outline-offset:3px}
#social-profile-invite {margin-top:12px}
#social-profile-note {font-size:11px;text-align:center;color:var(--muted);margin:10px 0 0}
.social-course-level {display:block;margin-top:3px;font-size:11px;color:var(--muted)}
.social-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.social-head h1 {margin:0}
#social-header-invite {height:44px;width:44px;border:1px solid #e6d6f3;border-radius:14px;background:#f2e9f9;color:var(--secondary);display:grid;place-items:center;cursor:pointer}
#social-friends-subtitle {color:var(--muted);font-size:14px;margin:5px 0 20px}
#social-tabs {display:flex;padding:4px;background:#ece2f2;border-radius:15px;gap:4px;margin-bottom:18px}
#social-tabs button {display:flex;justify-content:center;align-items:center;gap:7px;flex:1;border:0;border-radius:11px;background:transparent;color:#796488;min-height:43px;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
#social-tabs button[aria-pressed="true"] {background:#fff;color:var(--secondary);box-shadow:0 2px 5px #4c1d950d}
#social-tabs svg {width:19px;height:19px}
.social-filters {display:flex;gap:10px;margin-bottom:18px}
.social-filters label {flex:1;min-width:0;font-size:11px;color:var(--muted);font-weight:700}
.social-filters select {margin-top:6px}
.social-filters select,#social-dialog input:not([type="checkbox"]):not([type="file"]),#social-dialog select,#social-dialog textarea {display:block;width:100%;max-width:100%;border:1px solid #e7dace;border-radius:12px;background:#fff;color:var(--text);min-height:44px;padding:11px;font:inherit;font-size:16px;box-sizing:border-box}
.social-filters select {font-size:13px;font-weight:650;padding:11px 26px 11px 10px}
.social-week {display:flex;align-items:center;justify-content:space-between;gap:8px;font-weight:800;font-size:17px}
.social-week>span {display:flex;align-items:center;gap:8px}
.social-week svg {color:var(--primary);width:22px}
.social-info {min-width:32px;min-height:32px;border:0;background:transparent;color:var(--secondary);font-size:15px;font-weight:800;cursor:pointer}
.social-week-dates {font-size:12px;color:var(--muted);margin:4px 0 15px}
.social-search {display:flex;align-items:center;border:1px solid var(--line);border-radius:13px;background:#fff;margin-bottom:16px}
.social-search input {width:100%;min-width:0;border:0;background:transparent;padding:12px;font:inherit;font-size:14px;color:var(--text)}
.social-search button {border:0;background:transparent;color:var(--secondary);width:44px;height:44px;font-size:25px;cursor:pointer}
.social-rank-list {border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}
.social-person {width:100%;display:flex;align-items:center;gap:10px;padding:13px 12px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}
.social-person+.social-person {border-top:1px solid #f3ece5}
.social-person.is-me {background:#f3eafb}
.social-position {min-width:16px;color:var(--muted);font-size:13px;font-weight:700;text-align:center}
.social-person-name {flex:1;min-width:0}
.social-person-name>b {display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.social-person-name small {display:block;font-weight:500;color:var(--muted);font-size:11px;margin-top:3px}
.social-person-name b small {display:inline;color:var(--secondary)}
.social-person>strong {display:grid;text-align:right;font-size:17px;gap:2px}
.social-person>strong small {font-size:10px;font-weight:500;color:var(--muted)}
.social-podium {display:flex;align-items:flex-end;gap:8px;margin:22px 0 18px;padding-top:10px}
.podium-place {position:relative;flex:1;min-width:0;background:#eee6f6;border:1px solid #e6d9ee;border-radius:20px 20px 12px 12px;min-height:145px;padding:15px 6px 12px;display:flex;flex-direction:column;align-items:center;color:var(--text);font:inherit;gap:7px;cursor:pointer}
.podium-place.place-1 {background:#fff0d9;border-color:#f4d7a8;min-height:165px}
.podium-place.place-2 {min-height:137px;background:#f5ede4;border-color:#ede0d1}
.podium-number {position:absolute;top:-13px;background:var(--secondary);color:#fff;border:3px solid var(--bg);border-radius:50%;width:27px;height:27px;display:grid;place-items:center;font-size:12px;font-weight:850}
.place-1 .podium-number {background:var(--primary)}
.podium-place b {width:100%;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.podium-place small {color:var(--muted);font-size:12px}
.podium-place .social-avatar {width:49px;height:49px}
.place-1 .social-avatar {width:60px;height:60px;font-size:31px;margin-top:5px}
.social-invite-card {display:flex;align-items:center;gap:12px;text-align:left;background:#f1e9f9;border:1px solid #e9dbf5;border-radius:17px;width:100%;padding:16px;color:var(--secondary);font:inherit;margin-top:18px;cursor:pointer}
.social-invite-card>span:first-of-type {flex:1}
.social-invite-card b,.social-invite-card small {display:block}
.social-invite-card b {font-size:14px}
.social-invite-card small {font-size:11px;opacity:.8;margin-top:4px}
.social-invite-card>span:last-child {font-size:24px}
.social-empty {text-align:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:27px 22px;margin:12px 0}
.social-empty h2 {font-size:21px;line-height:1.18;margin:18px 0 10px;letter-spacing:-.035em}
.social-empty p {font-size:14px;line-height:1.5;color:var(--muted);margin:0 0 20px}
.social-empty-icon {display:grid;place-items:center;margin:0 auto;background:#f2eafa;width:77px;height:77px;border-radius:24px;color:var(--secondary);transform:rotate(-5deg)}
.social-empty-icon svg {width:40px;height:40px;transform:rotate(5deg)}
.social-my-week {display:grid;grid-template-columns:1fr auto;align-items:center;background:var(--secondary);color:#fff;border-radius:17px;padding:18px;margin-bottom:15px;gap:5px}
.social-my-week strong {grid-row:span 2;font-size:29px}
.social-my-week strong small {font-size:13px;font-weight:500}
.social-my-week>span:first-child {font-weight:800;font-size:14px}
.social-my-week>span:last-child {font-size:12px;opacity:.8}
.social-loading {padding:30px 15px;text-align:center;color:var(--muted)}
.social-list-caption {font-weight:750;color:var(--secondary)}
#social-dialog {margin:auto;border:0;border-radius:24px;padding:0;background:var(--bg);color:var(--text);width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 36px);box-shadow:0 24px 90px #20132e40;overflow:auto}
#social-dialog::backdrop {background:#19112477;backdrop-filter:blur(3px)}
.social-dialog-head {position:sticky;top:0;display:flex;align-items:center;gap:10px;padding:18px 20px 12px;background:var(--bg);z-index:2}
#social-dialog-title {flex:1;font-size:21px;line-height:1.2;margin:0;letter-spacing:-.035em}
#social-dialog-close {flex:none;border:0;border-radius:50%;background:#eee6df;width:36px;height:36px;font-size:23px;color:var(--muted);cursor:pointer}
#social-dialog-body {padding:4px 20px 22px;font-size:14px;line-height:1.5}
#social-dialog-body label:not(.social-switch) {display:block;font-size:13px;font-weight:700;margin:13px 0}
#social-dialog-body label>input,#social-dialog-body label>select,#social-dialog-body label>textarea {margin-top:6px}
.social-photo-edit {display:flex;justify-content:center;padding:6px 0 14px}
.social-photo-buttons,.social-share-options {display:flex;gap:8px;margin:10px 0}
.social-photo-buttons .social-button,.social-share-options .social-button {font-size:12px;padding:10px}
.social-switch {display:flex;align-items:center;gap:15px;margin:14px 0;padding:14px;background:#fff;border:1px solid var(--line);border-radius:15px;cursor:pointer}
.social-switch span {flex:1}
.social-switch b {font-size:13px;display:block}
.social-switch small {display:block;color:var(--muted);font-size:11px;line-height:1.45;margin-top:4px;font-weight:400}
.social-switch input {width:22px;height:22px;flex:none;accent-color:var(--secondary)}
.social-emoji {margin:18px 0;color:var(--secondary);font-weight:650}
.social-emoji summary {cursor:pointer;padding:8px 0}
.social-emoji>div {display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:10px}
.social-emoji button {border:1px solid var(--line);background:#fff;border-radius:12px;min-height:42px;font-size:24px;cursor:pointer}
.social-note {text-align:center;color:var(--muted);font-size:12px;line-height:1.45;margin:13px 0}
.social-error {color:#b91c1c;font-size:13px}
.social-error:empty {display:none}
.social-invite-hero,.social-person-detail {text-align:center;margin:10px 0 20px}
.social-invite-hero h3 {font-size:22px;margin:10px 0 0}
.social-invite-hero p {font-size:14px;line-height:1.5;color:var(--muted)}
.social-person-detail>strong {font-size:25px}
.social-person-detail>strong small {font-size:12px;color:var(--muted)}
.social-person-actions {display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.social-person-actions button,.social-text-button {background:none;border:0;color:var(--muted);font:inherit;font-size:12px;min-height:44px;cursor:pointer}
.social-text-button {display:block;margin:10px auto}
.social-person-actions button:last-child {color:#b1452d}
.social-level-tags {display:flex;justify-content:center;flex-wrap:wrap;gap:6px}
.social-level-tags span {border-radius:8px;background:#ece2f6;padding:6px 9px;color:var(--secondary);font-size:12px}
.social-blocked-row {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0}
.social-blocked-row button {border:0;background:#ece2f6;color:var(--secondary);border-radius:10px;padding:12px}
.social-explainer>svg {width:40px;height:40px;color:var(--primary);margin-top:12px}
.social-explainer p {line-height:1.6}
@media(max-width:350px){.social-person{gap:7px;padding:12px 9px}.social-person .social-avatar{width:36px;height:36px}.tab{font-size:10px}.social-filters{gap:7px}.social-empty{padding:25px 16px}}
@media(min-width:900px){html.web-desktop-capable #screen-friends{max-width:850px;margin:auto}html.web-desktop-capable .social-podium{gap:20px}html.web-desktop-capable .podium-place{min-height:185px}html.web-desktop-capable .podium-place.place-1{min-height:205px}}
@media(prefers-reduced-motion:reduce){.social-button{transition:none}}

/* A quieter Profile: one learning section, with no repeated mini-calendars. */
#screen-profile .profile-card {border:0;background:transparent;padding:4px 0 18px;margin:0;box-shadow:none}
#screen-profile .profile-name {font-size:22px;font-weight:750;letter-spacing:-.025em}
.profile-handle {font-size:13px;color:var(--muted);margin-top:4px;overflow-wrap:anywhere}
#screen-profile #social-profile-location {font-size:12px;margin-top:3px}
#screen-profile #social-profile-edit {padding:8px 0 2px;font-weight:600}
#screen-profile #social-profile-counts {border:0;padding-top:8px;margin:12px 0 0}
#screen-profile #social-profile-counts b {font-size:18px;font-weight:650}
#screen-profile #social-profile-counts span {font-size:11px}
#screen-profile #social-profile-counts button+button {border-color:#e9dfd3}
#screen-profile #social-profile-invite {min-height:42px;padding:9px 14px;border:1px solid #ded1e8;background:transparent;color:var(--secondary);font-size:13px;font-weight:650;border-radius:12px}
#screen-profile #social-profile-invite svg {width:20px;height:20px}
.profile-learning {background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px 16px 0;margin-bottom:18px;box-shadow:none}
.profile-learning-head {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.profile-learning-head h2 {font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0}
#profile-manage-courses {font:inherit;font-size:12px;color:var(--muted);border:0;background:none;padding:8px 0 8px 8px;min-height:38px;cursor:pointer}
#profile-courses .course-row {width:100%;border:0;background:none;color:var(--text);font:inherit;text-align:left;padding:14px 0;gap:11px;cursor:pointer}
#profile-courses .course-row+.course-row {border-top:1px solid #f1ece6}
#profile-courses .course-code {font-size:25px;background:none;width:30px;height:36px;border-radius:0;color:inherit}
#profile-courses .course-row-title {font-size:14px;font-weight:650;line-height:1.35}
#profile-courses .social-course-level {font-size:12px;margin-top:4px}
#profile-courses .cc-status.cur {background:none;color:var(--secondary);font-size:10px;letter-spacing:0;font-weight:600;padding:0;text-transform:none}
#profile-courses .course-streak {color:var(--muted);font-size:11px;font-weight:500;white-space:nowrap}
#profile-courses .course-chev {font-size:19px;color:#a89b8d}
.profile-study-context {border-top:1px solid var(--line);padding-top:15px;margin-top:3px;font-size:11px;line-height:1.4;color:var(--muted)}
#profile-streak {display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px 0 14px;margin:0;border-radius:0;box-shadow:none;background:none}
#profile-streak .streak-row {display:flex;flex-direction:column;align-items:flex-start;gap:4px}
#profile-streak .streak-line {font-size:12px;font-weight:500;color:var(--muted)}
#profile-streak .streak-row b {font-size:21px;font-weight:650;letter-spacing:-.035em}
#profile-streak .streak-status {grid-column:1/-1;font-size:12px;font-weight:400;line-height:1.45}
.profile-goal-line {width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;border:0;border-top:1px solid var(--line);background:none;color:var(--muted);font:inherit;font-size:12px;text-align:left;padding:11px 0;cursor:pointer}
#screen-profile .menu-list {border:0;border-radius:0;background:transparent;margin:0}
#screen-profile .menu-row {font-size:14px;font-weight:600;min-height:48px;padding:11px 0;gap:11px;border-color:#eee4d8}
#screen-profile .menu-ic {background:transparent;width:24px;height:24px;font-size:17px;border-radius:0}
#screen-profile .menu-row[data-profile-go="courses"],#screen-profile .menu-row[data-profile-go="goal"] {display:none}
.settings-account-email {font-size:13px;text-align:center;overflow-wrap:anywhere;color:var(--muted);margin:18px 0 0}
.settings-account-email[hidden] {display:none}
.social-username-input {display:flex;align-items:center;gap:7px;color:var(--muted);margin-top:6px;padding:0 11px;border:1px solid #e7dace;background:#fff;border-radius:12px;font-size:16px}
#social-dialog .social-username-input input {margin:0;padding:11px 0;border:0;background:transparent;min-width:0;border-radius:0}
.social-field-help {font-size:11px;color:var(--muted);font-weight:400;line-height:1.45;margin:-6px 0 14px}
.social-public-handle {color:var(--muted);font-size:13px;margin:8px 0}
#social-dialog-body>.social-button+.social-button {margin-top:8px}
@media(max-width:350px){#profile-courses .course-row-title{font-size:13px}#profile-courses .course-row{gap:8px}#profile-courses .course-code{width:26px;font-size:23px}#profile-courses .course-streak{display:none}.profile-learning{padding:15px 13px 0}}
