@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap");*,:after,:before{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:#000;color:#fff;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}#particles{position:fixed;inset:0;width:100%;height:100%;z-index:0}.content{position:relative;z-index:10}.container{max-width:1200px;margin:0 auto;padding:2rem 1.5rem 4rem}.banner{text-align:center;padding-top:4rem}.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .875rem;border-radius:9999px;border:1px solid hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.05);font-size:.75rem;color:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chip svg{width:14px;height:14px}.upload-zone{position:relative;overflow:hidden;border-radius:1.5rem;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,8%,.8);padding:2.5rem 2rem;text-align:center;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);margin-top:1.5rem;max-width:600px;margin-left:auto;margin-right:auto}.upload-zone:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,hsla(0,0%,100%,.08) 0,transparent 50%);opacity:0;transition:opacity .4s ease}.upload-zone.dragover,.upload-zone:hover{border-color:hsla(0,0%,100%,.25);transform:translateY(-4px);box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}.upload-zone.dragover:before,.upload-zone:hover:before{opacity:1}.upload-icon{width:48px;height:48px;margin:0 auto 1.25rem;display:grid;place-items:center;border-radius:1rem;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.1)}.upload-icon svg{width:22px;height:22px;stroke:#fff}.upload-zone h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}.upload-zone>p{font-size:.8rem;color:hsla(0,0%,100%,.5);margin-bottom:1.25rem}.upload-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:.75rem;border:none;background:#fff;color:#000;font-family:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.upload-btn:hover{opacity:.9;transform:scale(1.02)}.upload-btn svg{width:14px;height:14px}.upload-formats{margin-top:1.25rem;display:flex;flex-wrap:wrap;justify-content:center;gap:.375rem}.format-pill{padding:.1875rem .5rem;border-radius:9999px;border:1px solid hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.05);font-size:.5625rem;color:hsla(0,0%,100%,.6);text-transform:uppercase;letter-spacing:.05em}.results{display:none;margin-top:1.5rem;max-width:1000px;margin-left:auto;margin-right:auto}.results.visible{display:block}.files-list{display:flex;flex-direction:column;gap:1rem}.file-card{position:relative;overflow:hidden;border-radius:1rem;border:1px solid hsla(0,0%,100%,.1);background:hsla(0,0%,100%,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:row;align-items:stretch;transition:all .4s cubic-bezier(.4,0,.2,1);opacity:0;transform:translateY(10px);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.file-card.visible{opacity:1;transform:translateY(0)}.file-card:hover{border-color:hsla(0,0%,100%,.2);background:hsla(0,0%,100%,.08)}.file-card.dragging,.file-card:active{cursor:-webkit-grabbing;cursor:grabbing}.file-card.dragging{opacity:.4;transform:scale(.98);border-color:hsla(0,0%,100%,.3)}.file-card.drag-over{border-color:hsla(0,0%,100%,.5);background:hsla(0,0%,100%,.12);transform:scale(1.02)}.file-preview{position:relative;width:160px;min-width:160px;height:160px;background:hsla(0,0%,100%,.03);overflow:hidden;flex-shrink:0;cursor:pointer}.file-preview img,.file-preview video{width:100%;height:100%;object-fit:cover}.file-preview:before{content:"";position:absolute;inset:0;background:hsla(0,0%,100%,.1);opacity:0;transition:opacity .2s ease;z-index:1}.file-preview:hover:before{opacity:1}.file-type-badge{position:absolute;bottom:.375rem;left:.375rem;padding:.2rem .5rem;border-radius:.25rem;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsla(0,0%,100%,.9)}.file-info{width:220px;min-width:220px;padding:.875rem 1rem;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.file-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.file-name{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1}.file-size{font-size:.6875rem;color:hsla(0,0%,100%,.4);white-space:nowrap}.ai-analysis{flex:1 1;min-width:200px;padding:.875rem 1rem;border-left:1px solid hsla(0,0%,100%,.08);border-right:1px solid hsla(0,0%,100%,.08);display:flex;flex-direction:column;justify-content:center}.ai-label{display:flex;align-items:center;gap:.375rem;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:hsla(0,0%,100%,.5);margin-bottom:.5rem}.ai-label svg{width:10px;height:10px}.ai-content{font-size:.75rem;line-height:1.5;color:hsla(0,0%,100%,.7);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.ai-content.ai-loading{color:hsla(0,0%,100%,.4);font-style:italic}.ai-content.ai-error{color:rgba(239,68,68,.8)}.metadata-pills{display:flex;flex-wrap:wrap;gap:.25rem}.meta-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:.375rem;background:hsla(0,0%,100%,.05);font-size:.625rem;color:hsla(0,0%,100%,.7);transition:all .2s ease}.meta-pill svg{width:10px;height:10px;opacity:.5}.meta-pill-label{color:hsla(0,0%,100%,.4)}.meta-pill-value{font-weight:500}.meta-pill.highlight{background:hsla(0,0%,100%,.1)}.gps-link{color:inherit;text-decoration:none}.gps-link:hover .meta-pill-value{text-decoration:underline}.no-metadata{font-size:.6875rem;color:hsla(0,0%,100%,.3)}.delete-btn{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;display:grid;place-items:center;border-radius:.375rem;border:none;background:rgba(0,0,0,.5);color:hsla(0,0%,100%,.6);cursor:pointer;opacity:0;transition:all .2s ease;z-index:5}.delete-btn svg{width:12px;height:12px}.file-card:hover .delete-btn{opacity:1}.delete-btn:hover{background:rgba(239,68,68,.8);color:#fff}.drag-clone{opacity:.9;box-shadow:0 20px 40px rgba(0,0,0,.5);transform:scale(1.02)}.modal{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.95);align-items:center;justify-content:center;padding:2rem}.modal.visible{display:flex}.modal-content{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:.5rem}.modal-close{position:absolute;top:1.5rem;right:1.5rem;width:40px;height:40px;display:grid;place-items:center;border-radius:.75rem;border:1px solid hsla(0,0%,100%,.15);background:hsla(0,0%,100%,.1);color:#fff;cursor:pointer;transition:all .2s ease}.modal-close:hover{background:hsla(0,0%,100%,.2)}.modal-close svg{width:20px;height:20px}.loading{display:none;text-align:center;padding:3rem}.loading.visible{display:block}.loader{width:40px;height:40px;margin:0 auto;border:2px solid hsla(0,0%,100%,.1);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:768px){.container{padding:1rem 1rem 3rem}.upload-zone{padding:2rem 1.5rem;border-radius:1.25rem}.file-card{flex-wrap:wrap}.file-preview{width:100px;min-width:100px;height:100px}.ai-analysis{flex:1 1;min-width:0;border-right:none}.file-info{width:100%;min-width:100%;border-top:1px solid hsla(0,0%,100%,.08);padding:.75rem 1rem}.ai-content{-webkit-line-clamp:2}}