/* Profile photo albums — themed, mobile-first, no global style overrides */
.seAlbumBar{display:flex;align-items:center;gap:16px;margin:18px 0 20px;min-height:44px}
.seAlbumBar h2{font-size:clamp(20px,5vw,26px);font-weight:700;line-height:1.3;margin:0}
.seAlbumBack{border:1px solid rgba(112,170,220,.28);background:rgba(30,70,100,.15);border-radius:13px;min-width:44px;height:44px;color:inherit;font-size:30px}
.seAlbumSub,.seAlbumEmpty{opacity:.7;padding:20px 6px;font-size:14px}
.seAlbumsGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:14px;max-width:800px}
.seAlbumTile{border:1px solid rgba(112,170,220,.19);padding:0;overflow:hidden;background:rgba(60,95,135,.10);border-radius:16px;text-align:left;color:inherit;display:flex;flex-direction:column;min-width:0;cursor:pointer}
.seAlbumTile>img,.seAlbumPlaceholder{height:150px;width:100%;object-fit:cover;display:flex;align-items:center;justify-content:center;font-size:45px;background:rgba(70,120,175,.08)}
.seAlbumTileInfo{padding:12px 13px;display:flex;flex-direction:column;gap:5px;min-height:58px}
.seAlbumTileInfo b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.seAlbumTileInfo small{opacity:.65}
.seAlbumNew{display:flex;flex-wrap:wrap;gap:10px;max-width:560px;margin:24px 0}
.seAlbumNew input{flex:1 1 190px;border-radius:12px;border:1px solid rgba(112,170,220,.32);background:rgba(0,0,0,.12);color:inherit;padding:12px;min-height:44px}
.seAlbumNew button,.seAlbumUpload,.seAlbumMore{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(83,156,255,.42);border-radius:12px;background:rgba(53,156,255,.14);color:inherit;padding:12px 16px;min-height:44px;cursor:pointer}
.seAlbumUpload{margin:0 0 12px}.seUploadStatus{display:inline-block;margin-left:12px;font-size:12px;opacity:.7}
.sePhotoGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-width:820px}
.sePhotoTile{padding:0;border:0;border-radius:5px;background:rgba(80,140,200,.10);aspect-ratio:1/1;overflow:hidden;cursor:pointer}
.sePhotoTile img{width:100%;height:100%;display:block;object-fit:cover}
.seAlbumMore{margin:18px 0}
.seUserPhotosButton{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:14px;padding:14px 18px;text-align:left;color:inherit;border:1px solid rgba(112,170,220,.24);background:rgba(70,110,145,.09);font-size:15px;font-weight:650;margin:18px 0}
.seUserPhotosButton span:last-child{font-size:25px;font-weight:300}
.sePhotoViewer{position:fixed;inset:0;z-index:2147483000;background:rgba(0,0,0,.985);color:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;overscroll-behavior:contain}
.sePhotoViewerBar{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) 14px 12px;z-index:4;background:linear-gradient(180deg,rgba(0,0,0,.7),transparent)}
.sePhotoViewerBar button,.sePhotoSheetTitle button{color:#fff;background:rgba(30,30,30,.55);border:1px solid rgba(255,255,255,.2);border-radius:12px;min-height:43px;min-width:43px;padding:8px}
.sePhotoViewerBar button:first-child{font-size:29px;line-height:1}
.sePhotoViewerBar span{font-size:13px;font-variant-numeric:tabular-nums}
.sePhotoStage{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.sePhotoStage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-select:none;will-change:transform}
.sePhotoPrev,.sePhotoNext{position:absolute;top:50%;transform:translateY(-50%);z-index:2;color:#fff;background:rgba(15,15,15,.5);border:1px solid rgba(255,255,255,.20);font-size:28px;border-radius:50%;width:42px;height:42px;cursor:pointer}
.sePhotoPrev{left:10px}.sePhotoNext{right:10px}
.sePhotoPrev:disabled,.sePhotoNext:disabled{opacity:.15}
.sePhotoHint{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:12px;right:12px;text-align:center;font-size:11px;opacity:.66;pointer-events:none}
.sePhotoSheet{position:absolute;bottom:0;left:0;right:0;z-index:6;max-height:min(76dvh,690px);min-height:260px;overflow:auto;background:rgba(23,27,34,.98);border-top:1px solid rgba(120,160,220,.35);border-radius:20px 20px 0 0;padding:10px 16px calc(20px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 48px rgba(0,0,0,.5);overscroll-behavior:contain}
.sePhotoSheet[hidden]{display:none}
.sePhotoSheetHandle{width:38px;height:4px;background:#7d8793;border-radius:5px;margin:0 auto 14px}
.sePhotoSheetTitle{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.sePhotoSheetTitle b{font-size:16px}
.sePhotoReactions{display:flex;flex-wrap:wrap;gap:9px;padding-bottom:18px}
.sePhotoReactions button{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);color:inherit;border-radius:22px;min-height:41px;padding:6px 12px;font-size:21px;display:flex;align-items:center;gap:6px}
.sePhotoReactions button.selected{border-color:#59a6ff;background:rgba(48,117,198,.28)}
.sePhotoReactions small{font-size:11px;color:#bfc4ca}
.sePhotoComments{max-height:240px;overflow:auto}
.sePhotoComment{margin:0 0 13px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:10px}
.sePhotoComment b{font-size:12px;color:#a9cbea}
.sePhotoComment p{font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45;margin:6px 0}
.sePhotoNoComments{font-size:13px;opacity:.7}
.seCommentForm{display:flex;gap:9px;align-items:center;padding:12px 0 0}
.seCommentForm input{background:rgba(255,255,255,.07);color:#fff;border:1px solid rgba(255,255,255,.17);border-radius:12px;min-width:0;min-height:44px;flex:1;padding:10px 12px}
.seCommentForm button{border:1px solid rgba(83,156,255,.5);border-radius:12px;min-height:44px;background:rgba(60,135,220,.2);color:#fff;padding:8px 12px}
@media (max-width:600px){.seAlbumTile>img,.seAlbumPlaceholder{height:125px}.sePhotoPrev,.sePhotoNext{display:none}.sePhotoGrid{gap:3px}.sePhotoHint{font-size:10px}}
