@font-face{font-family:LocalSystem;src:local("PingFang SC")}*{box-sizing:border-box}html{font-size:15px;color:#20252f;background:#fff}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display",LocalSystem,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0;background:none;color:inherit;border-radius:10px;min-height:40px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:background .16s,color .16s}button:hover{background:#f0f3f8}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #92b4ff;outline-offset:3px}a{color:#2563eb;text-decoration:none}svg.icon{width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.topbar{height:76px;border-bottom:1px solid #eef0f3;display:flex;align-items:center;justify-content:space-between;padding:0 36px;position:sticky;top:0;background:#ffffffef;backdrop-filter:blur(20px);z-index:20}.brand{display:flex;align-items:center;gap:14px;color:#29384b;font-size:16px;letter-spacing:-.3px}.brand-mark{font-weight:800;font-size:29px;letter-spacing:-3px;font-family:Georgia,serif;padding-right:3px}.brand strong{font-size:15px;font-weight:500;letter-spacing:.5px}.brand-divider{margin:0 16px;color:#d7dce4}.top-right{display:flex;align-items:center;gap:20px}.release-label{font-size:11px;color:#727b90;letter-spacing:.5px}.account{background:#f5f6f9;font-size:13px;max-width:200px;overflow:hidden}.workspace{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:calc(100dvh - 76px)}.sidebar{border-right:1px solid #eef0f3;background:#f9fafc;display:flex;flex-direction:column;justify-content:space-between;padding:36px 18px 22px;position:sticky;top:76px;height:calc(100dvh - 76px)}.eyebrow{font-size:11px;letter-spacing:2px;color:#9298a5;font-weight:500;margin:0 0 14px}.sidebar .eyebrow{margin-left:16px;margin-bottom:18px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.nav-item{justify-content:flex-start;padding:11px 16px;color:#606979;font-size:14px;gap:13px;text-align:left}.nav-item.active{background:#e9effb;color:#2563eb;font-weight:600}.nav-item:nth-child(4){margin-top:22px}.nav-item:last-child{margin-top:15px}.sidebar-bottom{padding:0 12px}.storage-head{display:flex;justify-content:space-between;color:#697180;font-size:11px;gap:8px}progress{appearance:none;width:100%;height:4px;display:block;border:0;background:#e6e9ee;border-radius:5px;margin:10px 0}progress::-webkit-progress-bar{background:#e6e9ee;border-radius:5px}progress::-webkit-progress-value{background:#7195e2;border-radius:5px}.sidebar-bottom p{font-size:10px;line-height:1.8;color:#959ba7;margin:0}.private-note{display:flex;gap:7px;align-items:center;font-size:10px;color:#9299a6;border-top:1px solid #e9ecf1;padding-top:20px;margin-top:22px}.private-note svg{width:13px;height:13px}main{min-width:0;padding:42px 44px 20px;max-width:1800px;width:100%;margin:auto;align-self:start}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}h1{font-size:34px;line-height:1.2;font-weight:650;letter-spacing:-1px;margin:0}h2{font-size:22px;font-weight:600;letter-spacing:-.5px}h3{font-size:16px;font-weight:600}.subtitle{font-size:13px;color:#8a919d;margin:12px 0 0;line-height:1.7}.actions{display:flex;gap:10px}.primary{background:#2563eb;color:white;box-shadow:0 3px 8px #2563eb12}.primary:hover{background:#1c56d8}.secondary{border:1px solid #e5e8ee;background:#fff;color:#586171}.searchbar{display:flex;align-items:center;gap:12px;background:#f7f8fb;border:1px solid #f0f2f7;border-radius:12px;padding:0 15px;color:#8c94a2;max-width:560px;height:45px}.searchbar input{background:none;border:0;outline:0;width:100%;font-size:13px;min-width:0;color:#29364b}.searchbar input::placeholder{color:#939baa}kbd{white-space:nowrap;font-size:10px;font-family:inherit;color:#a2a8b3}.filter-row{display:flex;align-items:center;justify-content:space-between;margin:22px 0 26px;gap:10px}.segmented{display:flex;gap:5px;flex-wrap:wrap}.segmented button{min-height:32px;font-size:12px;color:#818999;padding:6px 12px}.segmented button.active{background:#f0f3f8;color:#27364d}.muted{font-size:12px;color:#959ca8}.empty{min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px 20px}.empty h2{font-size:24px;margin:27px 0 10px}.empty p{font-size:13px;color:#8b93a1;max-width:420px;line-height:1.9;margin:0 0 22px}.empty .muted{font-size:11px;margin-top:18px}.empty-art{width:155px;height:112px;position:relative;margin-top:15px}.empty-art .frame{position:absolute;display:flex;align-items:center;justify-content:center;border:5px solid white;border-radius:10px;box-shadow:0 5px 25px #2d3d6320;width:105px;height:92px;background:linear-gradient(155deg,#edf0fc,#e4eafa);transform:rotate(-13deg);left:2px;top:0}.empty-art .frame:last-child{background:linear-gradient(160deg,#f4f3ff,#e4eafb);transform:rotate(11deg);left:45px;top:13px}.empty-art svg{color:#acb8d2;width:40px;height:40px;stroke-width:1}.section-header{display:flex;align-items:baseline;justify-content:space-between;margin:25px 0 13px}.section-header h2{font-size:17px;margin:0}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:5px}.photo-card{position:relative;border-radius:5px;overflow:hidden;background:#f2f3f6;aspect-ratio:1;border:0;padding:0;display:block;min-height:0;width:100%}.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}.photo-card:hover img{transform:scale(1.035)}.photo-card.selected{outline:3px solid #2563eb;outline-offset:-3px}.photo-card.selected img{opacity:.8}.photo-badge{position:absolute;right:8px;bottom:6px;color:white;text-shadow:0 1px 4px #000;font-size:16px}.photo-check{position:absolute;right:8px;top:8px;width:23px;height:23px;border-radius:50%;border:2px solid white;box-shadow:0 1px 6px #0005}.selected .photo-check{background:#2563eb}.selected .photo-check:after{content:'✓';color:#fff;position:absolute;top:-2px;left:3px;font-size:16px}.selection-bar{background:#eff4ff;padding:10px 14px;border-radius:12px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#3562ab}.selection-bar div{display:flex;gap:3px}.selection-bar button{font-size:12px}.selection-bar[hidden],*[hidden]{display:none!important}.notice{background:#f1f5fd;color:#526789;padding:15px 18px;border-radius:12px;font-size:13px;margin-bottom:18px;line-height:1.8;white-space:pre-line}.page-foot{font-size:10px;color:#b2b8c3;display:flex;justify-content:space-between;border-top:1px solid #f0f2f5;padding:20px 0 4px;margin-top:50px;letter-spacing:.5px}.mobile-nav{display:none}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:25px}.collection{display:block;text-align:left;padding:0;border-radius:12px;overflow:hidden}.collection:hover{background:none}.collection-cover{aspect-ratio:1.35;display:grid;grid-template-columns:repeat(2,1fr);gap:2px;overflow:hidden;border-radius:12px;background:#f5f6f9}.collection-cover img{width:100%;height:100%;object-fit:cover;min-height:0}.collection h3{margin:12px 0 4px}.collection p{margin:0;color:#9ba2ad;font-size:12px}.group{border-bottom:1px solid #eef0f4;padding:10px 0 28px;margin-bottom:18px}.group-header{display:flex;align-items:center;justify-content:space-between;gap:20px}.group-header p{font-size:12px;color:#9299a6}.group .photo-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.rule-note{font-size:12px;color:#9299a6;line-height:1.8;max-width:740px}.settings{max-width:760px}.setting-row{display:flex;justify-content:space-between;gap:28px;padding:23px 0;border-bottom:1px solid #edf0f4;align-items:flex-start}.setting-row h3{margin:0 0 8px;font-size:15px}.setting-row p{margin:0;color:#8d95a2;font-size:12px;line-height:1.9;max-width:520px}.status-tag{font-size:11px;white-space:nowrap;padding:6px 10px;border-radius:20px;background:#eef4fb;color:#6c84a4;flex-shrink:0}.status-tag.off{background:#f3f4f6;color:#989fab}.provider-form{margin-top:28px;padding-top:6px}.provider-form label,.meta-form label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#737c8d;margin-bottom:18px}.provider-form input,.provider-form select,.meta-form input,.meta-form select,.meta-form textarea,#small-input{border:1px solid #e2e6ec;padding:11px 13px;border-radius:9px;color:#3f4c62;background:#fff;width:100%;outline:none}.provider-form input:focus,.provider-form select:focus,.meta-form input:focus,.meta-form textarea:focus{border-color:#a9c3f6;box-shadow:0 0 0 3px #edf3ff}.provider-form .field-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.provider-result{white-space:pre-line;font-size:12px;color:#788598;line-height:1.8}.provider-form .actions{margin-top:5px}dialog{border:1px solid #e9edf3;border-radius:18px;box-shadow:0 25px 100px #0b193b30;padding:0;color:#263348;max-height:92dvh}dialog::backdrop{background:#19263865;backdrop-filter:blur(9px)}#viewer{width:min(1180px,94vw)}.viewer-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;min-height:600px}.viewer-photo{background:#101319;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:420px}.viewer-photo>img{max-width:100%;max-height:78dvh;object-fit:contain;display:block}.viewer-close{position:absolute;top:13px;left:13px;background:#ffffff20;color:#fff;border-radius:50%;width:36px;height:36px;min-height:36px;padding:7px;z-index:3}.viewer-side{padding:25px 24px;overflow:auto;max-height:88dvh}.viewer-side h2{font-size:16px;overflow-wrap:anywhere;margin:0 0 7px;line-height:1.5}.viewer-meta{font-size:11px;color:#99a1ad;line-height:1.9;margin-bottom:20px}.viewer-side .button-row{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0 22px}.viewer-side .button-row button{font-size:12px;min-height:34px;background:#f3f5f9}.danger{color:#c35460!important}.meta-form textarea{min-height:80px;resize:vertical}.meta-form .primary{width:100%}.fineprint{font-size:11px;line-height:1.8;color:#969eaa;margin-top:13px}#small-dialog{width:min(420px,92vw);padding:28px}#small-title{font-size:20px;margin:0 0 15px}#small-copy{font-size:13px;color:#838d9c;line-height:1.9;white-space:pre-line}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:26px}#small-label{font-size:12px;color:#737c8d;display:flex;flex-direction:column;gap:8px;margin-top:20px}#toast{position:fixed;left:50%;transform:translateX(-50%);bottom:35px;background:#253044ed;color:white;border-radius:12px;box-shadow:0 8px 30px #17264a20;padding:14px 24px;max-width:90vw;font-size:13px;z-index:100;line-height:1.7;text-align:center}.edit-layout{padding:22px}.edit-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px;gap:10px}.edit-head h2{font-size:19px;margin:0}.edit-stage{background:#151921;display:flex;align-items:center;justify-content:center;max-height:58dvh;min-height:220px;overflow:hidden;border-radius:10px}.edit-stage canvas{display:block;max-width:100%;max-height:58dvh;touch-action:none;object-fit:contain;cursor:crosshair}.edit-tools{display:flex;flex-wrap:wrap;gap:13px;align-items:center;padding:16px 0}.edit-tools label{font-size:12px;color:#7e8796;display:flex;align-items:center;gap:8px}.edit-tools input{max-width:120px}.edit-tools button{font-size:12px;background:#f1f4f9}.edit-tools button.active{background:#e6efff;color:#2563eb}.edit-foot{display:flex;justify-content:space-between;align-items:center;gap:20px}.edit-foot p{max-width:650px;margin:0;color:#8c95a4;font-size:11px;line-height:1.8}.login-callout{border:1px solid #e9edf5;border-radius:18px;background:linear-gradient(135deg,#fff,#f8faff);margin:30px auto 0;max-width:680px}.login-callout .primary{font-size:13px;padding:12px 22px}.loading{display:flex;align-items:center;gap:10px;justify-content:center;padding:100px 0;color:#8e98a7;font-size:13px}.loading:before{content:'';width:16px;height:16px;border-radius:50%;border:2px solid #e3e9f4;border-top-color:#86a5df;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1500px){.photo-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}main{padding-left:55px;padding-right:55px}}@media(max-width:1050px){main{padding:35px 27px 20px}.workspace{grid-template-columns:190px 1fr}.sidebar{padding-left:12px;padding-right:12px}.viewer-layout{grid-template-columns:minmax(0,1fr) 270px}.topbar{padding:0 25px}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}@media(max-width:700px){.topbar{height:60px;padding:0 20px;position:static}.brand{font-size:13px;gap:10px}.brand-mark{font-size:25px}.brand-divider{margin:0 10px}.brand strong{font-size:13px}.release-label{display:none}.account{font-size:11px;min-height:30px;padding:6px 10px;max-width:120px}.workspace{display:block;min-height:calc(100dvh - 60px)}.sidebar{display:none}main{padding:26px 18px 90px}.page-heading{gap:10px;margin-bottom:23px;align-items:flex-start}h1{font-size:34px}.page-heading .eyebrow{display:none}.subtitle{font-size:11px;margin-top:10px;max-width:230px}.actions{gap:3px;padding-top:3px}.actions button{font-size:12px;min-height:35px;padding:8px 10px}#import-button{font-size:0;width:35px;padding:8px;border-radius:50%}#import-button svg{width:20px;height:20px}#select-toggle{border:0;background:#f4f6f9;border-radius:20px}.searchbar{height:42px;max-width:none;padding:0 12px}.searchbar input{font-size:12px}kbd{display:none}.filter-row{margin:16px 0 21px;display:block}.segmented{gap:2px;flex-wrap:nowrap;overflow:auto;scrollbar-width:none}.segmented button{flex-shrink:0;font-size:11px;padding:6px 10px}.filter-row>.muted{display:block;font-size:10px;margin:15px 2px 0}.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:0 -13px}.photo-card{border-radius:2px}.section-header{margin:22px 0 12px}.section-header h2{font-size:15px}.section-header .muted{font-size:10px}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;width:100%;padding:9px 12px max(9px,env(safe-area-inset-bottom));background:#fffffff0;backdrop-filter:blur(25px);border-top:1px solid #e9edf2;justify-content:space-around;z-index:20}.mobile-nav button{flex-direction:column;padding:0;gap:4px;min-width:65px;font-size:10px;color:#9ba3b2;border-radius:8px}.mobile-nav button.active{color:#2563eb}.mobile-nav svg{width:22px;height:22px}.empty{min-height:340px;padding:30px 20px}.empty h2{font-size:22px}.empty p{font-size:12px}.empty-art{transform:scale(.9)}.page-foot{font-size:9px;margin-top:35px}.selection-bar{display:block;font-size:12px;padding:10px;margin:0 0 18px}.selection-bar div{margin-top:6px;flex-wrap:wrap}.selection-bar button{font-size:11px;padding:7px 9px}.collection-grid{grid-template-columns:1fr 1fr;gap:20px 14px}.collection h3{font-size:14px}.collection-cover{border-radius:9px;aspect-ratio:1.1}.collection p{font-size:11px}.group-header{display:block}.group-header h3{font-size:14px}.group .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:10px 0}.group-header .secondary{margin-bottom:10px;font-size:12px}.setting-row{gap:15px}.setting-row p{font-size:11px}.setting-row h3{font-size:14px}.status-tag{font-size:10px;padding:5px 8px}.provider-form .field-pair{grid-template-columns:1fr;gap:0}#viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0}.viewer-layout{display:block}.viewer-photo{min-height:260px;max-height:50dvh}.viewer-photo>img{max-height:50dvh}.viewer-side{max-height:none;padding:24px 23px 40px}.viewer-side .button-row{flex-wrap:nowrap;overflow:auto}.viewer-side .button-row button{white-space:nowrap;font-size:11px;padding:8px 10px}.meta-form input,.meta-form select,.meta-form textarea,.provider-form input,.provider-form select,#small-input{font-size:16px}.edit-layout{padding:18px}.edit-stage{min-height:220px;max-height:48dvh}.edit-stage canvas{max-height:48dvh}.edit-head h2{font-size:17px}.edit-tools{gap:10px}.edit-tools label{font-size:11px}.edit-tools input{max-width:75px}.edit-foot{display:block}.edit-foot .primary{width:100%;margin-top:20px}#toast{bottom:90px}.login-callout{margin-top:20px}.login-callout .empty{padding-left:20px;padding-right:20px}.top-right{gap:5px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media(prefers-color-scheme:dark){html{color-scheme:light}}
.brand-logo{width:92px;height:auto;display:block}.brand>.brand-divider{margin:0 1px;font-size:18px;font-weight:300}.brand>strong{margin-left:1px}@media(max-width:700px){.brand-logo{width:74px}.brand>.brand-divider{margin:0 0}.brand>strong{font-size:13px}}
.page-foot{justify-content:center;flex-wrap:wrap;gap:10px 22px}.page-foot a{color:#929aaa;text-decoration:none}.sidebar-top{padding-top:10px}.page-heading{margin-bottom:28px}.segmented{flex-wrap:wrap;gap:4px}.tag-editor{margin-top:20px}.tag-editor h3{font-size:14px}.tag-editor label{display:inline-flex;gap:5px;margin:5px 8px 5px 0;font-size:12px}.tag-editor button{display:block;margin-top:10px}.scan-status{font-size:12px;color:#66758b}#analysis-progress{font-size:12px;color:#66758b;margin:0 0 14px}#analysis-progress:empty{display:none}.collection-title{font-size:19px;margin:20px 0}.compare{padding:25px}.compare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}.compare-item{font-size:13px;overflow:auto;max-height:60vh}.compare-item img{display:block;max-width:100%;height:240px;object-fit:contain;background:#edf0f4;margin-bottom:12px}.compare-item img.zoomed{height:auto;max-width:none;width:1200px}.compare-item p{color:#7b8495;font-size:12px}.compare-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:25px}.compare-foot span{font-size:12px;color:#707c8c}.privacy-controls{background:#f4f7fc;border-radius:12px;padding:14px;margin:12px 0}.privacy-controls label{display:inline-flex;align-items:center;gap:5px;margin:6px 12px 6px 0;font-size:12px}.privacy-controls h3{margin:0 0 6px;font-size:14px}.upload-actions{display:flex;gap:8px;margin-top:8px}.upload-meter{width:100%;height:6px;accent-color:#2563eb}.scan-warning{font-size:12px;color:#9a6a28}@media(max-width:700px){.compare{padding:18px}.compare-grid{grid-template-columns:1fr 1fr;gap:10px}.compare-item img{height:160px}.compare-foot{display:block}.compare-foot button{margin-top:15px;width:100%}.segmented{flex-wrap:nowrap}.page-foot{display:flex;flex-direction:column;gap:8px}}
.privacy-controls{max-height:210px;overflow:auto}.privacy-controls label{border:1px solid #e0e6ef;background:white;padding:5px;border-radius:7px}.privacy-controls label img{width:54px;height:36px;object-fit:contain;background:#edf0f5}
/* Quiet settings and focused album tools. */
.storage-title{display:flex;align-items:center;gap:4px;white-space:nowrap}.storage-title .icon{width:12px;height:12px}.storage-head{flex-wrap:wrap}.filing{display:flex;flex-direction:column;gap:9px;font-size:10px;line-height:1.5}.filing a{color:#9298a3;display:flex;align-items:center;gap:4px;white-space:nowrap;letter-spacing:-.3px}.filing img{width:13px;height:13px;object-fit:contain}#desktop-filing{margin-top:24px;margin-left:-5px}.mobile-filing{display:none}.privacy-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0 0 26px}.privacy-shortcuts button{display:flex;min-height:83px;padding:22px;background:#f5f7fb;font-weight:500;justify-content:flex-start;border:1px solid #eef1f6;border-radius:16px}.privacy-shortcuts button>.icon{color:#3672dd;margin-right:8px}.privacy-shortcuts button:first-child>.icon{color:#dd7180}.privacy-shortcuts button>span:last-child{margin-left:auto;color:#a1a9b6;font-size:22px}.privacy-rows{border:1px solid #e9edf3;border-radius:18px;padding:0 24px;background:#fff}.setting-row:last-child{border-bottom:0}.setting-row{align-items:center;gap:25px;padding:24px 0}.setting-row p{color:#7f8795;font-size:13px;line-height:1.85}.setting-switch{flex-shrink:0;width:48px;min-height:29px;height:29px;padding:3px;border-radius:20px;background:#dce1e8;justify-content:flex-start}.setting-switch span{display:block;width:23px;height:23px;border-radius:50%;background:white;box-shadow:0 1px 4px #0002;transition:transform .2s}.setting-switch[aria-checked=true]{background:#3478f6}.setting-switch[aria-checked=true] span{transform:translateX(19px)}.setting-switch:disabled{opacity:1;background:#c6cbd3}.setting-switch:disabled span{background:#f3f4f6}.setting-switch:hover{background:#c5cddc}.setting-switch[aria-checked=true]:not(:disabled):hover{background:#2563eb}
.auth-loading .workspace,.auth-loading .mobile-nav{visibility:hidden}.guest .workspace,.guest .mobile-nav{display:none}.guest-hero{max-width:1200px;margin:auto;padding:90px 48px 100px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;min-height:650px}.guest-label{font-size:11px;letter-spacing:2px;color:#939ba8}.guest-copy h1{font-size:66px;line-height:1.2;letter-spacing:-2px;margin:24px 0}.guest-copy h1 span{color:#3974d4}.guest-copy>p{color:#7c8795;line-height:1.9;font-size:15px}.guest-actions{display:flex;gap:12px;align-items:center;margin-top:32px}.guest-actions a{padding:14px 22px;border-radius:12px;font-size:14px}.guest-actions a span{margin-left:16px}.guest-actions button{font-size:12px}.guest-art{height:400px;position:relative}.demo-card{padding:10px 10px 0;background:#fff;border:1px solid #eef0f3;border-radius:14px;box-shadow:0 18px 70px #25365417;position:absolute;width:260px}.demo-card>span{display:block;font-size:12px;color:#7d8794;padding:17px 8px}.demo-back{right:0;top:0;transform:rotate(12deg)}.demo-front{left:0;top:85px;transform:rotate(-8deg)}.demo-scene{height:230px;position:relative;overflow:hidden;border-radius:7px;background:#dceaf0}.scene-mountain{background:linear-gradient(#bed3df,#f4e6d3)}.scene-mountain i{position:absolute;width:60px;height:60px;top:26px;right:40px;border-radius:50%;background:#fff4dd}.scene-mountain b,.scene-mountain em{position:absolute;width:230px;height:240px;transform:rotate(40deg);border-radius:18px;background:#718e98;left:-70px;top:105px}.scene-mountain em{left:100px;top:135px;background:#adc5bd}.scene-leaf{background:#e1e7d6}.scene-leaf i{position:absolute;left:48%;top:40px;width:5px;height:250px;background:#768363;transform:rotate(15deg)}.scene-leaf b,.scene-leaf:before,.scene-leaf:after{content:'';position:absolute;width:95px;height:50px;background:#a1b08b;border-radius:0 100% 0 100%;left:48%;top:70px;transform:rotate(-15deg)}.scene-leaf:after{left:15%;top:130px;transform:rotate(190deg);background:#829d70}.scene-leaf:before{left:43%;top:170px;background:#b4c39e}.demo-chip{position:absolute;right:-10px;bottom:24px;background:#fffefa;padding:15px 20px;border:1px solid #eee;border-radius:13px;box-shadow:0 10px 35px #25365410;font-size:12px;color:#596e85;transform:rotate(3deg)}.demo-caption{position:absolute;bottom:-38px;right:3px;color:#a5adb8;font-size:10px}.guest-story{max-width:1120px;margin:0 auto;padding:65px 40px 80px;display:grid;grid-template-columns:1fr 1.3fr;gap:90px;border-top:1px solid #edf0f4}.guest-number{font-size:11px;color:#8d98a9;letter-spacing:2px}.guest-story h2{font-size:34px;line-height:1.5;margin-top:20px}.guest-features article{padding:2px 0 18px}.guest-features h3{font-size:17px;margin:15px 0 9px}.guest-features p{color:#8b94a1;font-size:13px;line-height:1.8;margin:0}.guest-privacy{max-width:1040px;margin:0 auto 70px;background:#f6f8fb;border-radius:24px;padding:35px 40px;display:flex;align-items:center;gap:24px}.guest-privacy>.icon{width:32px;height:32px;color:#708bb4}.guest-privacy h2{font-size:22px;margin:0 0 10px}.guest-privacy p{color:#8b94a1;font-size:13px;margin:0;line-height:1.8}.guest-privacy>a{font-size:13px;margin-left:auto;white-space:nowrap}#guest-filing{padding:0 24px 28px}#guest-filing .filing{align-items:center;flex-direction:row;justify-content:center;gap:20px}
.assistant{max-width:800px;background:#f7f9fd;border:1px solid #e3e9f4;border-radius:18px;padding:16px 18px;margin-bottom:30px}.assistant-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.assistant-head>span{display:flex;gap:8px;align-items:center;font-size:14px;font-weight:550}.assistant-head .icon{color:#5b83d5}.assistant-head button{font-size:11px;min-height:28px;padding:4px 8px;color:#8190a6}.assistant form{display:flex;gap:8px;background:white;padding:5px;border:1px solid #e4e9f1;border-radius:12px}.assistant input{flex:1;min-width:0;border:0;outline:none;background:none;padding:7px 10px;font-size:14px}.assistant form button{width:38px;min-height:36px;font-size:21px;padding:0;border-radius:8px}.chat-note{font-size:10px;color:#97a0af;margin:9px 2px 0;line-height:1.6}.chat-note button{font-size:10px;padding:0 4px;min-height:20px;color:#6a82a9}.chat-thread{max-height:440px;overflow:auto;padding:5px 0 14px;overscroll-behavior:contain}.chat-thread:empty{display:none}.chat-message{margin:10px 0;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.chat-message p{margin:0 0 9px;white-space:pre-wrap}.chat-message.user{margin-left:15%;border-radius:12px;background:#e9effa;padding:10px 14px}.chat-message.assistant{border:0;border-radius:0;padding:10px 4px;margin:0;background:none}.chat-message button.primary,.chat-message button.secondary{font-size:12px}.chat-photos{display:flex;gap:7px;overflow:auto;margin:12px 0;padding-bottom:8px;max-width:100%}.chat-photos button{display:block;flex-shrink:0;width:100px;text-align:left;padding:0;background:#fff;border-radius:8px;overflow:hidden}.chat-photos img{width:100px;height:85px;object-fit:cover;display:block}.chat-photos span{display:block;font-size:10px;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-complete{font-size:12px;color:#648365}.chat-thinking{font-size:12px;color:#8394ad;padding:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){
  /* Fixed header has no scrolling ancestor. Keep native zoom available; 16px inputs prevent focus zoom. */
  :root{--header-height:calc(60px + env(safe-area-inset-top))}body{padding-top:var(--header-height)}.topbar{position:fixed;top:0;left:0;right:0;height:var(--header-height);padding:env(safe-area-inset-top) 18px 0;z-index:30}.workspace{min-height:calc(100dvh - var(--header-height))}html{scroll-padding-top:calc(var(--header-height) + 14px)}input,textarea,select,.searchbar input,.assistant input{font-size:16px!important}.mobile-filing{display:block;padding-top:40px}.mobile-filing .filing{align-items:center;gap:10px}.privacy-shortcuts{gap:12px;margin-bottom:22px}.privacy-shortcuts button{padding:19px 14px;min-height:80px;font-size:14px;gap:5px}.privacy-shortcuts button>.icon{margin-right:4px;width:21px;height:21px}.privacy-rows{padding:0 18px;border-radius:16px}.setting-row{padding:22px 0;gap:15px}.setting-row p{font-size:12px}.setting-row h3{font-size:14px}.setting-switch{width:45px;height:27px;min-height:27px}.setting-switch span{width:21px;height:21px}.setting-switch[aria-checked=true] span{transform:translateX(18px)}.guest-hero{padding:55px 28px 50px;display:block;min-height:0}.guest-copy h1{font-size:49px;margin:22px 0}.guest-copy>p{font-size:13px}.guest-label{font-size:10px}.guest-actions{margin-top:25px;gap:9px}.guest-actions a{padding:12px 16px;font-size:13px}.guest-art{max-width:330px;height:350px;margin:45px auto 25px}.demo-card{width:210px}.demo-scene{height:190px}.demo-front{top:95px}.demo-chip{right:0;bottom:-2px;font-size:10px;padding:13px}.demo-caption{bottom:-23px}.guest-story{display:block;padding:40px 28px;gap:0;margin:0 18px}.guest-story h2{font-size:28px;margin-bottom:30px}.guest-privacy{margin:5px 22px 40px;padding:25px 22px;gap:14px;flex-wrap:wrap}.guest-privacy h2{font-size:20px}.guest-privacy p{font-size:12px}.guest-privacy>div{flex:1}.guest-privacy>a{margin-left:44px;font-size:12px}#guest-filing .filing{flex-direction:column;gap:9px}.assistant{padding:13px 12px;margin-bottom:24px}.chat-thread{max-height:42dvh}.chat-message{font-size:13px}.chat-note{font-size:10px}.chat-photos button,.chat-photos img{width:85px}.chat-photos img{height:75px}.assistant.expanded{scroll-margin-top:calc(var(--header-height) + 10px)}
}
.sidebar .nav-item:nth-child(3){margin-top:22px}.sidebar .nav-item:nth-child(4){margin-top:15px}
/* Consistent control sizes; protected switches remain visibly on. */
button.primary,button.secondary,.dialog-actions button,.actions button{min-height:40px;padding:10px 16px;font-size:13px;line-height:20px;border-radius:10px}#select-toggle{min-height:40px;padding:10px 16px}.setting-switch{width:48px!important;min-width:48px;height:28px!important;min-height:28px!important;padding:3px!important;border-radius:20px;gap:0}.setting-switch span{width:22px!important;height:22px!important;flex:0 0 22px}.setting-switch[aria-checked=true]{background:#34c759}.setting-switch[aria-checked=true] span{transform:translateX(20px)!important}.setting-switch[aria-checked=true]:not(:disabled):hover{background:#2eb550}.setting-switch:disabled{background:#aebeb3;opacity:.65}.setting-switch:disabled span{background:#fff}.guest #account{display:none}.guest-hero{min-height:calc(100dvh - 145px);padding-top:60px;padding-bottom:60px}.guest-actions button{min-height:44px;font-size:14px;padding:11px 24px}.demo-card{padding:10px}.demo-scene{height:270px}#guest-status:empty{display:none}
/* Floating assistant: soft spectrum edge, never over the navigation bar. */
body.organizing #content{padding-bottom:115px}.assistant{position:fixed;right:32px;bottom:25px;width:460px;max-width:calc(100vw - 280px);margin:0;padding:0;border:0;border-radius:22px;background:none;z-index:35;isolation:isolate;box-shadow:0 12px 45px #24365714}.assistant:before,.assistant:after{content:'';position:absolute;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,#87a6ff,#b38af4 24%,#f19ac5 48%,#f7bb85 68%,#aab9ff 90%)}.assistant:before{inset:-6px;filter:blur(12px);opacity:.47;z-index:-2}.assistant:after{inset:-1.5px;opacity:.8;z-index:-1}.assistant-shell{background:#fffffff5;backdrop-filter:blur(24px);border-radius:inherit;padding:8px}.assistant.expanded{width:560px}.assistant.expanded .assistant-shell{padding:16px}.assistant form{border:0;padding:2px;background:none;border-radius:16px}.assistant input{font-size:14px;padding:9px 12px}.assistant form button{height:40px;min-height:40px;width:40px;border-radius:50%;font-size:23px;padding:0;flex-shrink:0}.assistant-head{margin-bottom:10px}.assistant-head>div{display:flex;gap:3px}.assistant-head button{height:32px;width:32px;padding:6px;min-height:32px}.assistant-head button .icon{width:17px;height:17px;color:#8b95a5}.assistant .chat-thread{max-height:min(440px,55dvh)}.chat-thread:empty{display:block;height:90px}.chat-message.assistant{position:static;max-width:100%;width:auto;isolation:auto;box-shadow:none}.chat-message.assistant:before,.chat-message.assistant:after{display:none}.chat-message.assistant .chat-photos{max-width:100%}
@media(max-width:700px){.actions button{min-height:40px;padding:10px 13px;font-size:13px}#import-button{width:40px;height:40px;min-height:40px;padding:9px;font-size:0}.guest-hero{padding-top:45px;padding-bottom:40px;min-height:calc(100dvh - 140px)}.guest-art{height:320px;margin-top:35px;margin-bottom:15px}.demo-scene{height:210px}.demo-front{top:70px}.guest-actions button{min-height:44px;padding:11px 22px;font-size:14px}.assistant{left:16px;right:16px;bottom:calc(85px + env(safe-area-inset-bottom));width:auto;max-width:none;border-radius:21px}.assistant.expanded{width:auto}.assistant.expanded .assistant-shell{padding:12px}.assistant .chat-thread{max-height:40dvh}.assistant input{font-size:16px}.assistant:before{inset:-4px;filter:blur(10px);opacity:.5}body.organizing #content{padding-bottom:115px}}
@media(max-width:700px){.assistant{bottom:max(calc(85px + env(safe-area-inset-bottom)),var(--assistant-keyboard,0px))}.assistant .chat-thread{max-height:min(40dvh,calc(var(--assistant-visible-height,100dvh) - 185px))}}
main{margin:0 auto}
.actions{align-items:center}.group-header .secondary{margin-bottom:0}button.primary,button.secondary,.dialog-actions button,.actions button,#select-toggle{height:42px;min-height:42px;line-height:20px;padding:10px 16px;white-space:nowrap}.assistant form button{height:40px;min-height:40px;padding:0}.chat-message button.primary,.chat-message button.secondary{height:auto;min-height:42px;max-width:100%;white-space:normal}@media(max-width:700px){#import-button{width:42px;height:42px;min-height:42px;padding:10px}}
/* Touch-safe assistant dismissal and coordinated adjacent toolbar controls. */
#assistant-backdrop{position:fixed;inset:0;z-index:34;display:block;width:100%;height:100%;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#17243a0c;touch-action:none;cursor:default}
#assistant-backdrop:hover{background:#17243a0c}
#assistant .assistant-head button{width:44px;height:44px;min-width:44px;min-height:44px;padding:12px;touch-action:manipulation}
#desktop-filing{margin-left:0;margin-right:0}
#desktop-filing .filing{align-items:center;text-align:center}
#desktop-filing .filing a{justify-content:center}
@media(max-width:700px){
  .page-heading .actions{gap:8px;align-items:center;padding-top:0}
  .page-heading #select-toggle,.page-heading #import-button{box-sizing:border-box;flex:0 0 64px;width:64px;min-width:64px;height:40px;min-height:40px;margin:0;padding:0;border-radius:13px;border:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:none;line-height:20px}
  .page-heading #select-toggle{font-size:13px;background:#f0f3f8;color:#47566c}
  .page-heading #import-button{font-size:0;background:#2563eb;color:#fff}
  .page-heading #import-button .icon{width:20px;height:20px}
}
.mobile-dock{display:none}.guest .mobile-dock{display:none!important}.auth-loading .mobile-dock{visibility:hidden}
@media(max-width:700px){
  .mobile-dock{position:fixed;display:block;bottom:0;left:0;right:0;z-index:20;background:#fffffff5;backdrop-filter:blur(25px);border-top:1px solid #e9edf2}
  .mobile-storage{height:27px;display:flex;align-items:center;gap:12px;padding:4px 22px 0;color:#8c95a3;font-size:10px;font-variant-numeric:tabular-nums}
  .mobile-storage progress{flex:1;height:3px;margin:0;max-width:none;min-width:0}
  .mobile-storage span{white-space:nowrap}
  .mobile-dock .mobile-nav{position:static;background:none;backdrop-filter:none;border-top:0}
  #assistant{bottom:max(calc(112px + env(safe-area-inset-bottom)),var(--assistant-keyboard,0px))}
  main{padding-bottom:120px}#toast{bottom:120px}
}
@media(max-width:700px){.page-heading #import-button>[data-icon]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;line-height:0}}
/* Photo actions reveal one focused module at a time. */
.photo-toolbar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;border-bottom:1px solid #edf0f5;padding:8px 0 18px;margin-bottom:8px}
.photo-toolbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:58px;padding:9px 3px;background:transparent;border-radius:12px;color:#61728b;font-size:11px;line-height:16px}
.photo-toolbar button .icon{width:21px;height:21px}.photo-toolbar button[aria-expanded=true]{background:#edf3fc;color:#2870df}.photo-toolbar button[aria-pressed=true]{color:#df5d7d}.photo-toolbar button[aria-pressed=true] .icon{fill:#df5d7d}
.photo-panel{padding:12px 0}.photo-panel .meta-form{padding-top:0;margin-top:0}.panel-action{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:13px 14px;background:#f5f7fa;margin:8px 0;border-radius:12px;text-align:left;font-size:13px}.panel-action span{margin-left:10px;color:#98a2b2}.panel-action.danger{color:#d65358}.photo-info-grid{margin:0}.photo-info-grid>div{display:flex;justify-content:space-between;gap:18px;padding:12px 2px;border-bottom:1px solid #edf0f5;font-size:12px;line-height:1.6}.photo-info-grid dt{color:#929aa7;flex-shrink:0}.photo-info-grid dd{margin:0;text-align:right;overflow-wrap:anywhere;color:#4c5d73}.photo-tags{border:1px solid #e8edf4;border-radius:12px;margin:14px 0;padding:12px}.photo-tags summary{font-size:13px;color:#60728a;cursor:pointer}.photo-tags .tag-editor{margin-top:12px}.viewer-side h2{overflow-wrap:anywhere;font-size:17px}.viewer-meta:empty{display:none}.chat-thread{overflow-anchor:none}.chat-photos{content-visibility:auto;contain-intrinsic-size:auto 120px}.assistant-shell{background:#fff;backdrop-filter:none}
body.assistant-open{overflow:hidden}#assistant-backdrop{touch-action:manipulation}.assistant .chat-thread{touch-action:pan-y;-webkit-overflow-scrolling:touch}.assistant .chat-photos{touch-action:pan-x}.assistant:before{filter:blur(8px)}
@media(max-width:700px){
  .viewer-side{padding:16px 18px 35px}.viewer-side h2{font-size:15px;margin:0 0 6px}.viewer-photo{min-height:220px;max-height:58dvh}.viewer-photo>img{max-height:58dvh}.photo-toolbar{position:sticky;top:0;background:#fff;z-index:2;margin:0;padding:8px 0 12px}.photo-toolbar button{min-height:54px}.photo-panel{padding-top:16px}
  #assistant,#assistant *{scroll-behavior:auto;transition:none;animation:none}#assistant.expanded{max-height:calc(var(--assistant-visible-height,100dvh) - 145px);height:min(540px,calc(var(--assistant-visible-height,100dvh) - 145px))}#assistant.expanded .assistant-shell{display:flex;flex-direction:column;height:100%;min-height:0;padding:8px 10px}#assistant .assistant-head{flex-shrink:0;margin:0 0 4px}#assistant.expanded .chat-thread{flex:1;min-height:0;max-height:none;height:auto}#assistant #chat-form{flex-shrink:0}#assistant:before{filter:blur(7px);opacity:.42}.mobile-dock{backdrop-filter:none}
}
@media(max-width:700px){#assistant.expanded:not(.has-messages){height:auto}#assistant.expanded:not(.has-messages) .chat-thread{flex:0 0 30px;min-height:30px}}
/* Confirmation owns all touch input while open; no assistant overlay beneath it. */
body.confirming #assistant-backdrop{display:none!important}body.confirming #assistant{pointer-events:none}#small-dialog{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;max-height:calc(100svh - 32px);overflow:auto;overscroll-behavior:contain;touch-action:pan-y}#small-dialog .dialog-actions button{touch-action:manipulation;pointer-events:auto;min-height:44px}#small-dialog::backdrop{backdrop-filter:none}
@media(max-width:700px){#small-dialog{width:calc(100vw - 40px);padding:24px;max-width:420px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dialog-actions button{width:100%;padding:10px 12px}}
/* Native photo controls and quiet, single-line import progress. */
.page-heading .actions{gap:10px}.page-heading #select-toggle,.page-heading #import-button{width:42px;min-width:42px;flex:0 0 42px;height:42px;min-height:42px;padding:8px;border-radius:50%;background:transparent;color:#3976db;box-shadow:none}.page-heading #select-toggle .icon,.page-heading #import-button .icon{width:27px;height:27px}.page-heading #import-button>[data-icon]{width:27px;height:27px;display:flex}.page-heading #select-toggle[aria-pressed=true]{background:#e8f0fd}.icon-button{width:42px;height:42px;min-height:42px;min-width:42px;padding:9px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#3976db;flex-shrink:0}.icon-button .icon{width:24px;height:24px}.icon-button:hover{background:#edf3fc}.empty-add{width:56px;height:56px}.empty-add .icon{width:36px;height:36px}
#upload-status{display:flex;align-items:center;gap:12px;padding:8px 0;margin:0 0 18px;background:none;border:0;white-space:pre-line;font-size:12px;line-height:1.65;color:#8491a2}#upload-status .upload-copy{flex:1;min-width:0;display:flex;align-items:center;gap:14px}#upload-message{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#upload-status .upload-meter{width:100px;flex:0 0 100px;height:3px;margin:0}#upload-status .icon-button{width:32px;min-width:32px;height:32px;min-height:32px;padding:4px}.library-footer{text-align:center;color:#929ba8;font-size:13px;line-height:1.5;padding:40px 0 12px}.filter-row{margin-bottom:22px}.section-header .muted{font-size:12px}
.photo-card{position:relative}.privacy-mark{position:absolute;right:8px;bottom:8px;display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;background:#1b253b66;backdrop-filter:blur(8px);pointer-events:none}.privacy-mark .icon{width:12px;height:12px}.photo-check{pointer-events:none}.photo-card.selected .privacy-mark{right:33px}.photo-badge{pointer-events:none}
#selection-bar{position:fixed;left:calc(50% + 105px);transform:translateX(-50%);bottom:24px;top:auto;z-index:26;display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 40px);padding:8px 14px 8px 20px;margin:0;background:#fffffff5;border:1px solid #e3e9f2;box-shadow:0 10px 45px #24365422;border-radius:40px;backdrop-filter:blur(18px)}#selection-bar>div{display:flex;gap:8px}#selection-bar button{width:42px;height:42px;min-height:42px;padding:10px;border-radius:50%;color:#3976db}#selection-bar #batch-trash{color:#e0686a}#selection-bar #select-all[aria-pressed=true]{background:#e8f0fd}#selected-count{font-size:12px;color:#6b7b90;white-space:nowrap;min-width:34px}
.blank-album{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f1f5fb,#e8edf5);border:1px solid #e3e9f2}.blank-album>.icon{width:45px;height:45px;color:#9bacbf}#album-picker{width:min(440px,94vw);max-height:80dvh;padding:24px;border-radius:25px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.sheet-head h2{font-size:19px;margin:0}.album-choices{display:grid;gap:6px;max-height:48dvh;overflow:auto}.album-choices button{display:flex;width:100%;min-height:58px;gap:14px;padding:12px 14px;background:#f5f7fb;border-radius:14px;text-align:left}.album-choices button>.icon{color:#6b92d4}.album-choices button>span:last-child{margin-left:auto;color:#a0abba}#quick-album-form{display:flex;gap:10px;border-top:1px solid #edf0f5;padding-top:18px;margin-top:18px}#quick-album-name{width:100%;min-width:0;background:#f3f6fa;border:0;border-radius:12px;padding:12px 14px;font-size:16px}
/* The image has its own flexible stage; landscape and portrait share a center. */
#viewer.photo-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;border:0;border-radius:0;padding:0;background:#0c0d10}#viewer.photo-viewer::backdrop{background:#0c0d10;backdrop-filter:none}#viewer-inner{height:100%}#viewer .viewer-layout{height:100%;display:grid;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr;max-height:100dvh}#viewer .viewer-photo{min-height:0;max-height:none;padding:68px 24px 24px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:#0c0d10}#viewer .photo-frame{height:100%;width:100%;min-height:0;display:flex;justify-content:center;align-items:center;position:relative}#viewer .photo-frame>img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;display:block}#viewer .photo-top{position:absolute;top:calc(12px + env(safe-area-inset-top));left:14px;right:14px;display:flex;align-items:center;justify-content:center;height:40px;color:#eceef3;font-size:12px;z-index:3}#viewer .viewer-close{position:absolute;top:0;left:0;margin:0;width:40px;height:40px;min-height:40px;border-radius:50%;padding:10px;background:#ffffff16;color:white}#viewer .viewer-side{width:100%;max-width:none;max-height:52dvh;overflow:auto;box-sizing:border-box;padding:0 24px calc(10px + env(safe-area-inset-bottom));background:#fff;border-radius:22px 22px 0 0}#viewer .photo-toolbar{position:sticky;top:0;width:min(560px,100%);margin:0 auto;padding:10px 0;border:0;display:grid;grid-template-columns:repeat(5,1fr);gap:10px;background:white;z-index:4}#viewer .photo-toolbar button{height:46px;min-height:46px;max-width:65px;width:100%;justify-self:center;display:flex;align-items:center;justify-content:center;padding:11px;border-radius:15px;gap:0;color:#5e7baf;background:none}#viewer .photo-toolbar button .icon{width:23px;height:23px}#viewer .photo-toolbar .delete-tool{color:#e26d75}#viewer .photo-toolbar button[aria-pressed=true]{color:#e26c89}#viewer .photo-toolbar button[aria-pressed=true] .icon{fill:#e26c89}#viewer .photo-toolbar button[aria-expanded=true]{background:#edf3fc}#viewer .photo-panel{max-width:640px;margin:auto;padding:12px 0 22px}#viewer .photo-panel .panel-action{min-height:53px;gap:12px;border-radius:15px}#viewer .panel-action>.icon{width:20px;height:20px;color:#6e8cbd}#viewer .panel-action>span:first-of-type{margin-left:0;color:#5a6c85;flex:1}#viewer .privacy-mark{width:27px;height:27px;bottom:4px;right:4px;background:#252e3e99}#viewer .privacy-mark .icon{width:14px;height:14px}.photo-private-setting{display:flex;justify-content:space-between;align-items:center;margin:0 0 15px;padding:12px 0 20px;border-bottom:1px solid #edf0f5;font-size:13px}.photo-private-setting>span{display:flex;align-items:center;gap:8px;color:#657a99}.photo-private-setting .icon{width:16px;height:16px}.photo-text,.photo-details{margin:14px 0;padding:15px;background:#f5f7fb;border-radius:15px;font-size:13px}.photo-text summary,.photo-details summary{cursor:pointer;color:#6e83a3}.photo-text p{white-space:pre-wrap;line-height:1.9;font-size:13px;color:#5d6f87;max-height:240px;overflow:auto;user-select:text}.photo-text .icon-button{margin-top:8px}.photo-details .meta-form{padding-top:18px}.photo-details .tag-editor{padding-bottom:10px}
@media(max-width:700px){.page-heading{margin-bottom:20px}.page-heading .actions{gap:8px}.page-heading #select-toggle,.page-heading #import-button{width:40px;min-width:40px;flex-basis:40px;height:40px;min-height:40px;padding:6px}#upload-status{font-size:11px;margin-bottom:14px}#upload-status .upload-copy{gap:10px}#upload-status .upload-meter{width:64px;flex-basis:64px}#selection-bar{left:50%;bottom:calc(112px + env(safe-area-inset-bottom));padding:6px 12px 6px 18px;gap:8px;border-radius:36px}#selection-bar>div{gap:4px}#selection-bar button{width:40px;height:40px;min-height:40px;padding:10px}.photo-card .privacy-mark{width:19px;height:19px;right:5px;bottom:5px}.photo-card.selected .privacy-mark{right:29px}.library-footer{padding:28px 0 16px;font-size:12px}#viewer .viewer-photo{padding:calc(62px + env(safe-area-inset-top)) 12px 18px}#viewer .viewer-side{padding:0 18px calc(8px + env(safe-area-inset-bottom));max-height:55dvh}#viewer .photo-toolbar{padding:7px 0;gap:8px}#viewer .photo-toolbar button{height:44px;min-height:44px;padding:10px}.photo-info-grid>div{padding:10px 2px;font-size:12px}#album-picker{padding:20px;border-radius:24px}}
/* Editing is a focused canvas plus three compact tool modules. */
.photo-editor{height:100dvh;background:#101116;color:#e9edf5;display:grid;grid-template-rows:calc(64px + env(safe-area-inset-top)) minmax(0,1fr) auto}.editor-head{display:flex;align-items:center;justify-content:space-between;padding:env(safe-area-inset-top) 20px 0;font-size:14px;letter-spacing:.2px}.editor-head .icon-button{color:#c9d5ea}.editor-head .editor-done{color:#9fbfff}.photo-editor .edit-stage{display:flex;align-items:center;justify-content:center;min-height:0;max-height:none;overflow:hidden;padding:14px 24px;background:#101116}#edit-canvas{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;touch-action:none;user-select:none;-webkit-user-select:none}.editor-bottom{background:#191c24;padding:6px 22px calc(12px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;max-height:44dvh;overflow:auto}.editor-tabs{display:flex;justify-content:center;gap:32px;padding:7px 0 15px}.editor-tabs button{width:48px;height:42px;min-height:42px;padding:10px;border-radius:14px;color:#95a2bb}.editor-tabs button[aria-pressed=true]{color:#b4cfff;background:#2a3448}.editor-section{max-width:540px;margin:auto;padding:4px 4px 12px}.editor-section>label{display:flex;align-items:center;gap:20px;justify-content:space-between;font-size:12px;color:#b2bfd6;margin:13px 0}.editor-section input[type=range]{width:74%;accent-color:#a8c7ff;height:20px}.geometry-tools,.privacy-actions{display:flex;justify-content:center;gap:24px}.geometry-tools>button,.privacy-actions>button{width:44px;height:44px;min-height:44px;color:#b6c7e2;border-radius:50%;padding:11px}.geometry-tools>button[aria-pressed=true]{background:#2b354a}.privacy-actions{gap:15px;padding-bottom:10px}.privacy-candidates{display:flex;gap:10px;overflow-x:auto;min-height:45px;max-height:120px;color:#8595ae;font-size:12px;align-items:center;overscroll-behavior:contain}.region-chip{display:block;width:90px;min-width:90px;height:64px;min-height:64px;padding:0;border-radius:12px;overflow:hidden;border:2px solid transparent;position:relative;background:#262d3b}.region-chip img{width:100%;height:100%;object-fit:contain}.region-chip>span{position:absolute;right:3px;bottom:3px;background:#29354b99;display:flex;border-radius:50%;padding:2px;color:#c3d0e4}.region-chip>span>.icon{width:17px;height:17px}.region-chip[aria-pressed=true]{border-color:#94baff}.region-chip[aria-pressed=true]>span{background:#527fc4;color:white}.editor-export-size{text-align:center;color:#697993;font-size:10px;padding-top:6px}.editor-loading{height:100%;display:flex;justify-content:center;align-items:center;color:#a7b3c8;font-size:13px}@media(max-width:700px){.editor-head{padding-left:14px;padding-right:14px}.photo-editor .edit-stage{padding:12px}.editor-bottom{padding-left:18px;padding-right:18px}.editor-section{padding-bottom:4px}.editor-tabs{gap:24px;padding-bottom:8px}.editor-export-size{padding-top:9px}}
.photo-card .photo-badge{left:8px;right:auto;bottom:6px}.photo-card.selected .privacy-mark{right:8px}@media(max-width:700px){.photo-card.selected .privacy-mark{right:5px}.photo-card .photo-badge{left:6px}}
.album-photo-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:58dvh;overflow:auto}.album-photo-picker button{padding:0;min-width:0;aspect-ratio:1;position:relative;overflow:hidden;border-radius:8px;background:#edf1f6}.album-photo-picker img{width:100%;height:100%;object-fit:cover}.album-photo-picker button>span{position:absolute;right:6px;bottom:6px;color:#fff;background:#25324b44;display:flex;border-radius:50%}.album-photo-picker button>span .icon{width:21px;height:21px}.album-photo-picker button[aria-pressed=true]>span{background:#3874d7}.album-photo-picker button[aria-pressed=true]{outline:3px solid #7aa2e6;outline-offset:-3px}
#analysis-progress{text-align:center;color:#929cab;font-size:11px;padding:0 0 15px}#analysis-progress button{font-size:11px;min-height:26px;padding:2px 8px;color:#7291bf}
/* Frosted photo stage: the library remains softly visible behind the picture. */
#viewer.photo-viewer{background:#e8edf348;color:#32415b}#viewer.photo-viewer::backdrop{background:#b0bed366;-webkit-backdrop-filter:blur(25px) saturate(1.15);backdrop-filter:blur(25px) saturate(1.15)}#viewer .viewer-photo{background:transparent}#viewer .photo-frame>img{border-radius:4px;box-shadow:0 12px 60px #30405719}#viewer .photo-top{color:#40526d}#viewer .viewer-close{background:#ffffff91;color:#465c7b;box-shadow:inset 0 0 0 1px #ffffff70}#viewer .viewer-side{background:#ffffff9c;border:1px solid #ffffffa8;border-bottom:0;box-shadow:0 -8px 40px #5267850c;-webkit-backdrop-filter:blur(22px) saturate(1.3);backdrop-filter:blur(22px) saturate(1.3)}#viewer .photo-toolbar{background:transparent}#viewer .photo-toolbar button:hover{background:#ffffff80}#viewer .photo-toolbar button[aria-expanded=true]{background:#ffffffb0}#viewer .photo-text,#viewer .photo-details{background:#ffffff65}#viewer .photo-info-grid>div{border-color:#bdcad233}
#viewer .photo-editor{background:transparent;color:#3a4c66}#viewer .photo-editor .edit-stage{background:transparent}#viewer .editor-head{color:#455c7b}#viewer .editor-head .icon-button{color:#5075a7;background:#ffffff65}#viewer .editor-bottom{background:#ffffffa6;border:1px solid #ffffffa0;border-bottom:0;box-shadow:0 -8px 36px #5267850c;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}#viewer .editor-tabs button,#viewer .geometry-tools>button,#viewer .privacy-actions>button{color:#6181ad}#viewer .editor-tabs button[aria-pressed=true],#viewer .privacy-actions>button[aria-pressed=true],#viewer .geometry-tools>button[aria-pressed=true]{background:#d7e5f17d;color:#3a649e}#viewer .editor-section>label{color:#61758e}#viewer .privacy-actions{gap:16px}#viewer .privacy-candidates{color:#75869e;min-height:64px}#viewer .region-chip{background:#e9eef1c0;border-color:#ffffff91}#viewer .region-chip[aria-pressed=true]{border-color:#6b94c8}#viewer .region-chip>span{background:#ffffffb8;color:#6283ab}#viewer .region-chip[aria-pressed=true]>span{background:#5b85b8;color:white}.mask-styles{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#cbd5e24d;padding:3px;border-radius:13px;margin:0 auto 14px;max-width:340px}.mask-styles button{font-size:12px;min-height:34px;border-radius:10px;color:#72839a;padding:6px 8px}.mask-styles button[aria-pressed=true]{background:#ffffffd9;color:#3c5a81;box-shadow:0 2px 7px #50638012}#viewer .mask-summary{font-size:11px;text-align:center;color:#778ba3;padding-top:9px}.export-report{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 0;color:#587798;font-size:12px}.export-report>span{display:flex;gap:6px;align-items:center}.export-report .icon{width:16px;height:16px}.export-report a{color:#4976b2;text-decoration:none}.editor-loading{background:transparent;color:#6881a1}.photo-editor.exporting{pointer-events:none}.brush-size{margin-top:0!important}.photo-editor .editor-bottom{max-height:48dvh}#viewer .editor-export-size{color:#8c9aad}.region-chip:focus-visible{outline:3px solid #588dce;outline-offset:2px}
@media(max-width:700px){#viewer .viewer-side,#viewer .editor-bottom{border-radius:24px 24px 0 0}#viewer .privacy-actions{gap:14px}.photo-editor .editor-bottom{max-height:48dvh}.mask-styles{margin-bottom:10px}.export-report{font-size:11px}}
.export-report{align-items:flex-start}.export-report details{min-width:120px}.export-report summary{cursor:pointer;text-align:right;color:#527baa}.export-report dl{min-width:190px;padding:10px 12px;background:#ffffff80;border-radius:12px}.export-report dl>div{display:flex;justify-content:space-between;gap:16px;padding:4px 0;font-size:11px}.export-report dt{color:#8291a5}.export-report dd{margin:0;color:#587391}.export-report details>a{display:block;text-align:right;font-size:11px}
/* The glow moves with the shell; no animated blur filters on mobile. */
#assistant.assistant-transitioning{will-change:height,width,transform}#assistant.assistant-transitioning .assistant-shell{height:100%;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}#assistant.assistant-transitioning .assistant-head{flex-shrink:0}#assistant.assistant-transitioning .chat-thread{min-height:0;flex:1}#assistant.assistant-transitioning form{flex-shrink:0}#assistant-backdrop{transition:opacity .2s ease}#chat-send.is-stopping{background:#718197;box-shadow:none}#chat-send.is-stopping .icon{width:22px;height:22px}#chat-thinking{animation:assistant-message-in .18s ease-out}@keyframes assistant-message-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){#assistant-backdrop,#chat-thinking{animation:none;transition:none}}
.photo-paging-stage{position:relative;overflow:hidden;touch-action:pan-y pinch-zoom;user-select:none}.photo-paging-current{will-change:transform}.photo-paging-stage img{-webkit-user-drag:none}.photo-paging-neighbor{position:absolute;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:1}.photo-paging-neighbor img{width:100%;height:100%;object-fit:contain}.photo-page-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;min-height:44px;padding:11px;z-index:4;border-radius:50%;background:#ffffffb0;backdrop-filter:blur(20px);color:#576f8a;box-shadow:0 2px 15px #29415d10}.photo-page-arrow.previous{left:16px}.photo-page-arrow.next{right:16px}.photo-page-arrow.next .icon{transform:rotate(180deg)}.photo-page-arrow:disabled{opacity:0;pointer-events:none}@media(max-width:700px){.photo-page-arrow{display:none}}

/* Content motion never moves navigation or creates a page-sized overlay. */
#main{overflow-x:clip}
.photo-paging-stage{touch-action:none;overscroll-behavior:contain;-webkit-user-select:none;user-select:none}
.photo-paging-current{transform:translate3d(0,0,0);will-change:transform}
.photo-zoom-image{transform-origin:center;will-change:transform;touch-action:none}
.photo-paging-neighbor{contain:layout paint;will-change:transform}
.photo-is-zoomed{cursor:grab}.photo-is-zoomed:active{cursor:grabbing}
.photo-is-zoomed .photo-page-arrow{opacity:0;pointer-events:none}
.photo-paging-stage .photo-top{z-index:5}
@media(prefers-reduced-motion:reduce){.photo-paging-current,.photo-zoom-image{will-change:auto}}
.editor-bottom,.viewer-side{overflow-x:clip}
.photo-paging-neighbor img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}

.chat-older{display:flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 auto 14px;padding:0;border:0;border-radius:50%;background:rgba(120,120,128,.1);color:var(--muted,#777);cursor:pointer}.chat-older .icon{width:19px;height:19px}

.chat-references{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.chat-references button{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:7px 10px;border:0;border-radius:10px;background:#7989a512;color:#566f91;font-size:13px}.chat-references .icon{width:17px;height:17px;flex-shrink:0}.chat-references span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}

/* Desktop assistant remains available without blocking the page or navigation. */
@media(min-width:701px){body:not(.guest):not(.mapping) #content{padding-bottom:115px}#assistant-backdrop{display:none!important}}
/* Both toolbar icons share the same center, including their SVG wrappers. */
.page-heading #select-toggle,.page-heading #import-button{display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0;vertical-align:middle;box-sizing:border-box}
.page-heading #select-toggle>[data-icon],.page-heading #import-button>[data-icon]{display:flex;align-items:center;justify-content:center;width:27px;height:27px;line-height:0}
.page-heading #select-toggle .icon,.page-heading #import-button .icon{display:block;flex-shrink:0}

#selection-bar #batch-purge{color:#de5865}
@media(min-width:701px){body:has(#selection-bar:not([hidden])) #assistant{bottom:100px}}

/* Long desktop conversations can grow to the viewport's upper edge. */
@media(min-width:701px){
 #assistant{--assistant-bottom:25px}
 body:has(#selection-bar:not([hidden])) #assistant{--assistant-bottom:100px}
 #assistant.expanded{max-height:calc(100dvh - var(--assistant-bottom) - var(--assistant-bottom))}
 #assistant.expanded .assistant-shell{display:flex;flex-direction:column;max-height:inherit;min-height:0}
 #assistant.expanded .assistant-head,#assistant.expanded #chat-form{flex-shrink:0}
 #assistant.expanded .chat-thread{max-height:none;min-height:0;flex:0 1 auto}
}

/* Guest legal information stays at the viewport bottom, including tall displays. */
body.guest{--guest-header-height:76px;--guest-footer-space:64px}
#guest-home{padding-bottom:var(--guest-footer-space,64px)}
body.guest .guest-hero{min-height:calc(100svh - var(--guest-header-height) - var(--guest-footer-space))}
#guest-filing{position:fixed;inset:auto 0 0;z-index:21;padding:16px 24px calc(16px + env(safe-area-inset-bottom));background:#fffffff5}
#guest-filing .filing{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 22px;font-size:11px;color:#9298a3}
#guest-filing .site-copyright{white-space:nowrap}
@media(max-width:700px){
 body.guest{--guest-header-height:var(--header-height);--guest-footer-space:calc(88px + env(safe-area-inset-bottom))}
 #guest-filing{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}
 #guest-filing .filing{flex-direction:column;gap:7px;font-size:11px}
}

#guest-filing .guest-filing-links{display:flex;align-items:center;justify-content:center;gap:22px}
@media(max-width:700px){#guest-filing .guest-filing-links{gap:12px}#guest-filing .guest-filing-links a{font-size:10px}}
@media(max-width:359px){#guest-filing .guest-filing-links{gap:6px}#guest-filing .guest-filing-links a{font-size:9.5px}}

@media(max-width:700px){.mobile-filing .filing{flex-direction:row;flex-wrap:nowrap;justify-content:center;gap:12px}.mobile-filing .filing a{font-size:10px}}
@media(max-width:359px){.mobile-filing .filing{gap:6px}.mobile-filing .filing a{font-size:9.5px}}

/* Keep the lightweight preview underneath until the original has decoded. */
.photo-detail-image{position:absolute!important;pointer-events:none;object-fit:contain;max-width:none!important;max-height:none!important;z-index:1}.photo-frame .privacy-mark{z-index:2}
/* A single collection cover fills the tile rather than leaving an empty half. */
.collection-cover>img:only-child{grid-column:1/-1}
