.app-view.app-photos{padding-top:calc(60px + env(safe-area-inset-top,0px));min-height:0;background:#fff;color:#121212;backdrop-filter:none;-webkit-backdrop-filter:none}
.app-photos .app-nav{display:none}
.app-photos .app-content{padding:0;overflow:hidden;background:#fff}
.ph-screen{--ph-blue:#087ff1;position:relative;height:100%;min-height:0;width:100%;overflow:hidden;background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC",sans-serif;letter-spacing:-.025em}
.ph-screen button{border:0;box-shadow:none;transform:none;letter-spacing:inherit}
.ph-screen button:active{transform:none;opacity:.7}
.ph-screen button:focus-visible{outline:2px solid var(--ph-blue);outline-offset:-2px}
.ph-icon{display:block;flex-shrink:0}
.ph-first-level{position:absolute;inset:0;overflow:hidden}
.ph-main-view{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .14s ease,visibility .14s}
.ph-main-view.is-current{opacity:1;visibility:visible;pointer-events:auto}
.ph-view{position:relative;height:100%;min-height:0;background:#fff}
.ph-library-scroll,.ph-collection-scroll{height:100%;overflow:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior:contain;padding-bottom:114px}
.ph-library-scroll::-webkit-scrollbar,.ph-collection-scroll::-webkit-scrollbar,.ph-horizontal-cards::-webkit-scrollbar{display:none}
.ph-library{background:#fafafa}
.ph-library-header{height:103px;padding:14px 18px 13px;position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;color:#fff;background:linear-gradient(180deg,#4b555eaa,#8299a9a8 48%,#e6eff2dd 95%);text-shadow:0 1px 7px #0008}
.ph-library-header:before{content:"";position:absolute;inset:-20px -10px 0;background:radial-gradient(ellipse at 40% 5%,#222c36 5%,transparent 40%),linear-gradient(95deg,#dae4e6a0 0 16%,#3b5267a4 16% 40%,#e4dfd9ac 40% 73%,#5d737b9a 73%);filter:blur(15px);z-index:-1}
.ph-library-header h1,.ph-collection-header h1{font-size:31px;font-weight:760;line-height:1.12;letter-spacing:-.05em;margin:11px 0 2px}
.ph-library-header p{font-size:14px;line-height:1.4;font-weight:600;margin:0;letter-spacing:0}
.ph-header-tools{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ph-circle{height:42px;min-width:42px;border-radius:50%!important;display:grid;place-items:center;padding:0;color:inherit}
.ph-glass-circle{height:41px;min-width:41px;background:#f1f3f320!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid #fff8!important;color:#fff}
.ph-select-header{width:63px;border-radius:28px!important;font-size:15px;font-weight:590;letter-spacing:.01em!important}
.ph-library-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#fff;align-content:start}
.ph-photo-tile{width:100%;aspect-ratio:1;min-width:0;height:auto;padding:0;display:block;overflow:hidden;position:relative;border-radius:0;background:#edf0f2;color:#171717}
.ph-photo-tile>img,.ph-collection-image>img,.ph-photo-stage>img{display:block;width:100%;height:100%;object-fit:cover}
.ph-photo-tile .ph-art{width:100%;height:100%}
.ph-no-results{font-size:14px;text-align:center;color:#aaa;padding:30px}
.ph-filter-menu,.ph-floating-menu,.ph-viewer-menu{position:absolute;z-index:10;right:16px;top:60px;width:174px;padding:5px;background:#fffdfdee;backdrop-filter:blur(25px);border:1px solid #eee;border-radius:14px;box-shadow:0 12px 30px #0002;color:#171717;text-shadow:none}
.ph-filter-menu[hidden],.ph-floating-menu[hidden],.ph-viewer-menu[hidden]{display:none}
.ph-filter-menu button,.ph-floating-menu button,.ph-viewer-menu button{display:flex;align-items:center;gap:8px;text-align:left;width:100%;height:39px;padding:0 10px;font-size:13px;border-bottom:1px solid #eee}
.ph-filter-menu button:last-child,.ph-floating-menu button:last-child{border-bottom:0}
.ph-library-empty{min-height:45%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#aaa;letter-spacing:0;padding:80px 20px 26px;text-align:center}
.ph-library-empty strong{font-size:20px;color:#555;font-weight:650}
.ph-library-empty span{font-size:13px;color:#8f9198}
.ph-library-empty button{margin-top:8px;background:#edf5ff!important;color:var(--ph-blue);font-weight:620;border-radius:22px!important;padding:10px 19px;font-size:14px}
.ph-selection-bottom{position:absolute;z-index:8;left:16px;right:16px;bottom:9px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}
.ph-selected-total{pointer-events:none;background:#f4f4f4e8;border:1px solid #dddde2;border-radius:30px;padding:16px 22px;backdrop-filter:blur(24px);color:#2d2d2f;font-size:15px;font-weight:600}
.ph-trash-button{pointer-events:auto;width:58px;height:58px;border-radius:50%!important;background:#f7f7f8ed!important;color:#161619;border:1px solid #d9d9de!important;display:grid;place-items:center;backdrop-filter:blur(24px);box-shadow:0 2px 12px #00000013!important}
.ph-trash-button:disabled{opacity:.4}
.ph-delete-overlay{position:absolute;inset:0;z-index:20;background:#0006;display:grid;place-items:center;padding:22px}
.ph-delete-dialog{width:min(100%,310px);border-radius:20px;overflow:hidden;background:#f8f8faef;backdrop-filter:blur(28px);text-align:center;box-shadow:0 17px 42px #0003}
.ph-delete-dialog h2{font-size:18px;font-weight:690;margin:23px 12px 7px}
.ph-delete-dialog p{font-size:13px;color:#76767b;margin:0 12px 18px}
.ph-delete-dialog button{display:block;width:100%;height:52px;border-top:1px solid #dddde1!important;font-size:16px;font-weight:630}
.ph-delete-confirm{color:#ea333b!important}.ph-delete-cancel{color:var(--ph-blue)!important}
.ph-select-badge{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:20px;height:20px;border:1.5px solid white;background:#ffffff80;border-radius:50%;color:#fff}
.ph-photo-tile.is-selected .ph-select-badge{background:var(--ph-blue)}
.ph-collection-scroll{background:#fff;padding-bottom:128px}
.ph-collection-header{padding:4px 18px 0;border-bottom:1px solid #f1f1f1;min-height:82px}
.ph-collection-title-row{display:flex;justify-content:space-between;align-items:flex-start}
.ph-collection-header h1{margin:19px 0 0;font-size:31px;line-height:1.05}
.ph-collection-header .ph-header-tools{margin-top:10px}
.ph-white-circle{height:42px;min-width:42px;background:#fafafa!important;border:1px solid #e1e1e3!important;box-shadow:inset 0 1px 1px #fff,0 2px 7px #00000008!important}
.ph-white-circle svg{stroke-width:2}
.ph-white-circle .ph-icon-person{fill:#111;stroke-width:1}
.ph-cloud-state{display:flex;align-items:center;gap:4px;color:#929296;font-size:12px;font-weight:620;margin:4px 0 7px;letter-spacing:-.01em}
.ph-memory-section,.ph-card-section{padding-left:20px;padding-right:0}
.ph-memory-section{margin-top:25px}
.ph-card-section{margin-top:26px}
.ph-section-heading{display:flex;align-items:center;justify-content:space-between;padding-right:20px;margin-bottom:12px;height:28px;gap:12px}
.ph-section-heading h2{margin:0;font-weight:740;font-size:22px;line-height:28px;letter-spacing:-.045em}
.ph-section-title{display:inline-flex;align-items:center;gap:3px;padding:0;text-align:left;min-width:0}
.ph-section-title svg{color:#8e8e93;stroke-width:3}
.ph-section-controls{display:flex;align-items:center;gap:8px}
.ph-down-button{height:28px;min-width:28px;border-radius:50%!important;background:#f3f4f6!important;color:var(--ph-blue);display:grid;place-items:center;padding:0}
.ph-down-button svg{stroke-width:3;transition:transform .18s}
.ph-edit-chip{min-height:28px;border-radius:17px!important;background:#f1f1f4!important;color:var(--ph-blue);padding:0 13px!important;font-size:13px;font-weight:660}
.ph-memory-card{border-radius:21px;background:#f0f0f2;width:calc(100% - 20px);height:127px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:19px;color:#96969b}
.ph-memory-card svg{margin:0 0 auto;color:#b0b0b4}
.ph-memory-card strong{font-size:14px;line-height:1.4;font-weight:590}
.ph-memory-card span{font-size:12px;margin-top:2px}
.ph-horizontal-cards{display:flex;gap:11px;width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;padding-right:20px;touch-action:pan-x}
.ph-collection-card{width:112px;min-width:112px;max-width:112px;height:112px;padding:0;border-radius:16px!important;overflow:hidden;scroll-snap-align:start;background:#e9e9ec;text-align:left}
.ph-empty-collection-art{display:grid;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,#ededf0,#d6d7dd);color:#a8aab2}
.ph-empty-section{margin:0 20px 4px 0;min-height:54px;border-radius:13px;background:#f4f4f6;color:#aaa;display:flex;align-items:center;padding:0 18px;font-size:13px}
.ph-collection-image{display:block;width:100%;height:100%;position:relative;overflow:hidden;border-radius:16px}
.ph-collection-image:after{content:"";position:absolute;inset:51% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.ph-collection-image>img,.ph-collection-image>.ph-art{width:100%;height:100%;display:block}
.ph-card-caption{position:absolute;bottom:9px;left:10px;right:4px;color:#fff;font-size:13px;font-weight:660;z-index:2;text-shadow:0 1px 3px #0009;letter-spacing:-.025em}
.ph-card-badge{position:absolute;top:12px;right:10px;z-index:2;color:#fff}
.ph-card-badge svg{fill:#fff;stroke:white}
.ph-collapsed .ph-collapsible{display:none}
.ph-collapsed .ph-down-button svg{transform:rotate(180deg)}
.ph-editing .ph-collection-card{animation:ph-wiggle .32s ease-in-out infinite alternate}
.ph-editing .ph-collection-card:nth-child(even){animation-delay:.12s}
@keyframes ph-wiggle{from{transform:rotate(-1deg)}to{transform:rotate(1deg)}}
.ph-lower-section{padding-bottom:90px}
.ph-floating-menu{top:75px}
.ph-profile-sheet{position:absolute;bottom:0;left:0;right:0;z-index:9;background:#fffffff5;border-radius:22px 22px 0 0;padding:20px 22px 55px;box-shadow:0 -10px 50px #0003;backdrop-filter:blur(25px)}
.ph-profile-sheet[hidden]{display:none}
.ph-sheet-head{display:flex;justify-content:space-between;align-items:center;font-size:18px}
.ph-sheet-head button{width:30px;height:30px;display:grid;place-items:center;background:#f0f0f1;border-radius:50%}
.ph-profile-sheet p{font-size:13px;line-height:1.6;color:#777}
.ph-bottom-bar{position:absolute;bottom:9px;left:18px;right:18px;z-index:6;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;gap:10px}
.ph-tab-pill{height:58px;padding:4px;display:flex;align-items:stretch;gap:1px;background:#f5f5f5ad;backdrop-filter:blur(28px) saturate(1.5);-webkit-backdrop-filter:blur(28px) saturate(1.5);border:1px solid #d9d9d9d0;border-radius:36px;box-shadow:inset 0 2px 3px #fffc,0 3px 12px #0000000d;pointer-events:auto}
.ph-tab{height:48px;min-width:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:1px 12px!important;border-radius:29px!important;color:#161616;font-size:11px;line-height:13px}
.ph-tab.active{background:#dfdfe2b9!important;color:var(--ph-blue);box-shadow:inset 0 1px 3px #fff8!important}
.ph-tab svg{height:25px;width:25px;stroke-width:2.4}
.ph-tab.active svg{stroke-width:2.6}
.ph-tab span{font-weight:590}
.ph-search-button{display:grid;place-items:center;width:57px;height:57px;border-radius:50%!important;pointer-events:auto;background:#f5f5f5b8!important;border:1px solid #d6d6d8!important;box-shadow:inset 0 1px 2px #fff,0 3px 10px #00000010!important;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);color:#141414;padding:0}
.ph-search-button svg{stroke-width:2.2}
#phone:has(.ph-screen) #homebar{opacity:0;pointer-events:none}
#phone:has(.ph-screen) #status-layer{color:#131313;background:#fff;transition:background .15s,color .15s}
#phone:has(.ph-screen.is-library) #status-layer{color:white;background:#4b5762;text-shadow:0 1px 5px #0007}
#phone:has(.ph-screen.is-detail) #status-layer{color:#111;background:#fff}
.ph-single-view,.ph-search-page,.ph-album-page{height:100%;display:flex;flex-direction:column;background:#fff;color:#141414}
.ph-viewer-header,.ph-album-page>header{display:flex;align-items:center;justify-content:space-between;min-height:53px;padding:8px 16px;font-size:15px;font-weight:600}
.ph-round-back,.ph-viewer-header>button{display:grid;place-items:center;width:39px;height:39px;border-radius:50%!important;background:#f1f1f3!important}
.ph-photo-stage{min-height:0;flex:1;display:flex;align-items:center;justify-content:center;background:#0d0d0d;overflow:hidden}
.ph-photo-stage>img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}
.ph-stage-fixture{width:min(100%,400px);aspect-ratio:1;overflow:hidden}
.ph-stage-fixture>.ph-art{width:100%;height:100%}
.ph-viewer-tools{height:74px;display:flex;align-items:center;justify-content:space-around;padding:0 12px 10px;background:#fff}
.ph-viewer-tools button{height:40px;width:50px;display:grid;place-items:center}
.ph-viewer-tools button:disabled{opacity:.32}
.ph-viewer-tools .is-favorite svg{fill:#ef3b56;color:#ef3b56}
.ph-demo-caption{color:#909090;font-size:11px;text-align:center;margin:0 0 8px}
.ph-search-header{display:flex;align-items:center;gap:9px;padding:10px 15px;min-height:60px}
.ph-search-header>button{color:var(--ph-blue);font-size:14px;white-space:nowrap}
.ph-search-header>.ph-round-back{height:39px;width:39px;flex-shrink:0;color:#141414;background:#f1f1f3!important;border:1px solid #e0e0e4!important}
.ph-search-field{display:flex;align-items:center;gap:8px;background:#ececf0;border-radius:12px;height:40px;padding:0 10px;color:#8b8b93;flex:1}
.ph-search-field input{border:0;background:transparent;border-radius:0;box-shadow:none;outline:none;padding:0;width:100%;height:100%;font-size:15px;color:#111}
.ph-search-results,.ph-album-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;overflow-y:auto;align-content:start;flex:1}
.ph-search-results>[hidden]{display:none}
.ph-search-results>div{min-width:0}
.ph-search-empty,.ph-empty-album{text-align:center;margin:auto;color:#aaa;font-size:14px}
.ph-album-page>header{justify-content:flex-start;gap:16px}
.ph-album-page>header button{display:flex;gap:0;align-items:center;color:var(--ph-blue);font-size:14px}
.ph-album-page>header h1{font-size:20px;letter-spacing:-.03em}
.ph-album-page>p{font-size:12px;color:#8e8e93;margin:0 18px 14px}
.ph-missing{padding:30px;text-align:center}
.ph-art{position:relative;display:block;overflow:hidden;background:#ecedef}
.ph-art-chat,.ph-art-message{background:#f6f8f8;padding:5% 7%;display:flex;flex-direction:column;align-items:stretch;gap:5%;transform:translateZ(0)}
.ph-art-chat:before,.ph-art-message:before{content:"";height:10%;width:70%;border-radius:3px;background:#d3dadd;align-self:center;margin-bottom:4%}
.ph-art-chat .ph-mini-head,.ph-art-message .ph-mini-head{position:absolute;left:4%;top:34%;height:12%;width:12%;border-radius:3px;background:#8eacb0}
.ph-art-chat b,.ph-art-message b{height:6%;width:54%;border-radius:2px;background:#dadde0;margin:0 0 0 17%}
.ph-art-chat em,.ph-art-message em{height:11%;width:45%;border-radius:3px;background:#d6eed4;margin:0 0 0 auto}
.ph-art-chat small,.ph-art-message small{height:3%;width:62%;border-radius:3px;background:#e5e5e6;margin:0 0 0 17%}
.ph-art-chat.tone-2:before,.ph-art-chat.tone-5:before{background:#a9c3de}
.ph-art-message{background:#dce9f3}
.ph-art-settings,.ph-art-list{display:grid;grid-template-columns:19% 1fr;grid-template-rows:repeat(5,1fr);gap:2%;padding:7% 6%;background:#f7f8f8}
.ph-art-settings i,.ph-art-list i{border-radius:4px;background:#97bad4}
.ph-art-settings b,.ph-art-list b{border-radius:2px;background:linear-gradient(#c9ced2 0 15%,transparent 15% 60%,#e2e3e5 60% 70%,transparent 70%);margin:4%}
.ph-art-list{background:#f8f9fa}
.ph-art-list i{background:#b7cec8}
.ph-art-list.tone-3 i{background:#8eb3dc}
.ph-art-terminal{background:linear-gradient(120deg,#1b3450,#091521);padding:8%}
.ph-art-terminal:before{content:"";position:absolute;inset:10%;border:1px solid #43779377}
.ph-art-terminal i,.ph-art-terminal b,.ph-art-terminal em,.ph-art-terminal small{display:block;height:4%;margin:6% 0;width:84%;background:#6bb1ccaa}
.ph-art-terminal b{width:52%;background:#cda15e}
.ph-art-terminal em{width:67%}
.ph-art-terminal small{width:40%;background:#c1dddd}
.ph-art-blueprint{background:#123e59;padding:12% 7%;border:3px solid #1b799b}
.ph-art-blueprint i,.ph-art-blueprint b,.ph-art-blueprint em,.ph-art-blueprint small{display:block;height:2%;margin:9% 0;background:#8dd8e1}
.ph-art-blueprint b{width:70%}.ph-art-blueprint em{width:50%}.ph-art-blueprint small{width:90%}
.ph-art-video,.ph-art-film{background:linear-gradient(135deg,#253039,#777580,#17222d)}
.ph-art-video:before,.ph-art-film:before{content:"";position:absolute;left:21%;top:21%;width:54%;height:54%;border:2px solid #a3aeb1;border-radius:12px;transform:rotate(-11deg)}
.ph-art-video i,.ph-art-film i{position:absolute;top:45%;left:42%;width:0;height:0;border-top:11px solid transparent;border-bottom:11px solid transparent;border-left:16px solid #eee}
.ph-art-video b,.ph-art-film b{position:absolute;bottom:9%;left:16%;right:16%;height:3px;background:#ffffff88}
.ph-art-flower{background:radial-gradient(at 25% 85%,#384524,#080f1b)}
.ph-art-flower i,.ph-art-flower b,.ph-art-flower em,.ph-art-flower small{position:absolute;border-radius:70% 20% 70% 20%;width:34%;height:40%;background:#971f31;box-shadow:inset 7px 3px 12px #e36258}
.ph-art-flower i{top:20%;left:15%;transform:rotate(33deg)}.ph-art-flower b{top:28%;left:43%;transform:rotate(-17deg)}.ph-art-flower em{top:48%;left:23%;transform:rotate(5deg)}.ph-art-flower small{top:8%;left:49%;transform:rotate(44deg)}
.ph-art-sky{background:linear-gradient(#397eb1,#d4e3eb 75%,#4e6873 75%)}
.ph-art-sky i{position:absolute;top:46%;left:40%;width:20%;height:25%;border-radius:50%;background:#fff5}
.ph-art-sky b{position:absolute;top:60%;left:16%;width:70%;height:6%;background:#e8f0f6;border-radius:100%}
.ph-art-nature{background:linear-gradient(35deg,#14251f 5%,#476e69 40%,#b5c8c0)}
.ph-art-nature:before{content:"";position:absolute;left:50%;top:-5%;height:110%;width:8%;background:#242e27;transform:rotate(-18deg)}
.ph-art-nature i,.ph-art-nature b{position:absolute;background:#1b3e36;border-radius:50%;width:50%;height:45%;top:3%;left:7%}
.ph-art-nature b{left:47%;top:25%;width:70%}
.ph-art-art{background:linear-gradient(130deg,#f9b64f,#f16170 45%,#559cc5)}
.ph-art-art i,.ph-art-art b,.ph-art-art em{position:absolute;background:#fef3cb;border:3px solid #2b4779;border-radius:40%;width:40%;height:42%;left:12%;top:16%;transform:rotate(-22deg)}
.ph-art-art b{left:50%;top:45%;transform:rotate(28deg);background:#bbddea}
.ph-art-art em{top:4%;left:58%;width:24%;height:23%;background:#f8fae2}
.ph-art-poster{background:linear-gradient(#161e29,#9a4848)}
.ph-art-poster i{position:absolute;top:12%;left:31%;width:43%;height:52%;border-radius:45% 45% 20% 20%;background:#cab5a8}
.ph-art-poster b{position:absolute;bottom:0;left:10%;width:85%;height:41%;border-radius:42% 42% 0 0;background:#232629}
.ph-art-poster em{position:absolute;top:17%;left:33%;width:39%;height:20%;border-radius:50% 50% 0 0;background:#252628}
.ph-art.tone-1{filter:saturate(.78)}.ph-art.tone-4{filter:sepia(.22)}.ph-art.tone-6{filter:hue-rotate(24deg)}
@media(min-width:601px){.ph-library-header{height:107px}}
@media(max-width:365px){.ph-collection-card{width:100px;min-width:100px;max-width:100px;height:100px}.ph-memory-card{height:117px}.ph-card-section{margin-top:24px}.ph-tab{min-width:73px;padding:0 8px!important}.ph-collection-header h1,.ph-library-header h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.ph-main-view,.ph-down-button svg{transition:none}.ph-editing .ph-collection-card{animation:none}}
