.photos-app:not(.camera){background:var(--bg,#fff);color:var(--text,#171719)}
.photos-app .photo-library-header{position:relative;z-index:3;align-items:flex-start;padding:20px 18px 12px;gap:8px;min-height:98px;background:color-mix(in srgb,var(--bg,#fff) 90%,transparent);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.photos-app .photo-heading{min-width:0;flex:1}.photos-app .photo-heading h1{font-size:34px;font-weight:750;letter-spacing:-1px;line-height:1.15;overflow-wrap:anywhere}
.photos-app .photo-local-status{display:flex;align-items:center;justify-content:flex-start;gap:4px;width:auto;height:auto;background:none;border-radius:0;padding:6px 0 0;color:#8e8e93;font-size:12px;white-space:nowrap}.photo-local-status .ui-icon{width:14px;height:14px}
.photo-top-actions{display:flex;gap:7px;align-items:center}.photos-app .photo-top-actions button{display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0;width:36px;height:36px;background:#8881}.photos-app .photo-top-actions .photo-select{width:auto;min-width:53px;padding:0 12px;border-radius:24px;font-size:14px;font-weight:600}.photo-top-actions .ui-icon{width:21px;height:21px}
.photos-app:not(.camera) .photo-scroll{padding-bottom:106px;overscroll-behavior:contain}.photos-app .photo-grid{gap:1px}.photos-app .photo-grid>button{position:relative;display:block}.photo-check{position:absolute;right:7px;bottom:7px;border:1.5px solid #fff;border-radius:50%;width:22px;height:22px;color:white;background:#0002;display:grid;place-items:center;font-size:14px}.photo-check.checked{background:#007aff;border-color:white}.photo-favorite-badge{position:absolute;left:6px;bottom:5px;color:white;text-shadow:0 1px 4px #0008;font-size:14px}.photo-count{text-align:center;font-size:13px;color:#8e8e93;padding:14px}.photos-app .photo-empty{padding:100px 22px 50px}.photos-app .photo-empty h2{color:inherit}.photo-import-pill{display:inline-block;padding:11px 21px;background:#007aff;color:white;border-radius:24px;margin-top:14px;font-size:15px}
.photo-bottom-bar{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:18px;right:18px;display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:4;pointer-events:none}.photo-bottom-bar>*{pointer-events:auto}.photo-tab-pill,.photos-app .photo-search-button{background:color-mix(in srgb,var(--bg,#fff) 85%,transparent);border:1px solid #aaa3;box-shadow:0 5px 24px #0000000a,inset 0 1px 2px #fff8;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.photo-tab-pill{display:flex;border-radius:38px;padding:4px;min-width:200px}.photos-app .photo-tab-pill button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;width:99px;height:58px;border-radius:30px;font-size:11px;font-weight:600}.photo-tab-pill .ui-icon{width:29px;height:29px}.photos-app .photo-tab-pill button.active{color:#007aff;background:#8881}.photos-app .photo-search-button{width:62px;height:62px;padding:0;border-radius:50%;display:grid;place-items:center}.photo-search-button .ui-icon{width:29px;height:29px}
.photo-collections{padding-top:10px}.photo-collection-section{margin-bottom:25px}.photo-section-title{display:flex;align-items:center;justify-content:space-between;padding:10px 20px 13px}.photo-section-title h2{margin:0;font-size:23px;font-weight:700}.photo-section-title h2>span{color:#999;margin-left:4px}.photos-app .photo-section-title button{width:26px;height:26px;border-radius:50%;padding:5px;color:#007aff;background:#8881;display:grid;place-items:center}.photo-section-title .ui-icon{width:16px;height:16px}.photo-card-rail{display:flex;gap:10px;overflow-x:auto;padding:0 20px 7px;scrollbar-width:none;scroll-snap-type:x proximity}.photo-card-rail::-webkit-scrollbar{display:none}.photos-app .photo-collection-card{position:relative;flex:0 0 132px;height:144px;padding:0;overflow:hidden;border-radius:19px;background:linear-gradient(145deg,#e7e8ee,#c6c8d0);scroll-snap-align:start;text-align:left;display:grid;place-items:center}.photo-collection-card>img{position:absolute;width:100%;height:100%;object-fit:cover}.photo-collection-card:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}.photo-collection-card>strong{position:absolute;bottom:12px;left:12px;right:10px;color:#fff;z-index:1;font-size:15px;line-height:1.4}.photo-collection-card small{display:block;font-size:11px;font-weight:400;opacity:.85}.photo-collection-card>.ui-icon{width:37px;height:37px;color:#fff}.photo-section-empty{color:#8e8e93;font-size:13px;min-height:56px;line-height:1.7}
.photo-popover{position:absolute;z-index:6;right:18px;top:76px;width:210px;border:1px solid #8882;border-radius:19px;overflow:hidden;background:var(--bg,#fff);box-shadow:0 8px 35px #0002}.photos-app .photo-popover>button,.photo-popover>.photo-file{display:block;padding:15px 18px;width:100%;text-align:left;box-sizing:border-box;font-size:14px;border-bottom:1px solid #8882;color:inherit}.photo-search-row{display:flex;align-items:center;gap:10px;padding:8px 20px 14px}.photo-search-row>.ui-icon{width:18px;height:18px;color:#8e8e93}.photo-search-row input{min-width:0;flex:1;border:0;background:#8881;border-radius:12px;padding:11px;font:inherit;color:inherit;font-size:14px}.photo-search-row button{color:#007aff;font-size:14px;white-space:nowrap}.photo-bulk-bar{position:absolute;bottom:0;left:0;right:0;background:var(--bg,#fff);border-top:1px solid #8882;padding:18px 20px max(22px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;font-size:14px}.photo-bulk-bar button{color:#007aff}.photo-info-mask{position:absolute;inset:0;background:#0005;z-index:15;display:flex;align-items:flex-end}.photo-info-mask>section{border-radius:25px 25px 0 0;padding:20px 22px 35px;background:var(--bg,#fff);width:100%;box-sizing:border-box}.photo-info-mask header{padding:0;min-height:44px}.photo-info-mask h2{font-size:22px}.photo-info-mask p{font-size:14px;line-height:1.7;color:#8e8e93}.photos-app .photo-error{z-index:7}.photo-lightbox footer{gap:10px;align-items:center}.photo-lightbox footer button:first-child{font-size:22px}
@media(max-width:360px){.photos-app .photo-heading h1{font-size:30px}.photo-top-actions{gap:4px}.photos-app .photo-top-actions button{width:32px;height:32px}.photo-tab-pill{min-width:180px}.photos-app .photo-tab-pill button{width:89px}.photo-bottom-bar{left:12px;right:12px}}
.photo-card-rail{scroll-padding-inline:20px}.photos-app .photo-collection-card{flex-basis:clamp(108px,28vw,160px);height:clamp(108px,28vw,160px);border-radius:16px}.photo-collection-card>strong{left:10px;bottom:10px;font-size:14px}
/* Generated role photos are descriptions, not broken image URLs. */
.photo-description-thumb{display:flex;width:100%;height:100%;box-sizing:border-box;flex-direction:column;gap:8px;padding:14px;text-align:left;background:linear-gradient(145deg,#eee9df,#d6dfdc);color:#454b48;overflow:hidden;font-size:12px;line-height:1.6}
.photo-description-thumb b{font-size:14px;line-height:1.4;flex-shrink:0}.photo-description-thumb>span{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.photo-collection-card .photo-description-thumb{padding-bottom:44px}.photo-description-detail{margin:auto 20px;max-height:70%;overflow:auto;padding:28px 24px;border-radius:20px;background:#faf8f2;color:#353a38;box-sizing:border-box;white-space:pre-wrap;line-height:1.9}.photo-description-detail h2{font-size:24px;line-height:1.5}.photo-description-detail p{font-size:17px}.photo-description-detail>.ui-icon{width:32px;height:32px;color:#87948c}
