.friends-card,#friend-profile-dialog{--fr-ink:#182b46;--fr-sub:#526581;--fr-line:#dbe4ef;--fr-panel:#fff;--fr-soft:#f5f8fd;--fr-link:#3446b8;color:var(--fr-ink)}.friends-card{grid-column:1/-1;min-width:0}.fr-card-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.fr-card-header h2{margin:6px 0 0;font-size:1.35rem}.fr-small-label{display:block;color:var(--fr-sub);font-size:.75rem;line-height:1.6;letter-spacing:.09em;font-weight:750}.fr-count{font-size:.875rem;color:var(--fr-sub);white-space:nowrap}.fr-consent{font-size:1rem;line-height:1.8;color:var(--fr-sub);max-width:76ch;margin:0 0 18px}.fr-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fr-actions .button{min-height:44px;font-size:.875rem}.fr-invite-actions>span{font-size:.875rem;color:var(--fr-sub)}.fr-empty{display:flex;align-items:center;gap:19px;padding:25px 0 4px;margin-top:23px;border-top:1px solid var(--fr-line)}.fr-empty>span{width:54px;height:54px;flex-shrink:0;display:grid;place-items:center;background:var(--fr-soft);border-radius:13px;color:var(--fr-link)}.fr-connection-icon{width:40px;height:40px;display:block}.fr-empty h3{font-size:1rem;margin:0 0 7px}.fr-empty p{font-size:1rem;line-height:1.8;color:var(--fr-sub);max-width:57ch;margin:0}.fr-status{font-size:.875rem;line-height:1.75;color:var(--fr-link);margin:16px 0 0}.fr-status:empty{display:none}.fr-friend-list{list-style:none;padding:0;margin:24px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}.fr-friend-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 8px;align-items:center;min-width:0;border-top:1px solid var(--fr-line);padding:14px 0}.fr-view-friend{display:flex;align-items:center;gap:13px;min-width:0;min-height:66px;border:0;border-radius:10px;background:transparent;padding:7px;text-align:left;color:var(--fr-ink);cursor:pointer}.fr-view-friend:hover{background:var(--fr-soft)}.fr-avatar{display:block;flex-shrink:0;width:43px;height:43px;border-radius:12px;overflow:hidden}.fr-avatar .profile-photo,.fr-large-avatar .profile-photo{width:100%;height:100%;object-fit:cover;display:block}.fr-friend-copy{min-width:0;display:block}.fr-friend-copy strong{font-size:1rem;line-height:1.6;display:block;overflow-wrap:anywhere}.fr-friend-copy small,.fr-friend-copy>span{display:block;color:var(--fr-sub);font-size:.875rem;line-height:1.7}.fr-remove-button,.fr-text-button{background:transparent;border:0;min-height:44px;padding:7px 6px;color:var(--fr-link);font-size:.875rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.fr-remove-confirm{grid-column:1/-1;border:1px solid var(--fr-line);background:var(--fr-soft);border-radius:11px;padding:16px;margin:6px 0}.fr-remove-confirm p{font-size:1rem;line-height:1.8;margin:0 0 14px;color:var(--fr-sub)}.fr-danger-button{min-height:44px;border:1px solid #a73541;border-radius:9px;padding:10px 14px;background:#fff2f3;color:#8c2834;font-weight:700;font-size:.875rem;cursor:pointer}.fr-invite-review{padding:21px;border:1px solid #c5d4f1;border-radius:13px;background:#f4f6ff;margin:25px 0}.fr-invite-review h3{font-size:1.15rem;line-height:1.6;margin:7px 0 13px;overflow-wrap:anywhere}.fr-invite-review p{font-size:1rem;line-height:1.8;color:var(--fr-sub);margin:0 0 14px}.fr-inviter{display:flex;align-items:center;gap:12px;margin:15px 0 18px}.fr-inviter>span:last-child{min-width:0}.fr-inviter strong{display:block;font-size:1rem;overflow-wrap:anywhere}.fr-inviter small{display:block;color:var(--fr-sub);font-size:.875rem}.fr-expiry{display:block;color:var(--fr-sub);font-size:.75rem;line-height:1.7;margin-bottom:17px}.fr-link-details{border-top:1px solid var(--fr-line);margin-top:24px}.fr-link-details summary{font-size:.875rem;font-weight:700;line-height:1.5;min-height:48px;padding:15px 0;cursor:pointer}.fr-link-body p{font-size:.875rem;color:var(--fr-sub);line-height:1.8;margin:0 0 14px}.fr-link-body label{display:block;font-size:.875rem;font-weight:700;margin-bottom:9px}.fr-link-body input{display:block;width:100%;min-width:0;border:1px solid #9eadc8;border-radius:9px;padding:12px;font:400 .875rem 'DM Sans',sans-serif;background:var(--fr-panel);color:var(--fr-ink);min-height:46px}.fr-link-body .fr-actions{margin:14px 0 3px}.friends-card :focus-visible,#friend-profile-dialog :focus-visible{outline:3px solid #bc7700;outline-offset:4px}.friends-card button:disabled{opacity:.6;cursor:default}.friends-card [hidden],#friend-profile-dialog [hidden]{display:none!important}#friend-profile-dialog{width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:26px;border:1px solid var(--fr-line);border-radius:20px;background:var(--fr-panel);box-shadow:0 20px 80px #07112a66;overflow:auto}#friend-profile-dialog::backdrop{background:#09142c99}.fr-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.fr-dialog-header h2{font-size:1.4rem;line-height:1.5;margin:5px 0 0;overflow-wrap:anywhere}.fr-dialog-header>div{min-width:0}.fr-dialog-header button{min-height:44px;flex-shrink:0}.fr-dialog-status{font-size:1rem;color:var(--fr-sub);line-height:1.8;padding:16px 0;margin:0}.fr-profile-banner{display:flex;align-items:center;gap:20px;padding:25px;border-radius:14px;color:#fff;overflow:hidden}.fr-large-avatar{display:block;width:74px;height:74px;border-radius:19px;overflow:hidden;flex-shrink:0}.fr-profile-banner>div{min-width:0}.fr-profile-banner h3{font-size:1.4rem;line-height:1.5;overflow-wrap:anywhere}.fr-profile-banner p{font-size:1rem;line-height:1.8;margin:6px 0 9px;color:#eff4ff;overflow-wrap:anywhere}.fr-focus{display:inline-block;font-size:.875rem;line-height:1.5;padding:5px 8px;border:1px solid #ffffff70;border-radius:6px;background:#13203a70;color:#fff}.fr-bio{font-size:1rem;line-height:1.85;color:var(--fr-sub);white-space:pre-line;overflow-wrap:anywhere;margin:20px 0 0}.fr-profile-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 26px;padding:20px 0;border-top:1px solid var(--fr-line);border-bottom:1px solid var(--fr-line)}.fr-profile-metrics>div{min-width:0}.fr-profile-metrics dt{font-size:.875rem;line-height:1.7;color:var(--fr-sub)}.fr-profile-metrics dd{font:750 1.35rem/1.6 Sora,sans-serif;margin:5px 0 0;overflow-wrap:anywhere}.fr-profile-courses h3,.fr-profile-badges h3{font-size:1.1rem;margin:0 0 17px}.fr-profile-courses>p,.fr-profile-badges>p{color:var(--fr-sub);font-size:1rem;line-height:1.8;margin:0}.fr-profile-courses ul{list-style:none;padding:0;margin:0 0 27px}.fr-profile-courses li{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--fr-line);padding:13px 0;min-width:0}.fr-profile-courses li>div{min-width:0}.fr-profile-courses strong{font-size:1rem;display:block;line-height:1.7;overflow-wrap:anywhere}.fr-profile-courses small{font-size:.75rem;line-height:1.7;color:var(--fr-sub)}.fr-profile-courses li>span{font-size:.875rem;color:var(--fr-sub);text-align:right;flex-shrink:0}.fr-profile-badges{margin-top:28px}.fr-earned-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.fr-earned-badge{min-width:0;background:var(--fr-soft);border:1px solid var(--fr-line);border-radius:11px;padding:13px 10px;color:var(--fr-ink)}.fr-earned-badge summary{cursor:pointer;list-style:none;text-align:center}.fr-earned-badge summary::-webkit-details-marker{display:none}.fr-earned-badge strong{font-size:.875rem;line-height:1.7;display:block;overflow-wrap:anywhere}.fr-badge-art{display:block;width:80px;max-width:100%;margin:0 auto 8px}.fr-badge-art svg{display:block;width:100%;height:auto}.fr-earned-badge p{font-size:.875rem;line-height:1.8;color:var(--fr-sub);margin:13px 0 0}.fr-profile-note{font-size:.75rem;line-height:1.8;color:var(--fr-sub);border-top:1px solid var(--fr-line);padding-top:18px;margin:25px 0 0}.friend-entry-notice{border:1px solid #b9dfcb;border-radius:10px;padding:13px;background:#eaf9f1;color:#155b40;font-size:.875rem;line-height:1.8;margin:0 0 24px}
html[data-theme=dark] .friends-card,html[data-theme=dark] #friend-profile-dialog{--fr-ink:#eff4fc;--fr-sub:#bdcde4;--fr-line:#465b7b;--fr-panel:#19263e;--fr-soft:#14243b;--fr-link:#c9d4ff}html[data-theme=dark] .fr-invite-review{background:#233454;border-color:#5b6d96}html[data-theme=dark] .friends-card .button.secondary,html[data-theme=dark] #friend-profile-dialog .button.secondary{background:#233650;color:#e1eaff;border-color:#647b9e;box-shadow:0 2px 0 #0c1628}html[data-theme=dark] .fr-danger-button{background:#472c37;color:#ffdae0;border-color:#ac7184}html[data-theme=dark] .fr-link-body input{border-color:#6e82a3}html[data-theme=dark] .friends-card :focus-visible,html[data-theme=dark] #friend-profile-dialog :focus-visible{outline-color:#f5c775}html[data-theme=dark] .friend-entry-notice{background:#1c4034;color:#c4f3d8;border-color:#5e957c}
@media(max-width:850px){.fr-friend-list{grid-template-columns:minmax(0,1fr)}.fr-earned-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:540px){.fr-card-header{gap:12px;align-items:flex-start;flex-wrap:wrap}.fr-card-header h2{font-size:1.2rem}.fr-count{font-size:.875rem}.fr-empty{align-items:flex-start;gap:13px}.fr-empty>span{width:41px;height:43px;border-radius:10px}.fr-connection-icon{width:32px;height:32px}.fr-view-friend{gap:10px;padding:6px 0}.fr-avatar{width:36px;height:36px;border-radius:10px}.fr-friend-copy strong{font-size:1rem}.fr-remove-button{padding-inline:3px;font-size:.875rem}.fr-friend-row{gap:5px 7px}.fr-invite-review{padding:18px 15px}.fr-invite-review h3{font-size:1rem}.fr-invite-actions .button{width:100%}.fr-invite-actions{gap:12px}.fr-invite-actions>span{font-size:.875rem}.fr-inviter small{font-size:.875rem}#friend-profile-dialog{padding:20px 17px;width:calc(100vw - 24px)}.fr-dialog-header{gap:13px}.fr-dialog-header h2{font-size:1.2rem}.fr-dialog-header .button{padding-inline:12px}.fr-profile-banner{padding:18px 15px;gap:14px;align-items:flex-start;flex-wrap:wrap}.fr-large-avatar{width:58px;height:58px;border-radius:15px}.fr-profile-banner>div{flex:1;min-width:130px}.fr-profile-banner h3{font-size:1.1rem}.fr-profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.fr-profile-metrics dd{font-size:1.15rem}.fr-profile-courses li{flex-wrap:wrap;gap:5px}.fr-profile-courses li>span{text-align:left;flex-basis:100%}.fr-earned-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fr-badge-art{width:68px}.fr-earned-badge{padding:12px 8px}}@media(prefers-reduced-motion:reduce){.friends-card button,#friend-profile-dialog button{transition:none}}
.fr-earned-badge{--badge-accent:#4b4ece;--badge-metal:#8f8bfd;--badge-light:#f2efff;--badge-soft:#edeaff;--badge-deep:#373894}
