*{box-sizing:border-box}body{color:#1d1d1f;background:#f5f5f7;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.app-shell{flex-direction:column;min-height:100vh;display:flex}.sidebar{z-index:60;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f5f5f7eb;border-bottom:1px solid #d8d8dc;align-items:center;width:100%;min-height:68px;padding:10px 24px;display:flex;position:sticky;top:0}.sidebar-account{border-left:1px solid #d8d8dc;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;max-width:250px;margin-left:auto;padding-left:20px;display:grid}.sidebar-avatar{color:#0057d9;background:#dbeafe;border-radius:50%;place-items:center;width:36px;height:36px;font-weight:700;display:grid}.sidebar-account-details{flex-direction:column;gap:2px;min-width:0;display:flex}.sidebar-account-details strong,.sidebar-account-details span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-account-details strong{font-size:13px}.sidebar-account button{color:#06c;cursor:pointer;background:0 0;border:0;grid-column:2;justify-self:start;padding:0;font-size:12px}.mobile-app-header,.mobile-menu-close,.mobile-nav-backdrop{display:none}.auth-page{background:radial-gradient(circle at 20% 15%,#0071e321,#0000 32%),radial-gradient(circle at 80% 85%,#6e45c21a,#0000 30%),#f5f5f7;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fffffff0;border:1px solid #dedee3;border-radius:22px;width:min(100%,430px);padding:36px;box-shadow:0 22px 60px #00000017}.auth-brand{color:#fff;background:#0071e3;border-radius:13px;place-items:center;width:46px;height:46px;margin-bottom:24px;font-size:22px;font-weight:750;display:grid}.auth-card h1{letter-spacing:-.02em;margin:0;font-size:30px}.auth-card>p{color:#6e6e73;margin:9px 0 25px;line-height:1.5}.auth-tabs{background:#eeeef2;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:22px;padding:4px;display:grid}.auth-tabs button{color:#6e6e73;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px;font-weight:600}.auth-tabs button.active{color:#1d1d1f;background:#fff;box-shadow:0 1px 4px #00000014}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form label{flex-direction:column;gap:7px;font-size:13px;font-weight:650;display:flex}.auth-form input{color:#1d1d1f;width:100%;font:inherit;background:#fff;border:1px solid #c7c7cc;border-radius:9px;outline:none;padding:12px 13px;font-weight:400;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e321}.auth-error{color:#b42318;background:#fff0f0;border-radius:8px;padding:10px 12px;font-size:13px;line-height:1.4}.auth-submit{color:#fff;cursor:pointer;background:#0071e3;border:0;border-radius:9px;margin-top:2px;padding:12px 16px;font-size:15px;font-weight:650}.auth-submit:hover{background:#0062c4}.auth-submit:disabled{cursor:wait;opacity:.65}.auth-loading{place-items:center;min-height:100vh;display:grid}.auth-spinner{border:3px solid #d8d8dc;border-top-color:#0071e3;border-radius:50%;width:30px;height:30px;animation:.7s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (max-width:600px){.auth-card{padding:28px 22px}}.sidebar-title{flex:none;align-items:center;padding:8px 26px 8px 2px;font-size:22px;font-weight:700;display:flex}.sidebar-sublist{flex-direction:column;gap:2px;display:flex}.sidebar-group{margin-left:4px;position:relative}.sidebar-group-header{border-radius:7px;align-items:center;width:100%;transition:background-color .16s,color .16s;display:flex}.sidebar-group-header:hover{background:#ececf0}.sidebar-group-link{color:#1d1d1f;letter-spacing:0;flex:1;padding:10px 5px 10px 11px;font-size:15px;font-weight:500;line-height:1;transition:color .16s}.sidebar-group-link:hover,.sidebar-group-link.active{color:#1d1d1f}.sidebar-group-link:focus-visible,.sidebar-toggle:focus-visible{outline-offset:2px;outline:2px solid #0071e3}.sidebar-toggle{cursor:pointer;background:0 0;border:0;border-radius:7px;align-self:stretch;place-items:center;width:28px;padding:0;display:grid}.dropdown-arrow{color:#8e8e93;transform-origin:50%;font-size:8px;transition:transform .16s,color .16s;display:inline-block}.dropdown-arrow.open{transform:rotate(90deg)}.sidebar-toggle:hover .dropdown-arrow{color:#1d1d1f}.sidebar-sublist{z-index:70;background:#fffffffa;border:1px solid #d8d8dc;border-radius:13px;width:250px;max-height:min(430px,100vh - 92px);margin:0;padding:7px;position:absolute;top:calc(100% + 9px);left:0;overflow-y:auto;box-shadow:0 14px 38px #00000029}.nav-item{color:#1d1d1f;border-radius:8px;padding:8px 10px;font-size:15px}.nav-item.nested{padding-left:20px;font-size:14px}.sidebar-person-item{align-items:center;gap:9px;padding:5px 10px 5px 12px;display:flex}.sidebar-person-thumbnail,.sidebar-person-thumbnail-placeholder{background:#eeeef2;border-radius:50%;flex:0 0 28px;width:28px;height:28px}.sidebar-person-thumbnail{object-fit:cover;display:block}.sidebar-person-thumbnail-placeholder{color:#6e6e73;place-items:center;font-size:12px;font-weight:650;display:grid}.sidebar-person-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sidebar-hidden-people{color:#6e6e73;border-top:1px solid #ededf0;border-radius:0 0 8px 8px;margin-top:4px;font-size:13px}.sidebar-sublist-status,.sidebar-sublist-retry{color:#6e6e73;width:100%;font:inherit;text-align:left;background:0 0;border:0;padding:8px 10px 8px 20px;font-size:13px;display:block}.sidebar-sublist-retry{cursor:pointer}.sidebar-sublist-retry:hover{color:#1d1d1f}.nav-item:hover{background:#e8e8ed}.nav-item.active{color:#0057d9;background:#dbeafe;font-weight:600}.main-content{flex:1;width:100%;padding:32px;overflow:auto}@media (max-width:1040px){.app-shell{display:block}.mobile-app-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f5f5f7f0;border-bottom:1px solid #d8d8dc;align-items:center;gap:12px;min-height:58px;padding:9px 16px;display:flex;position:sticky;top:0}.mobile-app-header strong{font-size:19px}.mobile-menu-button,.mobile-menu-close{color:#1d1d1f;cursor:pointer;background:#fff;border:1px solid #d8d8dc;border-radius:10px;place-items:center;width:38px;height:38px;padding:0;display:grid}.mobile-menu-close{background:#e3e3e8;border:0;border-radius:50%;font-size:25px;line-height:1}.mobile-nav-backdrop{z-index:70;opacity:0;pointer-events:none;background:#14141873;border:0;transition:opacity .18s;display:block;position:fixed;inset:0}.mobile-nav-backdrop.open{opacity:1;pointer-events:auto}.sidebar{z-index:80;visibility:hidden;background:#f5f5f7;border-bottom:0;border-right:1px solid #d8d8dc;flex-direction:column;align-items:stretch;width:min(310px,88vw);height:100dvh;min-height:0;padding:14px 12px;transition:transform .2s,visibility 0s linear .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%)}.sidebar.mobile-open{visibility:visible;transition-delay:0s;transform:translate(0)}.sidebar-title{justify-content:space-between;padding:4px 4px 16px 10px}.sidebar-section{flex-direction:column;gap:2px}.sidebar-group{margin:24px 0 0;position:static}.sidebar-group-link{color:#6e6e73;letter-spacing:.06em;text-transform:uppercase;padding:8px 4px 8px 10px;font-size:12px;font-weight:700}.sidebar-toggle{width:34px}.sidebar-sublist{width:auto;max-height:none;box-shadow:none;background:0 0;border:0;border-left:1px solid #dddde2;border-radius:0;margin:4px 0 0 13px;padding:0 0 0 7px;position:static;overflow:visible}.sidebar-account{border-top:1px solid #d8d8dc;border-left:0;margin:auto 0 0;padding:18px 8px 4px}.main-content{padding:24px 18px;overflow:visible}}.page-header h1{margin:0;font-size:36px}.page-header p{color:#6e6e73;margin:8px 0 0}.upload-page{max-width:920px}.upload-button{color:#fff;cursor:pointer;font:inherit;background:#0071e3;border:0;border-radius:8px;margin-top:12px;padding:9px 16px;font-size:15px;font-weight:600;transition:background-color .16s}.upload-button:hover{background:#0062c4}.upload-button:focus-visible{outline-offset:2px;outline:2px solid #0071e3}.library-page-header{justify-content:space-between;align-items:center;gap:18px;display:flex}.library-header-actions{align-items:center;gap:9px;display:flex}.library-header-actions .upload-button{box-sizing:border-box;justify-content:center;align-items:center;width:40px;height:40px;margin-top:0;padding:0;display:inline-flex}.library-header-actions .upload-button svg,.filter-button svg,.select-media-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.filter-button .filter-icon{fill:currentColor;stroke:none}.filter-button,.select-media-button{box-sizing:border-box;color:#1d1d1f;cursor:pointer;width:40px;height:40px;font:inherit;background:#fff;border:1px solid #c7c7cc;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:15px;font-weight:600;display:inline-flex;position:relative}.filter-count-badge{color:#fff;background:#0071e3;border:2px solid #fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;line-height:1;display:grid;position:absolute;top:-6px;right:-6px}.filter-button:hover,.filter-button.active,.select-media-button:hover,.select-media-button.active{color:#06c;background:#edf5ff;border-color:#0071e3}.filter-button:focus-visible,.select-media-button:focus-visible{outline-offset:2px;outline:2px solid #0071e3}.upload-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1414187a;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.upload-modal{background:#f5f5f7;border-radius:20px;width:min(920px,100%);max-height:calc(100vh - 56px);padding:24px;overflow-y:auto;box-shadow:0 24px 70px #0000003d}.media-detail-modal{padding:18px}.media-detail-modal.narrow{width:min(560px,100%)}.media-detail-modal .faces-panel,.media-detail-modal .info-panel{margin:0}.media-detail-modal .info-panel{overflow:visible}.album-create-modal{width:min(460px,100%)}.album-create-form{gap:12px;display:grid}.album-create-form label{color:#3a3a3c;font-size:13px;font-weight:650}.album-create-form input{box-sizing:border-box;color:#1d1d1f;width:100%;min-height:42px;font:inherit;background:#fff;border:1px solid #c7c7cc;border-radius:9px;padding:9px 11px}.album-create-form input:focus{border-color:#0071e3;outline:2px solid #0071e329}.album-create-form .info-edit-actions{margin-top:6px}.upload-modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.upload-modal-header h2{margin:0;font-size:26px}.upload-modal-header p{color:#6e6e73;margin:6px 0 0;font-size:14px}.upload-modal-close{color:#3a3a3c;cursor:pointer;background:#e3e3e8;border:0;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;padding:0;font-size:24px;line-height:1;display:grid}.upload-drop-zone{cursor:pointer;text-align:center;background:#fff;border:2px dashed #b8b8bf;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;min-height:310px;padding:42px 24px;transition:border-color .16s,background-color .16s,transform .16s;display:flex}.upload-drop-zone.dragging{transform:scale(1.005)}.upload-drop-zone:focus-visible{border-color:#0071e3;outline:3px solid #0071e340}.upload-file-input{clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.upload-icon{color:#0071e3;background:#e7f2ff;border-radius:16px;place-items:center;width:58px;height:58px;margin-bottom:18px;font-size:31px;font-weight:500;display:grid}.upload-drop-zone h2{margin:0;font-size:21px}.upload-drop-zone p{color:#6e6e73;margin:9px 0 22px;font-size:14px}.upload-choose-button,.upload-submit-button{color:#fff;cursor:pointer;font:inherit;background:#0071e3;border:0;border-radius:9px;padding:11px 18px;font-weight:650}.upload-choose-button:hover,.upload-submit-button:hover{background:#0062c4}.upload-choose-button:disabled,.upload-submit-button:disabled,.upload-clear-button:disabled,.upload-file-list button:disabled{cursor:wait;opacity:.6}.upload-message{border-radius:10px;justify-content:space-between;align-items:center;gap:18px;margin:18px 0 0;padding:13px 15px;font-size:14px;display:flex}.upload-message.error{color:#b42318;background:#fff0f0}.upload-message.success{color:#176b36;background:#edfaf1}.upload-message.partial{color:#8a4b08;background:#fff7e6}.upload-failure-list{margin:7px 0 0;padding-left:18px;font-size:13px;font-weight:400}.upload-message a{color:#06c;font-weight:650}.upload-selection{background:#fff;border:1px solid #dedee3;border-radius:16px;margin-top:24px;padding:22px}.upload-selection-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.upload-selection-header h2{margin:0;font-size:19px}.upload-selection-header p{color:#6e6e73;margin:5px 0 0;font-size:13px}.upload-clear-button,.upload-file-list button{color:#06c;cursor:pointer;font:inherit;background:0 0;border:0;padding:5px;font-size:13px}.upload-file-list{border:1px solid #e5e5e9;border-radius:11px;flex-direction:column;gap:1px;margin:20px 0;padding:0;list-style:none;display:flex;overflow:hidden}.upload-file-list li{background:#fafafa;border-bottom:1px solid #e5e5e9;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:66px;padding:9px 13px;display:grid}.upload-file-list li:last-child{border-bottom:0}.upload-file-kind{color:#0057a8;text-transform:uppercase;background:#e7f2ff;border-radius:8px;place-items:center;height:42px;font-size:10px;font-weight:750;display:grid}.upload-file-kind.video{color:#6240a3;background:#f0eaff}.upload-file-details{flex-direction:column;gap:4px;min-width:0;display:flex}.upload-file-details strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.upload-file-details small{color:#6e6e73}.upload-submit-button{width:100%;min-height:44px}@media (max-width:600px){.main-content{padding:24px 18px}.upload-modal-backdrop{padding:12px}.upload-modal{max-height:calc(100vh - 24px);padding:18px}.upload-drop-zone{min-height:270px;padding:32px 18px}.upload-selection{padding:17px}.upload-file-list li{grid-template-columns:50px minmax(0,1fr)}.upload-file-list li>button{grid-column:2;justify-self:start;padding:0}.upload-message{flex-direction:column;align-items:flex-start;gap:8px}}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;display:grid}.collection-card{background:#fff;border:1px solid #dedee3;border-radius:14px;align-items:center;gap:14px;min-height:84px;padding:16px;transition:border-color .16s,box-shadow .16s,transform .16s;display:flex}.collection-card:hover{border-color:#c7c7cc;transform:translateY(-1px);box-shadow:0 6px 18px #0000000f}.collection-card:focus-visible{outline-offset:2px;outline:2px solid #0071e3}.collection-card-icon{color:#0057d9;background:#e8f1ff;border-radius:50%;flex:0 0 48px;place-items:center;height:48px;font-size:17px;font-weight:700;display:grid}.collection-card-icon.album{color:#6e45c2;background:#f0eafe;border-radius:11px;font-size:22px}.collection-card-icon.album.has-cover{background:#e3e3e8;overflow:hidden}.collection-card-icon.album.has-cover img,.collection-card-icon.album.has-cover video{object-fit:cover;width:100%;height:100%}.collection-card-title{font-size:15px;font-weight:650;display:block}.collection-card-meta{color:#6e6e73;margin-top:4px;font-size:13px;display:block}.people-grid{grid-template-columns:repeat(auto-fill,minmax(150px,220px));gap:26px 20px;display:grid}.person-card{border-radius:14px;flex-direction:column;gap:10px;min-width:0;display:flex}.person-card:focus-visible{outline-offset:4px;outline:2px solid #0071e3}.person-card-image,.person-card-placeholder{aspect-ratio:1;background:#eeeef2;border-radius:14px;width:100%}.person-card-image{object-fit:cover;transition:box-shadow .16s,transform .16s;display:block}.person-card-placeholder{color:#6e6e73;place-items:center;font-size:36px;font-weight:650;display:grid}.person-card:hover .person-card-image,.person-card:hover .person-card-placeholder{transform:translateY(-2px);box-shadow:0 7px 20px #0000001a}.person-card-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:15px;font-weight:650;overflow:hidden}.person-detail-header{align-items:center;gap:18px;display:flex}.person-detail-header .library-header-actions{margin-left:auto}.person-detail-title-row{align-items:center;gap:10px;display:flex}.album-detail-title-row{align-items:center;gap:8px;display:flex}.album-detail-title-row h1{margin:0}.album-editor-modal{width:min(100%,680px)}.album-cover-fieldset{border:0;min-width:0;margin:22px 0 0;padding:0}.album-cover-fieldset legend{margin-bottom:10px;font-size:13px;font-weight:650}.album-cover-fieldset>p{color:#6e6e73;margin:0;font-size:13px}.album-cover-options{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;max-height:290px;padding:3px;display:grid;overflow-y:auto}.album-cover-option{cursor:pointer;border:2px solid #0000;border-radius:12px;min-width:0;padding:3px;position:relative}.album-cover-option.selected{border-color:#0071e3}.album-cover-option input{opacity:0;width:1px;height:1px;position:absolute}.album-cover-option img,.album-cover-option video,.album-cover-option>span{object-fit:cover;background:#eeeef2;border-radius:8px;width:100%;height:82px;display:block}.album-cover-option>span{color:#6e6e73;place-items:center;font-size:12px;display:grid}.album-cover-option:focus-within{outline-offset:2px;outline:2px solid #0071e3}.album-access-section{border-top:1px solid #dedee3;margin-top:24px;padding-top:20px}.album-access-section h3{margin:0;font-size:15px}.album-access-section>div:first-child>p,.album-access-status{color:#6e6e73;margin:5px 0 0;font-size:13px}.album-access-list{gap:9px;margin-top:14px;display:grid}.album-access-row{background:#fafafa;border:1px solid #dedee3;border-radius:10px;grid-template-columns:minmax(0,1fr) 130px auto;align-items:center;gap:10px;padding:10px 11px;display:grid}.album-access-row>div{min-width:0}.album-access-row strong,.album-access-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.album-access-row strong{font-size:13px}.album-access-row span{color:#6e6e73;margin-top:2px;font-size:12px}.album-access-row select{color:#1d1d1f;min-height:36px;font:inherit;background:#fff;border:1px solid #c7c7cc;border-radius:8px;padding:7px 9px;font-size:13px}.album-access-row .album-access-remove{color:#b42318;cursor:pointer;min-height:36px;font:inherit;background:#fff0f0;border:1px solid #e0a3a3;border-radius:8px;padding:7px 10px;font-size:13px;font-weight:650}.album-access-row select:disabled,.album-access-row .album-access-remove:disabled{cursor:wait;opacity:.6}@media (max-width:620px){.album-access-row{grid-template-columns:1fr auto}.album-access-row>div{grid-column:1/-1}}.album-editor-actions .danger{color:#b42318;border-color:#e0a3a3;margin-right:auto}.album-editor-actions .danger:hover{background:#fff0f0}.person-edit-button{color:#6e6e73;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:34px;height:34px;padding:7px;display:grid}.person-edit-button:hover{color:#1d1d1f;background:#fff;border-color:#d8d8dc}.person-edit-button:focus-visible{outline-offset:2px;outline:2px solid #0071e3}.person-edit-button svg{fill:currentColor;width:100%;height:100%}.person-detail-thumbnail,.person-detail-thumbnail-placeholder{background:#eeeef2;border-radius:50%;flex:0 0 76px;width:76px;height:76px}.person-detail-thumbnail{object-fit:cover;display:block}.person-detail-thumbnail-placeholder{color:#6e6e73;place-items:center;font-size:28px;font-weight:650;display:grid}.person-editor-backdrop{z-index:120;background:#00000061;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.person-editor-modal{background:#fff;border-radius:18px;width:min(100%,560px);max-height:min(760px,100vh - 48px);padding:24px;overflow-y:auto;box-shadow:0 24px 70px #00000038}.person-editor-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.person-editor-heading h2{margin:0;font-size:24px}.person-editor-heading p{color:#6e6e73;margin:6px 0 0;font-size:14px}.person-editor-close{color:#6e6e73;cursor:pointer;width:32px;height:32px;font:inherit;background:#eeeef2;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:22px;line-height:1;display:grid}.person-editor-field{flex-direction:column;gap:7px;margin-top:16px;font-size:13px;font-weight:650;display:flex}.person-editor-field input,.person-editor-field select{color:#1d1d1f;width:100%;font:inherit;background:#fff;border:1px solid #c7c7cc;border-radius:8px;padding:10px 11px;font-weight:400}.person-editor-field input:focus,.person-editor-field select:focus{border-color:#0071e3;outline:2px solid #0071e326}.person-new-relationship-field{border-left:2px solid #dbeafe;margin-top:10px;padding-left:14px}.person-primary-face-fieldset{border:0;min-width:0;margin:20px 0 0;padding:0}.person-primary-face-fieldset legend{margin-bottom:9px;font-size:13px;font-weight:650}.person-primary-face-fieldset>p{color:#6e6e73;margin:0;font-size:13px}.person-primary-face-options{gap:10px;padding:3px 3px 8px;display:flex;overflow-x:auto}.person-primary-face-option{cursor:pointer;border:2px solid #0000;border-radius:12px;flex:none;padding:3px;position:relative}.person-primary-face-option.selected{border-color:#0071e3}.person-primary-face-option input{opacity:0;width:1px;height:1px;position:absolute}.person-primary-face-option:focus-within{outline-offset:2px;outline:2px solid #0071e3}.person-primary-face-option img{object-fit:cover;border-radius:8px;width:72px;height:72px;display:block}.person-hidden-field{cursor:pointer;background:#f5f5f7;border-radius:10px;align-items:flex-start;gap:10px;margin-top:20px;padding:13px;display:flex}.person-hidden-field input{margin-top:3px}.person-hidden-field span{flex-direction:column;gap:3px;display:flex}.person-hidden-field strong{font-size:13px}.person-hidden-field small{color:#6e6e73;font-size:12px;line-height:1.35}.person-editor-error{color:#b42318;margin:15px 0 0;font-size:13px}.person-editor-actions{border-top:1px solid #ededf0;justify-content:flex-end;gap:9px;margin-top:24px;padding-top:18px;display:flex}.person-editor-actions button{cursor:pointer;font:inherit;background:#fff;border:1px solid #d8d8dc;border-radius:8px;padding:9px 14px;font-size:14px;font-weight:600}.person-editor-actions button.primary{color:#fff;background:#0071e3;border-color:#0071e3}.person-editor-actions button:disabled,.person-editor-close:disabled{cursor:wait;opacity:.6}.media-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:18px;display:grid}.media-tile{flex-direction:column;gap:8px;display:flex;position:relative}.media-link{flex-direction:column;gap:8px;display:flex}.media-preview{height:180px;position:relative}.media-placeholder{color:#6e6e73;background:linear-gradient(135deg,#d8d8dc,#f5f5f7);border:1px solid #d8d8dc;border-radius:14px;justify-content:center;align-items:center;height:100%;font-weight:700;display:flex}.media-image{object-fit:cover;background:#eeeef2;border:1px solid #d8d8dc;border-radius:14px;width:100%;height:180px;display:block}.video-badge{background:#1d1d1fc7;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;bottom:10px;right:10px}.has-favorite-control .video-badge,.has-remove-control .video-badge{right:52px}.favorite-button{color:#2f2f32;cursor:pointer;opacity:0;background:#ffffffeb;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;transition:opacity .14s,transform .14s,color .14s;display:grid;position:absolute;bottom:10px;right:10px;transform:translateY(3px);box-shadow:0 1px 5px #0000003d}.favorite-button svg{fill:#0000;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;width:20px;height:20px;overflow:visible}.favorite-button.is-favorite svg{fill:currentColor}.media-tile:hover .favorite-button,.library-media-tile .favorite-button.is-favorite,.favorite-button:focus-visible{opacity:1;transform:translateY(0)}.favorite-button:focus-visible{outline-offset:2px;outline:3px solid #0057d966}.favorite-button:disabled{cursor:wait;opacity:.65}.remove-from-collection-button{color:#c62828;cursor:pointer;opacity:0;background:#ffffffeb;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;transition:opacity .14s,transform .14s,background-color .14s;display:grid;position:absolute;bottom:10px;right:10px;transform:translateY(3px);box-shadow:0 1px 5px #0000003d}.remove-from-collection-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:19px;height:19px}.media-tile:hover .remove-from-collection-button,.remove-from-collection-button:focus-visible{opacity:1;transform:translateY(0)}.remove-from-collection-button:focus-visible{outline-offset:2px;outline:3px solid #c6282859}.remove-from-collection-button:disabled{cursor:wait;opacity:.65}.favorite-error{color:#b42318;margin:-10px 0 18px;font-size:14px}.library-filters{background:#fff;border:1px solid #dedee3;border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;margin:-6px 0 22px;padding:14px;display:flex}.library-filters label{color:#6e6e73;flex-direction:column;flex:160px;gap:6px;min-width:145px;font-size:12px;font-weight:650;display:flex}.people-filter-field{color:#6e6e73;flex:160px;min-width:145px;font-size:12px;font-weight:650;position:relative}.people-filter-label{margin-bottom:6px;display:block}.people-filter-field details{position:relative}.people-filter-field summary{color:#1d1d1f;cursor:pointer;background:#fff;border:1px solid #c7c7cc;border-radius:9px;min-height:38px;padding:9px 30px 8px 10px;font-size:14px;font-weight:400;list-style:none}.people-filter-field summary::-webkit-details-marker{display:none}.people-filter-field summary:after{content:"▾";color:#6e6e73;font-size:11px;position:absolute;top:12px;right:11px}.people-filter-menu{z-index:20;background:#fff;border:1px solid #dedee3;border-radius:10px;max-height:220px;padding:6px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.library-filters .people-filter-menu label{color:#1d1d1f;cursor:pointer;border-radius:7px;flex-direction:row;flex:none;align-items:center;gap:8px;min-width:0;min-height:34px;padding:6px 8px;font-size:14px;font-weight:400}.library-filters .people-filter-menu label:hover{background:#f5f5f7}.library-filters .people-filter-menu input{min-height:0;margin:0;padding:0}.people-filter-empty{color:#86868b;padding:7px 8px;font-size:13px;font-weight:400;display:block}.date-filter-field,.location-filter-field{color:#6e6e73;flex:230px;min-width:210px;font-size:12px;font-weight:650;position:relative}.date-filter-label,.location-filter-label{margin-bottom:6px;display:block}.date-filter-field details,.location-filter-field details{position:relative}.date-filter-field summary,.location-filter-field summary{color:#1d1d1f;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:1px solid #c7c7cc;border-radius:9px;min-height:38px;padding:9px 30px 8px 10px;font-size:14px;font-weight:400;list-style:none;overflow:hidden}.date-filter-field summary::-webkit-details-marker{display:none}.location-filter-field summary::-webkit-details-marker{display:none}.date-filter-field summary:after,.location-filter-field summary:after{content:"▾";color:#6e6e73;font-size:11px;position:absolute;top:12px;right:11px}.date-filter-menu,.location-filter-menu{z-index:25;background:#fff;border:1px solid #dedee3;border-radius:10px;width:290px;max-width:min(290px,100vw - 48px);max-height:390px;padding:6px;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.date-filter-row,.location-filter-row{align-items:center;gap:4px;display:flex}.library-filters .date-filter-option,.library-filters .location-filter-option{color:#1d1d1f;cursor:pointer;letter-spacing:0;border-radius:7px;flex-direction:row;flex:1;align-items:center;gap:8px;min-width:0;min-height:36px;padding:7px 8px;font-size:14px;font-weight:400}.library-filters .date-filter-option:hover,.library-filters .location-filter-option:hover{background:#f5f5f7}.library-filters .date-filter-option input,.library-filters .location-filter-option input{min-height:0;margin:0;padding:0}.library-filters .date-filter-row>button,.library-filters .location-filter-row>button{color:#6e6e73;background:0 0;border:0;place-items:center;min-width:32px;min-height:32px;padding:0;font-size:22px;transition:transform .15s;display:grid}.library-filters .date-filter-row>button.expanded,.library-filters .location-filter-row>button.expanded{transform:rotate(90deg)}.date-filter-months,.location-filter-states,.location-filter-cities{padding-left:22px}.date-filter-custom{border-top:1px solid #dedee3;margin-top:5px;padding-top:5px}.library-filters .date-filter-custom>button{color:#1d1d1f;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:36px;padding:7px 8px;font-size:14px;font-weight:600;display:flex}.library-filters .date-filter-custom>button span:last-child{color:#6e6e73;font-size:22px;transition:transform .15s}.library-filters .date-filter-custom>button.expanded span:last-child{transform:rotate(90deg)}.date-filter-custom-fields{gap:9px;padding:7px 8px 9px;display:grid}.library-filters .date-filter-custom-fields label{color:#6e6e73;gap:5px;min-width:0}.date-filter-empty,.location-filter-empty{color:#86868b;padding:7px 8px;font-size:13px;font-weight:400;display:block}.library-filters input,.library-filters select,.info-edit-form select{color:#1d1d1f;min-height:38px;font:inherit;background:#fff;border:1px solid #c7c7cc;border-radius:9px;padding:8px 10px}.library-filters button{color:#06c;cursor:pointer;background:#fff;border:1px solid #c7c7cc;border-radius:9px;min-height:38px;padding:8px 12px;font-weight:650}@media (hover:none){.favorite-button{opacity:1;transform:none}}.play-icon{border-top:5px solid #0000;border-bottom:5px solid #0000;border-left:8px solid #fff;width:0;height:0;margin-left:2px}.media-title{font-size:14px;font-weight:600}.empty-card{color:#6e6e73;background:#fff;border:1px solid #d8d8dc;border-radius:16px;padding:32px}.detail-layout{grid-template-columns:1fr 320px;gap:24px;height:calc(100vh - 132px);display:grid}.photo-detail-layout{grid-template-columns:minmax(0,1fr)}.photo-detail-layout.show-info{grid-template-columns:minmax(0,1fr) 320px}.photo-detail-main{flex-direction:column;min-width:0;display:flex}.media-detail-summary{background:#fff;border:1px solid #d8d8dc;border-radius:12px;gap:5px;margin-bottom:16px;padding:12px 16px;display:grid}.media-detail-summary p{text-align:center;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.media-detail-summary p:first-child{color:#1d1d1f;font-weight:600}.media-detail-summary p:last-child{color:#6e6e73;font-size:14px}.detail-toolbar{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.detail-toolbar h1{margin:0}.detail-toolbar-actions{align-items:center;gap:8px;display:flex}.icon-button{cursor:pointer;background:#fff;border:1px solid #d8d8dc;border-radius:999px;padding:8px 14px}.detail-back-button{box-sizing:border-box;color:#1d1d1f;place-items:center;width:38px;height:38px;padding:0;display:grid}.detail-back-button:hover{color:#06c;background:#e7f2ff;border-color:#89b8ee}.delete-media-button{color:#c62828;place-items:center;width:38px;height:38px;padding:0;display:grid}.delete-media-button:hover{background:#fff0f0;border-color:#e0a3a3}.delete-media-button:disabled{cursor:wait;opacity:.55}.delete-media-error{color:#b42318;max-width:220px;font-size:13px}.faces-toolbar-button,.info-toolbar-button,.favorite-toolbar-button,.share-toolbar-button,.add-to-library-button{place-items:center;width:38px;height:38px;padding:0;display:grid}.favorite-toolbar-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;width:19px;height:19px}.favorite-toolbar-button.is-favorite{color:#e32636;background:#fff0f0;border-color:#efb0b5}.favorite-toolbar-button.is-favorite svg{fill:currentColor}.favorite-toolbar-button:disabled{cursor:wait;opacity:.6}.add-to-library-control{position:relative}.add-to-library-button{color:#06c}.add-to-library-button.added{color:#217a3c;background:#effaf2;border-color:#9ccdab}.add-to-library-button:disabled{cursor:wait;opacity:.7}.add-to-library-error{z-index:20;color:#b42318;background:#fff0f0;border:1px solid #e0a3a3;border-radius:9px;width:220px;margin:0;padding:9px 11px;font-size:12px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 24px #0000001f}.faces-toolbar-button.active,.info-toolbar-button.active,.share-toolbar-button.active{color:#06c;background:#e7f2ff;border-color:#89b8ee}.share-menu-container{position:relative}.share-menu{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fafafcf5;border:1px solid #0000001a;border-radius:14px;width:250px;max-height:min(420px,100vh - 130px);padding:7px;position:absolute;top:calc(100% + 9px);right:0;overflow-y:auto;box-shadow:0 14px 38px #0003}.share-menu button{color:#1d1d1f;cursor:pointer;width:100%;min-height:40px;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;display:flex}.share-menu button:hover{color:#005bb5;background:#e7f2ff}.share-menu button:disabled{cursor:wait;opacity:.65}.share-menu-divider{background:#d8d8dc;height:1px;margin:5px 3px}.share-action-icon,.share-album-icon{color:#06c;background:#e7f2ff;border-radius:7px;flex:0 0 26px;place-items:center;width:26px;height:26px;font-size:16px;display:grid}.share-action-icon.album,.share-album-icon{color:#6e45c2;background:#f0eafe}.share-menu-chevron{color:#8e8e93;margin-left:auto;font-size:22px}.share-menu .share-menu-back{font-weight:650}.share-menu-back>span{font-size:25px;line-height:0}.share-album-list{gap:2px;display:grid}.share-album-list button>span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.share-album-list small{color:#248a3d;margin-left:auto;font-size:12px}.share-new-album-form{gap:8px;padding:5px 3px 3px;display:grid}.share-new-album-form label{color:#6e6e73;font-size:13px;font-weight:600}.share-new-album-form input,.share-new-album-form select{color:#1d1d1f;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #c7c7cc;border-radius:8px;padding:9px 10px}.share-new-album-form input:focus,.share-new-album-form select:focus{border-color:#0071e3;outline:2px solid #0071e333}.share-menu .share-new-album-form button[type=submit]{color:#fff;text-align:center;background:#0071e3;justify-content:center;font-weight:650}.share-menu .share-new-album-form button[type=submit]:hover{color:#fff;background:#0062c4}.share-menu-status,.share-menu-feedback{color:#6e6e73;padding:10px;font-size:13px;display:block}.share-menu-feedback{color:#248a3d;padding-top:6px}.share-menu-feedback.error{color:#b42318}.share-menu-heading{padding:8px 10px 5px;font-size:14px;font-weight:650}.share-person-menu{width:290px}.album-header-actions{align-items:center;gap:8px;display:flex}.shared-sections{gap:34px;display:grid}.shared-sections h2{margin:0 0 14px;font-size:20px}.shared-empty{color:#6e6e73;margin:0}.shared-collection-card{position:relative}.shared-collection-card .collection-card{height:100%;padding-right:84px}.unshare-button{color:#b42318;cursor:pointer;background:#fff0f0;border:0;border-radius:7px;padding:6px 9px;font-size:12px;font-weight:650;position:absolute;bottom:12px;right:12px}.unshare-button:disabled{cursor:wait;opacity:.6}.faces-panel{background:#fff;border:1px solid #d8d8dc;border-radius:16px;flex:none;margin-bottom:18px;padding:18px}.faces-panel-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.faces-panel-actions{flex:none;align-items:center;gap:10px;display:flex}.faces-panel-header h2{margin:0;font-size:19px}.faces-panel-header p{color:#6e6e73;margin:5px 0 0;font-size:13px}.capture-faces-button{color:#fff;cursor:pointer;font:inherit;background:#0071e3;border:0;border-radius:8px;flex:none;padding:9px 14px;font-size:14px;font-weight:650}.capture-faces-button:hover{background:#0062c4}.capture-faces-button:disabled{cursor:wait;opacity:.6}.faces-list{gap:12px;margin-top:16px;padding-bottom:2px;display:flex;overflow-x:auto}.face-card{flex-direction:column;flex:0 0 210px;gap:5px;min-width:0;display:flex}.face-thumbnail{width:86px;height:86px;position:relative}.face-card img{object-fit:cover;background:#eeeef2;border-radius:12px;width:86px;height:86px}.delete-face-button{color:#fff;cursor:pointer;width:24px;height:24px;font:inherit;background:#1d1d1fc7;border:1px solid #ffffffb3;border-radius:50%;place-items:center;padding:0 0 2px;font-size:20px;line-height:1;display:grid;position:absolute;top:4px;right:4px;box-shadow:0 1px 4px #0000003d}.delete-face-button:hover:not(:disabled){background:#b42318}.delete-face-button:focus-visible{outline-offset:2px;outline:2px solid #0071e3}.delete-face-button:disabled{cursor:wait;opacity:.65}.face-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.face-card span{color:#6e6e73;font-size:12px}.face-person-editor{flex-direction:column;gap:6px;margin-top:3px;display:flex;position:relative}.face-person-editor>input{width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d8d8dc;border-radius:6px;padding:6px 7px;font-size:12px}.face-person-editor>input:focus{border-color:#0071e3;outline:2px solid #0071e32e}.face-person-editor>input:disabled{cursor:wait;opacity:.6}.face-suggestions{background:#fff;border:1px solid #d8d8dc;border-radius:8px;max-height:280px;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.face-suggestions-heading,.face-suggestions-empty{color:#6e6e73;padding:7px 9px;font-size:11px}.face-suggestions-heading{text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #ededf0;font-weight:650}.face-suggestion,.face-suggestion-create{color:#1d1d1f;cursor:pointer;width:100%;font:inherit;text-align:left;background:#fff;border:0;border-radius:0;padding:6px 8px;display:flex}.face-suggestion{align-items:center;gap:8px}.face-suggestion.highlighted,.face-suggestion-create.highlighted{background:#e7f2ff}.face-card .face-suggestion img{border-radius:7px;flex:none;width:34px;height:34px}.face-card .face-suggestion span{color:#1d1d1f;flex-direction:column;min-width:0;display:flex}.face-card .face-suggestion strong{font-size:12px}.face-suggestion small{color:#6e6e73;margin-top:1px;font-size:10px}.face-suggestion-create{color:#06c;border-top:1px solid #ededf0;font-size:11px;font-weight:650}.face-person-error{white-space:normal;color:#b42318!important}.faces-panel-empty,.faces-panel-error{margin:14px 0 0;font-size:13px}.faces-panel-empty{color:#6e6e73}.faces-panel-error{color:#b42318}.large-media-placeholder{color:#6e6e73;background:linear-gradient(135deg,#c7c7cc,#f5f5f7);border:1px solid #d8d8dc;border-radius:20px;flex:1;justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.media-navigation-stage{flex:1;min-height:0;display:flex;position:relative}.media-navigation-button{z-index:2;color:#fff;cursor:pointer;background:#1414189e;border:1px solid #ffffffa6;border-radius:999px;place-items:center;width:46px;height:46px;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 14px #00000038}.media-navigation-button.previous{left:16px}.media-navigation-button.next{right:16px}.media-navigation-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.media-navigation-button:hover:not(:disabled){background:#141418d1}.media-navigation-button:disabled{cursor:default;opacity:.28}.large-media-image{object-fit:contain;background:#eeeef2;border-radius:20px;flex:1;width:100%;min-height:0;display:block}.large-media-video{object-fit:contain;background:#111;border-radius:20px;flex:1;width:100%;min-height:0;display:block}.info-panel{background:#fff;border:1px solid #d8d8dc;border-radius:18px;padding:20px;overflow-y:auto}.info-panel-header{align-items:center;gap:8px;margin-bottom:18px;display:flex}.info-panel-close{margin-left:auto}@media (max-width:600px){.faces-panel-header{align-items:flex-start}.faces-panel-actions{flex-direction:column-reverse;align-items:flex-end}}.info-panel h2{margin:0}.info-edit-button{color:#06c;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:32px;height:32px;padding:0;display:grid}.info-edit-button:hover,.info-edit-button.active{background:#edf5ff}.info-edit-button:disabled{color:#a1a1a6;cursor:default;background:0 0}.info-row{border-bottom:1px solid #eeeeef;justify-content:space-between;gap:16px;padding:12px 0;font-size:14px;display:flex}.info-row span{color:#6e6e73}.info-row strong{text-align:right;overflow-wrap:anywhere}.info-favorite-row{align-items:center}.info-favorite-toggle{cursor:pointer;background:#c7c7cc;border:0;border-radius:999px;width:44px;height:26px;padding:0;transition:background-color .15s;position:relative}.info-favorite-toggle>span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000003d}.info-favorite-toggle.active{background:#e32636}.info-favorite-toggle.active>span{transform:translate(18px)}.info-favorite-toggle:focus-visible{outline-offset:2px;outline:3px solid #0071e347}.info-favorite-toggle:disabled{cursor:wait;opacity:.65}.info-status,.info-error{color:#6e6e73;margin:0;font-size:14px}.info-error{color:#b42318;margin-top:14px}.info-edit-form{flex-direction:column;gap:16px;display:flex}.info-edit-form label{color:#6e6e73;flex-direction:column;gap:7px;font-size:13px;font-weight:650;display:flex}.info-edit-form input,.info-edit-form textarea{box-sizing:border-box;color:#1d1d1f;width:100%;font:inherit;background:#fff;border:1px solid #c7c7cc;border-radius:9px;padding:10px 11px}.info-edit-form textarea{resize:vertical;min-height:88px}.info-add-location-toggle{color:#06c;cursor:pointer;font:inherit;background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px;font-weight:650}.info-new-location-fields{background:#f5f5f7;border-radius:10px;gap:12px;padding:13px;display:grid}.info-create-location-button{color:#fff;cursor:pointer;background:#0071e3;border:1px solid #0071e3;border-radius:8px;justify-self:end;padding:8px 11px;font-weight:650}.info-edit-form input:focus,.info-edit-form textarea:focus{border-color:#0071e3;outline:2px solid #0071e329}.info-edit-actions{justify-content:flex-end;gap:8px;display:flex}.info-edit-actions button{cursor:pointer;background:#fff;border:1px solid #c7c7cc;border-radius:8px;padding:8px 12px}.info-edit-actions button.primary{color:#fff;background:#0071e3;border-color:#0071e3}.info-edit-actions button:disabled{cursor:wait;opacity:.65}.info-row.vertical{display:block}.info-description-row strong{text-align:left;white-space:pre-wrap;margin-top:7px;display:block}.pill-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pill{background:#f2f2f7;border-radius:999px;padding:6px 10px;font-size:13px}:root{--canvas:#f4f6f8;--surface:#fff;--surface-muted:#f8fafb;--surface-hover:#f1f4f7;--ink:#18212b;--ink-soft:#5e6b78;--ink-faint:#8793a0;--line:#dfe4e9;--line-strong:#cfd6dd;--brand:#3867e8;--brand-strong:#2854ce;--brand-soft:#edf2ff;--danger:#c63d4f;--sidebar-bg:#111820;--sidebar-surface:#1a232d;--sidebar-ink:#f4f7fa;--sidebar-muted:#8996a4;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 10px 28px #0f172a17;--shadow-lg:0 28px 70px #0f172a38}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:15px}button,input,select,textarea{font-family:inherit}button,a,summary,input,select,textarea{-webkit-tap-highlight-color:transparent}::selection{color:#162c68;background:#dce6ff}.app-shell{grid-template-columns:264px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{z-index:60;background:var(--sidebar-bg);width:264px;height:100vh;min-height:0;color:var(--sidebar-ink);-webkit-backdrop-filter:none;backdrop-filter:none;border:0;flex-direction:column;align-items:stretch;padding:22px 14px 16px;display:flex;position:sticky;top:0;overflow-y:auto;box-shadow:8px 0 30px #0f172a12}.sidebar-title{font-size:inherit;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:0 8px 25px;display:grid}.sidebar-brand-mark,.mobile-brand-mark{background:linear-gradient(145deg,#6d8fff,#315bd8 64%,#2547aa);border-radius:11px;place-items:center;width:38px;height:38px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff47,0 7px 18px #1840aa47}.sidebar-brand-mark:before,.mobile-brand-mark:before,.sidebar-brand-mark:after,.mobile-brand-mark:after,.sidebar-brand-mark span{content:"";border:2px solid #ffffffeb;border-radius:4px;position:absolute}.sidebar-brand-mark:before,.mobile-brand-mark:before{width:17px;height:13px;transform:translate(-2px,-2px)}.sidebar-brand-mark:after,.mobile-brand-mark:after{background:#ffffff21;width:14px;height:11px;transform:translate(4px,4px)}.sidebar-brand-copy,.mobile-brand-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.sidebar-brand-copy>span,.mobile-brand-copy strong{color:var(--sidebar-ink);letter-spacing:-.015em;font-size:16px;font-weight:720}.sidebar-brand-copy small,.mobile-brand-copy small{color:var(--sidebar-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:600}.sidebar-section{flex-direction:column;gap:3px;display:flex}.sidebar-section-label{color:#687584;letter-spacing:.11em;text-transform:uppercase;padding:0 10px 8px;font-size:10px;font-weight:720}.nav-item,.sidebar-group-link{color:#b9c3ce;letter-spacing:0;font-size:14px;font-weight:520}.nav-item{border-radius:9px;padding:10px 11px;transition:background-color .15s,color .15s,transform .15s}.nav-item:hover,.sidebar-group-header:hover{background:var(--sidebar-surface);color:var(--sidebar-ink)}.nav-item.active{color:#fff;background:linear-gradient(90deg,#4970e642,#4970e61a);font-weight:650;box-shadow:inset 3px 0 #6f91ff}.sidebar-group{margin:22px 0 0;position:static}.sidebar-group-header{border-radius:9px}.sidebar-group-link{color:var(--sidebar-muted);letter-spacing:.08em;text-transform:uppercase;padding:9px 4px 9px 10px;font-size:11px;font-weight:720}.sidebar-group-link:hover,.sidebar-group-link.active,.sidebar-toggle:hover .dropdown-arrow{color:#dfe6ed}.sidebar-toggle{width:34px;color:var(--sidebar-muted)}.dropdown-arrow{color:var(--sidebar-muted)}.sidebar-sublist{width:auto;max-height:230px;box-shadow:none;background:0 0;border:0;border-left:1px solid #2a3541;border-radius:0;margin:4px 0 0 8px;padding:2px 0 2px 8px;position:static;overflow-y:auto}.sidebar-sublist .nav-item{color:#9eabb8;padding:7px 9px;font-size:13px}.sidebar-sublist .nav-item.active{color:#fff}.sidebar-person-thumbnail,.sidebar-person-thumbnail-placeholder{color:#c2ccd6;background:#25303b;border:1px solid #34414e}.sidebar-hidden-people{color:#778594;border-color:#2a3541}.sidebar-sublist-status,.sidebar-sublist-retry{color:var(--sidebar-muted)}.sidebar-account{border-top:1px solid #27313b;border-left:0;grid-template-columns:38px minmax(0,1fr);gap:10px;max-width:none;margin:auto 0 0;padding:16px 8px 2px}.sidebar-avatar{color:#dbe5ef;background:#202c38;border:1px solid #354353;width:38px;height:38px;font-size:13px}.sidebar-account-details strong{color:#e8edf2;font-size:12px}.sidebar-account-details span{color:#778594;font-size:10px}.sidebar-account button{color:#8fa9ff;font-size:11px}.main-content{background:radial-gradient(circle at 90% -10%, #4970e60f, transparent 28rem), var(--canvas);width:100%;min-width:0;padding:42px clamp(28px,4vw,64px) 64px;overflow:visible}.main-content>section{width:min(100%,1540px);margin:0 auto}.page-header{margin-bottom:30px}.page-header h1,.detail-toolbar h1{color:var(--ink);letter-spacing:-.035em;font-size:clamp(28px,3vw,38px);font-weight:720;line-height:1.1}.page-header p{max-width:680px;color:var(--ink-soft);margin-top:9px;font-size:14px;line-height:1.55}.library-page-header{align-items:flex-start;min-height:42px}.library-header-actions,.album-header-actions,.detail-toolbar-actions{gap:8px}.library-header-actions .upload-button,.filter-button,.select-media-button{border-radius:11px;width:42px;height:42px}.library-header-actions .upload-button{background:var(--brand);box-shadow:0 5px 14px #3867e83d}.library-header-actions .upload-button:hover{background:var(--brand-strong);transform:translateY(-1px)}.filter-button,.select-media-button{border-color:var(--line);color:#42505e;box-shadow:var(--shadow-sm);background:#ffffffeb}.filter-button:hover,.filter-button.active,.select-media-button:hover,.select-media-button.active{background:var(--brand-soft);color:var(--brand-strong);border-color:#b9c8ef}.filter-count-badge{border-color:var(--canvas);background:var(--brand)}.library-filters{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fffffff0;gap:14px;margin:-8px 0 26px;padding:18px}.library-filters label,.people-filter-field,.date-filter-field,.location-filter-field{min-width:132px;color:var(--ink-soft);letter-spacing:.035em;flex-basis:145px;font-size:11px;font-weight:700}.library-filters input,.library-filters select,.people-filter-field summary,.date-filter-field summary,.location-filter-field summary,.info-edit-form input,.info-edit-form textarea,.info-edit-form select,.album-create-form input{border-color:var(--line-strong);background:var(--surface);min-height:42px;color:var(--ink);letter-spacing:0;border-radius:10px;outline:none;font-size:13px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 0 1px 1px #0f172a05}.library-filters input:focus,.library-filters select:focus,.people-filter-field details[open] summary,.date-filter-field details[open] summary,.location-filter-field details[open] summary,.info-edit-form input:focus,.info-edit-form textarea:focus,.info-edit-form select:focus,.album-create-form input:focus{border-color:#8da8ef;box-shadow:0 0 0 3px #3867e81c}.library-filters select:disabled{color:#9ba5af;background:#f4f6f8}.library-filters>button{border-color:var(--line);background:var(--surface-muted);min-height:42px;color:var(--brand-strong);border-radius:10px;font-size:12px}.library-filters>button:hover{background:var(--brand-soft)}.people-filter-menu,.date-filter-menu,.location-filter-menu{border-color:var(--line);min-width:210px;box-shadow:var(--shadow-md);border-radius:12px}.media-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}.media-grid-section{min-width:0}.bulk-selection-toolbar{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:14px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;display:flex}.bulk-selection-toolbar>strong{color:var(--ink);margin-right:auto;font-size:13px}.bulk-selection-controls{flex-wrap:wrap;gap:7px;display:flex}.bulk-selection-controls button,.bulk-action-form>button,.bulk-action-confirm>button{border:1px solid var(--line-strong);background:var(--surface-muted);min-height:36px;color:var(--ink);cursor:pointer;font:inherit;border-radius:9px;padding:7px 11px;font-size:12px;font-weight:700}.bulk-selection-controls button:hover,.bulk-action-form>button:hover,.bulk-action-confirm>button:hover{background:var(--surface-hover)}.bulk-selection-controls button:disabled,.bulk-action-form>button:disabled,.bulk-action-confirm>button:disabled{cursor:wait;opacity:.55}.bulk-selection-controls button.danger,.bulk-action-confirm>button.danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));color:var(--danger)}.bulk-action-feedback{color:var(--ink-soft);margin:-4px 0 14px;font-size:13px}.media-select-target{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:0;display:block}.media-grid.selecting .media-tile:hover,.media-grid.selecting .media-tile:hover .media-image{transform:none}.media-tile.selectable .media-preview{transition:border-color .15s,box-shadow .15s,opacity .15s}.media-tile.selectable:not(.selected) .media-preview{opacity:.82}.media-tile.selected .media-preview{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--brand) 24%, transparent);opacity:1}.media-selection-check{z-index:2;color:#fff;background:#141b2294;border:2px solid #ffffffe6;border-radius:50%;place-items:center;width:28px;height:28px;font-size:15px;font-weight:800;display:grid;position:absolute;top:11px;left:11px;box-shadow:0 3px 10px #0000003d}.media-selection-check.selected{border-color:var(--brand);background:var(--brand)}.bulk-action-backdrop{z-index:110;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#060a0f94;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.bulk-action-modal{border:1px solid var(--line);background:var(--surface);width:min(100%,520px);color:var(--ink);box-shadow:var(--shadow-lg);border-radius:18px;padding:22px}.bulk-action-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.bulk-action-modal-header h2{margin:0;font-size:20px}.bulk-action-modal-header>button{background:var(--surface-hover);width:34px;height:34px;color:var(--ink-soft);cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:22px;display:grid}.bulk-action-form,.bulk-action-confirm{gap:14px;display:grid}.bulk-action-form label{color:var(--ink-soft);gap:6px;font-size:12px;font-weight:700;display:grid}.bulk-action-form label>small{color:var(--ink-faint);font-size:11px;font-weight:500}.bulk-action-form input,.bulk-action-form select,.bulk-action-form textarea{border:1px solid var(--line-strong);background:var(--surface);width:100%;min-height:42px;color:var(--ink);font:inherit;border-radius:10px;padding:9px 10px}.bulk-action-form textarea{resize:vertical;min-height:90px}.bulk-action-form>button,.bulk-action-confirm>button{background:var(--brand);color:#fff;justify-self:end;min-width:110px}.bulk-action-form>.bulk-create-location-toggle{border-color:var(--line-strong);background:var(--surface-muted);color:var(--brand-strong);justify-self:start}.bulk-new-location-fields{border:1px solid var(--line);background:var(--surface-muted);border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;display:grid}.bulk-action-confirm p,.bulk-action-note{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.bulk-action-confirm>button.danger{border-color:var(--danger);background:var(--danger);color:#fff}.bulk-action-error{color:var(--danger);margin:14px 0 0;font-size:13px}.media-tile{gap:9px;min-width:0;transition:transform .18s}.media-tile:hover{transform:translateY(-3px)}.media-preview{aspect-ratio:4/3;background:#e7ebef;border:1px solid #cfd6dde6;border-radius:15px;height:auto;transition:box-shadow .18s,border-color .18s;overflow:hidden;box-shadow:0 2px 5px #0f172a0d}.media-tile:hover .media-preview{border-color:#c4ccd4;box-shadow:0 14px 30px #0f172a21}.media-image{border:0;border-radius:0;width:100%;height:100%;transition:transform .3s cubic-bezier(.2,.7,.2,1)}.media-tile:hover .media-image{transform:scale(1.025)}.media-placeholder{color:#7b8793;background:linear-gradient(145deg,#e4e9ed,#f4f6f8);border:0;border-radius:0;height:100%}.media-title{color:#34414e;padding:0 2px;font-size:13px;font-weight:620}.favorite-button,.remove-from-collection-button,.video-badge{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#141b22b8;border:1px solid #ffffff73;width:35px;height:35px;bottom:11px;right:11px;box-shadow:0 5px 15px #00000038}.favorite-button.is-favorite{color:#ff7180}.remove-from-collection-button{color:#ffb7bd}.remove-from-collection-button:hover{background:#7d212de0}.collection-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}.collection-card{border-color:var(--line);min-height:98px;box-shadow:var(--shadow-sm);border-radius:16px;padding:17px}.collection-card:hover{box-shadow:var(--shadow-md);border-color:#c7d0d9;transform:translateY(-2px)}.collection-card-icon{background:var(--brand-soft);height:56px;color:var(--brand-strong);flex-basis:56px}.collection-card-title{color:var(--ink);font-weight:680}.collection-card-meta{color:var(--ink-soft)}.people-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:22px}.person-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:17px;gap:12px;padding:10px 10px 13px;transition:border-color .18s,box-shadow .18s,transform .18s}.person-card:hover{box-shadow:var(--shadow-md);border-color:#c8d0d8;transform:translateY(-3px)}.person-card-image,.person-card-placeholder{border-radius:12px}.person-card:hover .person-card-image,.person-card:hover .person-card-placeholder{box-shadow:none;transform:none}.person-card-name{color:var(--ink);text-align:left;padding:0 3px;font-size:14px;font-weight:650}.empty-card{border-radius:var(--radius-lg);min-height:170px;color:var(--ink-soft);text-align:center;background:#ffffffa6;border:1px dashed #ccd4dc;place-items:center;padding:42px;display:grid}.upload-modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0c1219ab}.upload-modal{background:var(--surface);box-shadow:var(--shadow-lg);border:1px solid #ffffffb3;border-radius:22px}.upload-modal-header{border-bottom:1px solid var(--line);padding-bottom:17px}.upload-modal-header h2{color:var(--ink);letter-spacing:-.025em;font-size:24px;font-weight:720}.upload-modal-header p{color:var(--ink-soft)}.upload-modal-close{background:var(--surface-hover);color:#53606d}.upload-modal-close:hover{background:#e5e9ed}.upload-drop-zone{background:var(--surface-muted);border-color:#bfc9d3;border-radius:16px}.upload-drop-zone:hover,.upload-drop-zone.dragging{background:#f5f7ff;border-color:#7393e8}.detail-layout{gap:20px}.media-detail-summary,.faces-panel,.info-panel{border-color:var(--line);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:16px}.icon-button,.info-edit-actions button,.person-editor-actions button{border-color:var(--line-strong);background:var(--surface);color:#34414e}.icon-button:hover,.info-edit-actions button:hover,.person-editor-actions button:hover{background:var(--surface-hover)}.info-edit-actions button.primary,.person-editor-actions button.primary,.info-create-location-button,.auth-submit{border-color:var(--brand);background:var(--brand)}.auth-page{background:radial-gradient(circle at 15% 10%,#4970e62e,#0000 34rem),radial-gradient(circle at 90% 90%,#2a9d8f1c,#0000 30rem),#eef2f6}.auth-card{border-color:#ffffffbf;border-radius:22px;box-shadow:0 30px 80px #17233229}.auth-brand{background:linear-gradient(145deg,#6d8fff,#315bd8 64%,#2547aa);box-shadow:0 10px 22px #315bd83d}.auth-card h1{color:var(--ink);letter-spacing:-.035em;font-weight:730}.auth-tabs{background:#edf0f3}.auth-tabs button.active{color:var(--ink);box-shadow:0 2px 7px #0f172a17}@media (max-width:1200px) and (min-width:1041px){.app-shell{grid-template-columns:236px minmax(0,1fr)}.sidebar{width:236px}.main-content{padding-left:34px;padding-right:34px}}@media (max-width:1040px){.app-shell{display:block}.mobile-app-header{border-color:var(--line);min-height:64px;box-shadow:var(--shadow-sm);background:#ffffffe6;gap:10px;padding:10px 18px}.mobile-menu-button{border-color:var(--line);background:var(--surface-muted);color:var(--ink)}.mobile-brand-mark{border-radius:10px;width:34px;height:34px;display:grid}.mobile-brand-copy strong{color:var(--ink);font-size:14px}.mobile-brand-copy small{color:var(--ink-faint);font-size:8px}.sidebar{z-index:80;background:var(--sidebar-bg);border:0;width:min(286px,88vw);height:100dvh;padding:20px 14px 16px;position:fixed;inset:0 auto 0 0}.sidebar-title{padding:0 6px 25px}.mobile-menu-close{color:#cbd4dd;background:#222d38}.sidebar-group{margin-top:22px}.sidebar-group-link{color:var(--sidebar-muted);padding:9px 4px 9px 10px}.sidebar-sublist{border-left-color:#2a3541;margin-left:8px;padding-left:8px}.main-content{padding:30px 22px 48px}}@media (max-width:700px){.main-content{padding:24px 15px 40px}.page-header{margin-bottom:23px}.page-header h1,.detail-toolbar h1{font-size:28px}.library-page-header,.person-detail-header{align-items:flex-start}.library-filters{gap:11px;padding:14px}.library-filters label,.people-filter-field,.date-filter-field,.location-filter-field{flex-basis:calc(50% - 6px);min-width:calc(50% - 6px)}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.bulk-selection-toolbar{align-items:stretch}.bulk-selection-toolbar>strong,.bulk-selection-controls{width:100%}.bulk-selection-controls button{flex:calc(50% - 4px)}.bulk-action-backdrop{align-items:end;padding:10px}.bulk-action-modal{border-radius:18px 18px 12px 12px}.bulk-new-location-fields{grid-template-columns:1fr}.media-preview{border-radius:12px}.collection-grid{grid-template-columns:1fr}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.person-card{border-radius:14px;padding:7px 7px 11px}.upload-modal-backdrop{padding:10px}}@media (max-width:420px){.library-filters label,.people-filter-field,.date-filter-field,.location-filter-field{flex-basis:100%;min-width:100%}.media-grid{gap:9px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sidebar-account-actions{grid-column:2;align-items:center;gap:12px;display:flex}.sidebar-account{position:relative}.sidebar-account .sidebar-account-actions>button,.theme-settings>summary{color:#8fa9ff;cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:600;list-style:none}.theme-settings>summary::-webkit-details-marker{display:none}.theme-settings>summary:hover,.sidebar-account .sidebar-account-actions>button:hover{color:#c5d2ff}.theme-settings{position:static}.theme-settings-menu{z-index:100;background:#1a232d;border:1px solid #303b47;border-radius:14px;width:100%;min-width:0;padding:8px;position:absolute;bottom:calc(100% + 12px);right:0;box-shadow:0 18px 42px #00000057}.theme-settings-heading{border-bottom:1px solid #2b3641;flex-direction:column;gap:3px;padding:8px 9px 10px;display:flex}.theme-settings-heading strong{color:#f0f4f8;font-size:13px}.theme-settings-heading span{color:#8d99a6;font-size:11px}.theme-options{gap:2px;padding-top:6px;display:grid}.sidebar-account .theme-options button{color:#c8d1da;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:24px minmax(0,1fr) 18px;align-items:center;gap:9px;width:100%;min-height:38px;padding:6px 8px;font-size:12px;font-weight:560;display:grid}.sidebar-account .theme-options button:hover,.sidebar-account .theme-options button.selected{color:#fff;background:#25313d}.theme-preview{background:#f7f8fa;border:1px solid #596674;border-radius:5px;width:23px;height:17px;display:block;position:relative;overflow:hidden}.theme-preview.dark{background:#111820}.theme-preview:after{content:"";background:#58677a;width:6px;position:absolute;top:0;bottom:0;left:0}.theme-option-check{color:#88a4ff;text-align:center;font-size:13px}html[data-theme=dark]{--canvas:#0f141a;--surface:#181f27;--surface-muted:#1c242d;--surface-hover:#242e38;--ink:#eff3f6;--ink-soft:#9ca8b4;--ink-faint:#758291;--line:#2d3742;--line-strong:#3a4652;--brand:#6f91ff;--brand-strong:#8ba5ff;--brand-soft:#202d4b;--danger:#ff7888;--shadow-sm:0 1px 2px #00000038;--shadow-md:0 14px 32px #00000047;--shadow-lg:0 30px 80px #0000007a;background:var(--canvas)}html[data-theme=dark] body,html[data-theme=dark] .main-content{background-color:var(--canvas);color:var(--ink)}html[data-theme=dark] .main-content{background:radial-gradient(circle at 90% -10%, #4970e617, transparent 28rem), var(--canvas)}html[data-theme=dark] .mobile-app-header{border-color:var(--line);background:#181f27eb}html[data-theme=dark] .mobile-menu-button{border-color:var(--line-strong);background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .filter-button,html[data-theme=dark] .select-media-button{border-color:var(--line-strong);background:var(--surface);color:var(--ink-soft)}html[data-theme=dark] .filter-count-badge{border-color:var(--canvas);color:#fff}html[data-theme=dark] .library-filters,html[data-theme=dark] .people-filter-menu,html[data-theme=dark] .date-filter-menu,html[data-theme=dark] .location-filter-menu,html[data-theme=dark] .collection-card,html[data-theme=dark] .person-card,html[data-theme=dark] .upload-selection,html[data-theme=dark] .person-editor-modal,html[data-theme=dark] .media-detail-summary,html[data-theme=dark] .faces-panel,html[data-theme=dark] .info-panel,html[data-theme=dark] .face-suggestions,html[data-theme=dark] .share-menu,html[data-theme=dark] .upload-modal{border-color:var(--line);background:var(--surface);color:var(--ink)}html[data-theme=dark] .library-filters .people-filter-menu label{color:var(--ink)}html[data-theme=dark] .library-filters .people-filter-menu label:hover{background:var(--surface-hover)}html[data-theme=dark] .library-filters .date-filter-option,html[data-theme=dark] .library-filters .location-filter-option,html[data-theme=dark] .library-filters .date-filter-custom>button{color:var(--ink)}html[data-theme=dark] .library-filters .date-filter-option:hover,html[data-theme=dark] .library-filters .location-filter-option:hover,html[data-theme=dark] .library-filters .date-filter-custom>button:hover{background:var(--surface-hover)}html[data-theme=dark] .date-filter-custom{border-color:var(--line)}html[data-theme=dark] .library-filters .date-filter-custom-fields label,html[data-theme=dark] .library-filters .date-filter-row>button,html[data-theme=dark] .library-filters .location-filter-row>button,html[data-theme=dark] .library-filters .date-filter-custom>button span:last-child{color:var(--ink-soft)}html[data-theme=dark] .media-detail-summary p:first-child{color:var(--ink)}html[data-theme=dark] .media-detail-summary p:last-child{color:var(--ink-soft)}html[data-theme=dark] .empty-card{border-color:var(--line-strong);color:var(--ink-soft);background:#181f279e}html[data-theme=dark] .media-preview{background:#222b34;border-color:#303b46}html[data-theme=dark] .media-placeholder,html[data-theme=dark] .large-media-image,html[data-theme=dark] .person-card-placeholder{color:var(--ink-soft);background:linear-gradient(145deg,#242d36,#1a2129)}html[data-theme=dark] :is(.library-filters input,.library-filters select,.info-edit-form input,.info-edit-form textarea,.info-edit-form select,.album-create-form input,.person-editor-field input,.person-editor-field select,.album-access-row select,.share-new-album-form input,.share-new-album-form select,.face-person-editor>input){border-color:var(--line-strong);color:var(--ink);background:#111820}html[data-theme=dark] .library-filters select:disabled{color:#667381;background:#141a21}html[data-theme=dark] :is(.library-filters>button,.icon-button,.info-edit-actions button,.person-editor-actions button,.person-edit-button,.person-editor-close){border-color:var(--line-strong);background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .album-access-row,html[data-theme=dark] .info-new-location-fields{border-color:var(--line);background:var(--surface-muted)}html[data-theme=dark] .face-suggestion,html[data-theme=dark] .face-suggestion-create{background:var(--surface);color:var(--ink)}html[data-theme=dark] .face-suggestion.highlighted,html[data-theme=dark] .face-suggestion-create.highlighted,html[data-theme=dark] .info-edit-button:hover,html[data-theme=dark] .info-edit-button.active{background:var(--brand-soft)}html[data-theme=dark] :is(.page-header p,.collection-card-meta,.upload-modal-header p,.upload-selection-header p,.person-editor-heading p,.info-row span,.face-card span,.shared-empty){color:var(--ink-soft)}html[data-theme=dark] .info-row,html[data-theme=dark] .upload-modal-header,html[data-theme=dark] .person-editor-actions{border-color:var(--line)}html[data-theme=dark] .pill{background:var(--surface-hover);color:var(--ink)}html[data-theme=dark] .auth-page{background:radial-gradient(circle at 15% 10%,#4970e626,#0000 34rem),radial-gradient(circle at 90% 90%,#2a9d8f14,#0000 30rem),#0d1217}html[data-theme=dark] .auth-card{background:#181f27f5;border-color:#2d3742}html[data-theme=dark] .auth-tabs{background:#111820}html[data-theme=dark] .auth-tabs button.active,html[data-theme=dark] .auth-form input{border-color:var(--line-strong);background:var(--surface-hover);color:var(--ink)}.detail-layout{height:calc(100dvh - 106px);min-height:0}.photo-detail-main{height:100%;min-height:0;overflow:hidden}.media-navigation-stage{background:#111;border-radius:20px;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;overflow:hidden}.large-media-image,.large-media-video{object-fit:contain;object-position:center;flex:0 auto;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block}@media (max-width:1040px){.detail-layout{height:calc(100dvh - 142px)}}@media (max-width:700px){.detail-layout{height:auto;min-height:0}.photo-detail-main{height:auto;overflow:visible}.media-navigation-stage{border-radius:15px;flex:none;height:clamp(280px,100dvh - 270px,620px);min-height:0}.large-media-image,.large-media-video{border-radius:15px}}
