.bottomnav button,.sidebar nav button{position:relative}.friend-notification{display:inline-block;width:9px;height:9px;min-width:9px;border-radius:50%;background:#d75245;box-shadow:0 0 0 2px #fff;margin-left:auto}.bottomnav .friend-notification{position:absolute;top:7px;left:calc(50% + 10px)}.friends-view{--friend-border:#dfe8dc;--friend-muted:#5c7263;--friend-green:#246849;min-width:0}.friends-view h2{font-size:19px;letter-spacing:-.3px;margin:0}.friends-view .muted{color:var(--friend-muted);line-height:1.6}.friends-top-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:stretch;margin-bottom:30px}.friends-top-grid>*{min-width:0}.friends-view .friend-search{margin:0;padding:24px;border:1px solid var(--friend-border);border-radius:20px;background:#fff;box-shadow:0 4px 20px #17392e04}.friend-section-title{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:16px}.friend-section-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#edf4e8;color:var(--friend-green);flex-shrink:0}.friend-search .muted{margin:0 0 18px}.friends-view .searchbox{min-width:0;max-width:none;width:100%;margin:0;padding:0 12px;min-height:50px;border:1px solid #cbdac8;border-radius:12px;background:#fafcf8;gap:9px}.friend-search .searchbox:focus-within{outline:3px solid #43886024;border-color:#438860}.friend-search .searchbox input{width:100%;min-width:0;font-size:16px;background:transparent}.friend-search .searchbox>svg{flex-shrink:0}.friend-clear-search{display:grid;place-items:center;flex-shrink:0;width:44px;min-height:44px;background:transparent;color:var(--friend-muted)}.friend-search [role=alert],.friend-search [role=status]{font-size:13px;color:var(--friend-muted);line-height:1.6;margin:16px 0 0}.friends-view>p[role=status]{display:flex;align-items:center;gap:8px;font-size:13px}.friend-levels{display:flex;flex-direction:column;min-width:0;border:1px solid #d9e7d3;border-radius:20px;overflow:hidden;background:linear-gradient(120deg,#edf5e6,#e0edd7)}.friend-levels .level-summary{padding:18px;gap:14px;border:0;border-radius:0;min-height:0;flex:1 1;background:transparent}.friend-levels .level-summary>img{width:76px;height:76px}.friend-levels .level-score>strong{font-size:38px}.friend-levels .level-score>span{font-size:12px}.friend-levels .level-score small{line-height:1.5}.friendship-requests{margin:0 0 32px}.friend-count{font-size:11px;font-weight:600;padding:6px 10px;border-radius:20px;background:#f9eddb;color:#795516}.friend-request-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.friend-request-panel{padding:20px;background:#fff;border:1px solid var(--friend-border);border-radius:16px;min-width:0}.friend-request-panel h3{display:flex;gap:8px;align-items:center;font-size:14px;margin:0 0 14px}.friend-request-panel h3>svg{color:var(--friend-green)}.friend-request-panel h3 .smalltag{margin-left:auto;min-width:25px;text-align:center}.friend-request-panel>.muted{margin:0;font-size:13px}.friend-request{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid #edf1e9;flex-wrap:wrap}.friend-request:last-child{padding-bottom:0}.friend-search .friend-request{margin-top:12px}.friend-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 160px}.friend-identity strong{overflow-wrap:anywhere;min-width:0;font-size:14px;line-height:1.5}.friend-initials{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:#eef3e9;color:#476a43;font-size:11px;font-weight:700;border-radius:50%}.friend-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.friend-remove-confirm button,.friend-request button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:10px 13px;border-radius:10px;font-size:12px;font-weight:600;line-height:1.4}.friend-request .friend-action-primary{background:var(--friend-green);color:#fff}.friend-request .friend-action-secondary{background:#f2f5ef;color:#48614d;border:1px solid #e2e9dc}.friend-status{display:inline-flex;align-items:center;gap:5px;color:var(--friend-muted);font-size:12px}.friend-status-accepted{color:var(--friend-green);background:#edf4e8;padding:8px 10px;border-radius:20px}.friend-message{padding:14px 18px;background:#edf4e8;border:1px solid #dbe7d2;border-radius:12px;color:#24573e;font-size:14px}.friend-list-heading{margin-bottom:18px}.friend-list-heading h2{display:flex;align-items:center;gap:8px}.friend-list-heading p{margin:8px 0 0;font-size:13px}.friend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.friend-card{min-width:0;background:#fff;border:1px solid var(--friend-border);border-radius:18px;overflow:hidden;box-shadow:0 3px 14px #17392e03}.friend-open{display:flex;align-items:center;gap:12px;width:100%;min-height:108px;text-align:left;padding:20px 16px;background:transparent;color:#24573e}.friend-open>img{width:52px;height:52px;object-fit:contain;flex-shrink:0}.friend-open>span{flex:1 1;min-width:0;overflow-wrap:anywhere}.friend-open strong{font-size:14px;line-height:1.5}.friend-open small{display:block;margin-top:4px;font-size:11px;color:var(--friend-muted);line-height:1.5}.friend-open .friend-score{font-size:25px;letter-spacing:-.6px;text-align:center;white-space:nowrap;color:#24573e}.friend-score small{font-size:11px;font-weight:400;letter-spacing:0;margin-top:0}.friend-card-arrow{color:#7c947f;flex-shrink:0}.friend-card-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 10px;border-top:1px solid #edf1e9;background:#fafcf8;padding:4px 16px;min-height:46px}.friend-card-footer>span,.friend-remove{font-size:11px;color:var(--friend-muted)}.friend-remove{padding:8px 0;min-height:44px;background:transparent;text-decoration:underline;text-underline-offset:3px}.friend-remove-confirm{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 0;width:100%;font-size:13px}.friend-remove-confirm span{width:100%;overflow-wrap:anywhere;line-height:1.5}.friend-remove-confirm button{background:#edf3e8;color:#345b3d}.friend-remove-confirm button:first-of-type{background:#f9eae7;color:#9b4436}.friends-view .empty{padding:30px 20px;border:1px dashed #cadbc1;border-radius:18px;background:#f3f7ee}.friends-view .empty h3{font-size:17px;margin:12px 0 8px}.friends-view .empty p{max-width:380px;margin:0 auto;font-size:13px;color:var(--friend-muted)}.friends-view button:disabled{opacity:.5;cursor:wait}.friends-view button:focus-visible{outline:3px solid #438860;outline-offset:-3px}.friends-view svg{vertical-align:middle}@media(hover:hover){.friend-open:hover{background:#f4f8ef}.friend-request .friend-action-primary:hover{background:#1d543b}.friend-request .friend-action-secondary:hover{background:#e8efdf}.friend-remove:hover{color:#9b4436}}@media(min-width:851px) and (max-width:1100px){.friends-top-grid{grid-template-columns:1fr}.friend-levels{flex-direction:row;align-items:stretch}.friend-levels .friend-level-guide-button{border-top:0;border-left:1px solid #d1e1c9;max-width:190px;gap:20px}.friend-grid{grid-template-columns:1fr}.friend-request-columns{gap:12px}}@media(max-width:650px){.friends-top-grid{grid-template-columns:1fr;gap:16px;margin-bottom:26px}.friends-view .friend-search{padding:18px;border-radius:16px}.friend-request-columns{grid-template-columns:1fr;gap:12px}.friend-request-panel{padding:18px}.friend-grid{grid-template-columns:1fr;gap:12px}.friend-levels .level-summary{min-height:0;padding:15px}.friend-section-title{margin-bottom:12px}.friends-view h2{font-size:18px}.friendship-requests{margin-bottom:26px}.friend-open{padding:16px;min-height:96px}.friend-card-footer{padding:2px 16px}.friend-search .muted{font-size:12px}.friend-request .friend-actions{flex:1 1 100%}.friend-actions>button{flex:1 1}.friend-actions .friend-status{margin-right:auto}.friend-request>.friend-action-primary{flex:1 1 100%}}@media(max-width:360px){.friend-open{gap:8px;padding:14px 12px}.friend-open>img{width:42px;height:42px}.friend-card-arrow{display:none}.friend-open .friend-score{font-size:23px}.friend-levels .level-summary>img{width:62px;height:62px}.friend-levels .level-score>strong{font-size:32px}}@media(prefers-reduced-motion:reduce){.friends-view .spinner{animation:none}}.friend-request-panel .friend-identity{flex-basis:100%}.friend-request-panel .friend-actions{width:100%;justify-content:flex-end}.friend-request-panel .friend-actions .friend-status{margin-right:auto}.friend-level-guide-button{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;min-height:48px;flex-shrink:0;border-top:1px solid #d1e1c9;background:#ffffff50;color:#24573e;font-size:13px;font-weight:600;text-align:left}.friend-level-guide-button:hover{background:#ffffff90}.friend-level-dialog{width:min(640px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid #dce6d5;border-radius:22px;color:#17392e;background:#fff;box-shadow:0 24px 80px #17392e35;overscroll-behavior:contain}.friend-level-dialog::-webkit-backdrop{background:#17392e80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.friend-level-dialog::backdrop{background:#17392e80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.friend-level-dialog-body{padding:26px}.friend-level-dialog header{display:flex;align-items:center;justify-content:space-between;gap:12px}.friend-level-dialog header .eyebrow{margin-bottom:8px}.friend-level-dialog header h2{font-size:24px}.friend-level-dialog header button{display:grid;place-items:center;min-width:44px;height:44px;border-radius:50%;background:#f0f4ed;color:#345a43}.friend-level-dialog p{color:#5c7263;font-size:14px;line-height:1.6;margin:18px 0}.friend-level-dialog .level-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0}.friend-level-dialog .level-grid>div{padding:16px 8px;gap:6px;border:1px solid #e6edde}.friend-level-number{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#607464}.friend-level-dialog .level-grid strong{font-size:14px}.friend-level-dialog .level-grid img{object-fit:contain;max-width:100%}@media(max-width:650px){.friend-levels{border-radius:16px}.friend-level-dialog-body{padding:20px}.friend-level-dialog .level-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.friend-level-dialog .level-grid>div{padding:12px 6px}.friend-level-dialog .level-grid img{width:58px;height:58px}.friend-level-dialog p{font-size:13px}}