:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#e8e8e8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{position:relative;margin:0;min-width:320px;min-height:100vh;background-color:#e8e8e8}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:url(/camera-icon.svg);background-repeat:repeat;background-size:100px 100px;background-attachment:fixed;background-position:center;opacity:.02;pointer-events:none;z-index:0}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s;color:#213547}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.flagged-files-modal{display:flex;flex-direction:column;gap:20px;max-height:70vh;overflow-y:auto;padding:20px}.flagged-files-modal .error-message{padding:12px 16px;background-color:#ffebee;color:#c62828;border-radius:4px;font-size:14px}.flagged-files-modal .loading{text-align:center;padding:40px 20px;color:#666;font-size:16px}.flagged-files-modal .empty-state{text-align:center;padding:60px 20px;color:#999}.flagged-files-modal .empty-state p{margin:0;font-size:16px}.flagged-files-modal .empty-state .subtitle{font-size:14px;margin-top:8px;color:#bbb}.flagged-files-modal .filter-buttons{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #eee}.flagged-files-modal .filter-btn{padding:6px 12px;border:1px solid #ddd;background-color:#f5f5f5;border-radius:16px;font-size:13px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.flagged-files-modal .filter-btn:hover{background-color:#efefef;border-color:#ccc}.flagged-files-modal .filter-btn.active{background-color:#2196f3;color:#fff;border-color:#2196f3}.flagged-files-modal .flagged-files-list{display:flex;flex-direction:column;gap:16px}.flagged-files-modal .flagged-file-item{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background-color:#fafafa;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:start}.flagged-files-modal .file-info{grid-column:1;grid-row:1 / 4}.flagged-files-modal .file-name{font-weight:500;font-size:14px;color:#333;margin-bottom:6px;word-break:break-word}.flagged-files-modal .file-details{display:flex;gap:16px;font-size:12px;color:#999}.flagged-files-modal .file-size{display:flex;align-items:center}.flagged-files-modal .file-size:before{content:"📁 ";margin-right:4px}.flagged-files-modal .file-date{display:flex;align-items:center}.flagged-files-modal .file-date:before{content:"📅 ";margin-right:4px}.flagged-files-modal .reason-badge{grid-column:2 / 4;grid-row:1;padding:6px 12px;border-radius:4px;color:#fff;font-size:12px;font-weight:500;white-space:nowrap}.flagged-files-modal .details-info{grid-column:2 / 4;grid-row:2;font-size:12px;color:#666;background-color:#fff;padding:4px 8px;border-radius:4px;border-left:2px solid #2196f3}.flagged-files-modal .error-info{grid-column:2 / 4;grid-row:3;font-size:12px;color:#d32f2f;background-color:#ffebee;padding:4px 8px;border-radius:4px;border-left:2px solid #d32f2f}.flagged-files-modal .note-input{grid-column:1 / 4;grid-row:4}.flagged-files-modal .note-input input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:13px;font-family:inherit}.flagged-files-modal .note-input input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 4px #2196f34d}.flagged-files-modal .note-input input:disabled{background-color:#f5f5f5;color:#999}.flagged-files-modal .action-buttons{grid-column:1 / 4;grid-row:5;display:flex;gap:8px}.flagged-files-modal .btn{flex:1;padding:10px 16px;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.flagged-files-modal .btn-primary{background-color:#4caf50;color:#fff}.flagged-files-modal .btn-primary:hover:not(:disabled){background-color:#45a049;box-shadow:0 2px 4px #0003}.flagged-files-modal .btn-secondary{background-color:#f44336;color:#fff}.flagged-files-modal .btn-secondary:hover:not(:disabled){background-color:#da190b;box-shadow:0 2px 4px #0003}.flagged-files-modal .btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.flagged-files-modal{padding:16px}.flagged-files-modal .flagged-file-item{grid-template-columns:1fr}.flagged-files-modal .file-info{grid-column:1;grid-row:auto}.flagged-files-modal .reason-badge,.flagged-files-modal .details-info,.flagged-files-modal .error-info,.flagged-files-modal .note-input,.flagged-files-modal .action-buttons{grid-column:1}.flagged-files-modal .filter-buttons{gap:6px}.flagged-files-modal .filter-btn{padding:5px 10px;font-size:12px}}.staged-files-modal{display:flex;flex-direction:column;gap:20px;max-height:70vh;overflow-y:auto;padding:20px}.staged-files-modal .error-message{padding:12px 16px;background-color:#ffebee;color:#c62828;border-radius:4px;font-size:14px}.staged-files-modal .loading{text-align:center;padding:40px 20px;color:#666;font-size:16px}.staged-files-modal .empty-state{text-align:center;padding:60px 20px;color:#999}.staged-files-modal .empty-state p{margin:0;font-size:16px}.staged-files-modal .empty-state .subtitle{font-size:14px;margin-top:8px;color:#bbb}.staged-files-modal .summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;background-color:#f5f5f5;border-radius:8px}.staged-files-modal .summary-item{display:flex;flex-direction:column;gap:4px}.staged-files-modal .summary-item .label{font-size:12px;color:#999;font-weight:500;text-transform:uppercase}.staged-files-modal .summary-item .value{font-size:18px;font-weight:600;color:#333}.staged-files-modal .staged-files-list{display:flex;flex-direction:column;gap:8px;border:1px solid #eee;border-radius:8px;overflow:hidden}.staged-files-modal .staged-file-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #eee;background-color:#fafafa;transition:background-color .2s ease}.staged-files-modal .staged-file-item:last-child{border-bottom:none}.staged-files-modal .staged-file-item:hover{background-color:#f5f5f5}.staged-files-modal .file-icon{font-size:24px;flex-shrink:0}.staged-files-modal .file-info{flex:1;min-width:0}.staged-files-modal .file-name{font-weight:500;font-size:14px;color:#333;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staged-files-modal .file-meta{display:flex;gap:16px;font-size:12px;color:#999}.staged-files-modal .file-size{display:flex;align-items:center}.staged-files-modal .file-size:before{content:"📊 ";margin-right:4px}.staged-files-modal .file-date{display:flex;align-items:center}.staged-files-modal .file-date:before{content:"📅 ";margin-right:4px}.staged-files-modal .btn-index-single{padding:6px 12px;background-color:#2196f3;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.staged-files-modal .btn-index-single:hover:not(:disabled){background-color:#1976d2;box-shadow:0 2px 4px #0003}.staged-files-modal .btn-index-single:disabled{opacity:.6;cursor:not-allowed}.staged-files-modal .action-bar{display:flex;gap:8px;padding-top:12px;border-top:1px solid #eee}.staged-files-modal .btn{flex:1;padding:12px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.staged-files-modal .btn-primary{background-color:#4caf50;color:#fff}.staged-files-modal .btn-primary:hover:not(:disabled){background-color:#45a049;box-shadow:0 2px 4px #0003}.staged-files-modal .btn-secondary{background-color:#f5f5f5;color:#333;border:1px solid #ddd}.staged-files-modal .btn-secondary:hover:not(:disabled){background-color:#efefef}.staged-files-modal .btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.staged-files-modal{padding:16px}.staged-files-modal .summary{grid-template-columns:1fr}.staged-files-modal .staged-file-item{flex-wrap:wrap}.staged-files-modal .file-info{flex-basis:100%;order:2}.staged-files-modal .btn-index-single{flex-basis:100%;order:3}.staged-files-modal .action-bar{flex-direction:column}.staged-files-modal .btn{width:100%}}.upload-status-dashboard{display:flex;flex-direction:column;gap:20px;padding:20px;min-width:400px}.upload-status-dashboard .error-message{padding:12px 16px;background-color:#ffebee;color:#c62828;border-radius:4px;font-size:14px}.upload-status-dashboard .loading{text-align:center;padding:40px 20px;color:#666;font-size:16px}.upload-status-dashboard .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.upload-status-dashboard .stat-card{padding:16px;background-color:#f5f5f5;border-radius:8px;text-align:center;border-left:4px solid #2196f3}.upload-status-dashboard .stat-card.success{border-left-color:#4caf50;background-color:#f1f8e9}.upload-status-dashboard .stat-card.warning{border-left-color:#ff9800;background-color:#fff3e0}.upload-status-dashboard .stat-card.danger{border-left-color:#f44336;background-color:#ffebee}.upload-status-dashboard .stat-number{font-size:28px;font-weight:600;margin-bottom:4px;color:#333}.upload-status-dashboard .stat-card.success .stat-number{color:#2e7d32}.upload-status-dashboard .stat-card.warning .stat-number{color:#e65100}.upload-status-dashboard .stat-card.danger .stat-number{color:#c62828}.upload-status-dashboard .stat-label{font-size:12px;color:#666;text-transform:uppercase;font-weight:500}.upload-status-dashboard .storage-info{padding:16px;background-color:#f5f5f5;border-radius:8px;border:1px solid #e0e0e0}.upload-status-dashboard .storage-info .label{font-size:14px;color:#666;margin-bottom:8px;font-weight:500}.upload-status-dashboard .storage-value{font-size:24px;font-weight:600;color:#333;margin-bottom:12px}.upload-status-dashboard .progress-bar{width:100%;height:8px;background-color:#ddd;border-radius:4px;overflow:hidden;margin-bottom:8px}.upload-status-dashboard .progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#2196f3);transition:width .3s ease}.upload-status-dashboard .storage-note{font-size:12px;color:#999}.upload-status-dashboard .summary{padding:12px 16px;background-color:#e3f2fd;border-radius:4px;border-left:4px solid #2196f3;font-size:13px;line-height:1.5}.upload-status-dashboard .summary p{margin:0}.upload-status-dashboard .auto-refresh-note{font-size:12px;color:#999;text-align:center;padding:8px;background-color:#fafafa;border-radius:4px}@media (max-width: 768px){.upload-status-dashboard{min-width:auto}.upload-status-dashboard .stats-grid{grid-template-columns:repeat(2,1fr)}}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;width:100%;background-color:#e8e8e8;background-image:url(/camera-icon.svg);background-repeat:repeat;background-size:40px 40px;background-attachment:fixed;background-position:center;padding:20px}.login-box{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:48px 40px;max-width:420px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}.login-logo{width:120px;height:120px;margin-bottom:32px;opacity:.9}.login-logo svg{width:100%;height:100%}.login-title{font-size:32px;font-weight:700;margin:0 0 8px;color:#213547;letter-spacing:.5px}.login-tagline{font-size:16px;color:#666;margin:0 0 32px;font-weight:400}.login-form{width:100%;display:flex;flex-direction:column;gap:24px}.login-subtitle{font-size:14px;color:#555;margin:0;font-weight:500}.google-button-container{justify-content:center;padding:12px 0;min-height:48px;display:flex;align-items:center}.login-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;background:#f5f5f5;border-radius:8px}.spinner{width:32px;height:32px;border:3px solid #e0e0e0;border-top:3px solid #3949ab;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-loading p{margin:0;font-size:14px;color:#555}.login-privacy{font-size:12px;color:#999;margin:0;line-height:1.6}@media (max-width: 480px){.login-box{padding:32px 24px}.login-title{font-size:28px}.login-logo{width:100px;height:100px;margin-bottom:24px}}.login-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:11000;padding:20px}.login-modal-box{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:48px 40px;max-width:420px;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;animation:modal-slide-down .3s ease-out}@keyframes modal-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-modal-close{position:absolute;top:16px;right:16px;width:32px;height:32px;border:none;background:transparent;font-size:20px;color:#999;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease}.login-modal-close:hover{background:#f0f0f0;color:#333}@media (max-width: 480px){.login-modal-box{padding:32px 24px}}.landing-container{display:flex;flex-direction:column;min-height:100vh;width:100%;background:linear-gradient(135deg,#f5f7fa,#e8eaef);color:#333}.landing-hero{display:flex;align-items:center;justify-content:center;padding:80px 20px;background:linear-gradient(135deg,#fff,#f7f9fc);border-bottom:1px solid #e0e0e0;min-height:100vh;text-align:center}.hero-content{max-width:600px;display:flex;flex-direction:column;align-items:center;gap:24px;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-logo{width:200px;height:auto;margin-bottom:16px;opacity:.95}.hero-logo svg{width:100%;height:auto}.hero-title{font-size:56px;font-weight:700;margin:0;color:#1a237e;letter-spacing:-1px}.hero-tagline{font-size:20px;color:#666;margin:0;font-weight:400;font-style:italic}.hero-description{font-size:16px;color:#555;margin:0;line-height:1.6;max-width:500px}.hero-cta{padding:14px 40px;font-size:16px;font-weight:600;color:#fff;background:linear-gradient(135deg,#1a237e,#3949ab);border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1a237e4d;margin-top:16px}.hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 20px #1a237e66}.hero-cta:active{transform:translateY(0)}.landing-features{padding:80px 20px;background:#fff;border-bottom:1px solid #e0e0e0}.section-title{font-size:40px;font-weight:700;text-align:center;margin:0 0 60px;color:#1a237e}.features-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px}.feature-card{padding:32px 24px;background:#f8fafb;border-radius:12px;border:1px solid #e8eaef;transition:all .3s ease;text-align:center}.feature-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #1a237e1f;border-color:#3949ab}.feature-icon{font-size:48px;margin-bottom:16px}.feature-card h3{font-size:18px;font-weight:600;margin:0 0 12px;color:#1a237e}.feature-card p{font-size:14px;color:#666;margin:0;line-height:1.6}.landing-how-it-works{padding:80px 20px;background:linear-gradient(135deg,#f5f7fa,#e8eaef);border-bottom:1px solid #e0e0e0}.steps-container{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}.step{flex:1;min-width:200px;text-align:center;padding:20px}.step-number{width:56px;height:56px;background:linear-gradient(135deg,#1a237e,#3949ab);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto 16px}.step h3{font-size:18px;font-weight:600;margin:0 0 8px;color:#1a237e}.step p{font-size:14px;color:#666;margin:0}.step-arrow{font-size:24px;color:#3949ab;font-weight:400}@media (max-width: 768px){.steps-container{flex-direction:column;gap:12px}.step-arrow{transform:rotate(90deg)}}.landing-cta-section{padding:80px 20px;background:linear-gradient(135deg,#1a237e,#3949ab);color:#fff;text-align:center}.landing-cta-section h2{font-size:36px;font-weight:700;margin:0 0 16px}.landing-cta-section p{font-size:16px;opacity:.95;max-width:600px;margin:0 auto 32px}.cta-button{padding:14px 40px;font-size:16px;font-weight:600;color:#1a237e;background:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003}.cta-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.cta-button:active{transform:translateY(0)}.landing-footer{padding:40px 20px;background:#f8fafb;border-top:1px solid #e0e0e0;text-align:center;color:#666;font-size:14px}.landing-footer p{margin:0 0 8px}.footer-privacy{opacity:.8;font-style:italic}@media (max-width: 768px){.landing-hero{padding:60px 20px;min-height:auto}.hero-title{font-size:40px}.hero-tagline{font-size:18px}.hero-description{font-size:15px}.hero-logo{width:150px}.landing-features{padding:60px 20px}.features-grid{gap:24px;grid-template-columns:1fr}.section-title{font-size:32px;margin-bottom:40px}.landing-how-it-works,.landing-cta-section{padding:60px 20px}.landing-cta-section h2{font-size:28px}.landing-cta-section p{font-size:15px}}@media (max-width: 480px){.landing-hero{padding:40px 16px}.hero-title{font-size:32px}.hero-tagline{font-size:16px}.hero-logo{width:120px}.hero-cta,.cta-button{width:100%;padding:12px 24px;font-size:14px}.landing-features,.landing-how-it-works,.landing-cta-section{padding:40px 16px}.section-title{font-size:28px}.features-grid{gap:16px}.feature-card{padding:24px 16px}.feature-icon{font-size:36px}.landing-cta-section h2{font-size:24px}}.photo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:24px}.virtualized-grid{width:100%;flex:1;overflow:auto;position:relative;min-width:0;box-sizing:border-box;align-self:stretch}.virtualized-grid-content{position:relative;width:100%;min-width:0;box-sizing:border-box}.sidebar-brand{text-align:center;margin-bottom:24px}.sidebar-brand svg{width:160px;height:auto;margin-bottom:4px}.sidebar-brand p{margin:4px 0 0;font-size:11px;color:#666;font-style:italic;letter-spacing:.5px}.photo-item{position:relative;border-radius:10px;overflow:hidden;background:#111;box-shadow:0 6px 18px #0000002e;width:100%;aspect-ratio:1 / 1}.photo-item{z-index:1}.photo-item:hover{z-index:100}.photo-thumb{width:100%;height:100%;object-fit:cover;display:block}.photo-overlay{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(180deg,#0000,#0009 60%);color:#fff;padding:8px;display:flex;flex-direction:column;justify-content:flex-end;transform:translateY(100%);transition:transform .2s ease}.photo-item:hover .photo-overlay{transform:translateY(0)}.photo-overlay{pointer-events:none}.photo-overlay>*{pointer-events:auto}.photo-overlay .meta{font-size:12px;opacity:.9}.selected-ring{position:absolute;top:8px;right:8px;width:22px;height:22px;border-radius:50%;background:#ffffff1f;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700}.photo-item.selected{box-shadow:0 8px 28px #4caf5047;outline:3px solid rgba(76,175,80,.15)}.lightbox-overlay{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:10000}.lightbox-inner{display:flex;flex-direction:column;width:98vw;height:95vh;background:#000000b3;border-radius:4px;overflow:hidden;position:relative}.lightbox-inner.lightbox-fullscreen{width:100%;height:100%;border-radius:0;background:#000}.lightbox-controls{display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:8px 16px;background:#0006;border-bottom:1px solid rgba(255,255,255,.1)}.lightbox-controls-floating{position:absolute;top:16px;right:16px;display:flex;justify-content:flex-end;align-items:center;gap:8px;padding:12px 16px;background:#0009;border-radius:8px;z-index:101;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.lightbox-zoom-btn,.lightbox-reset-btn,.lightbox-close-btn,.lightbox-info-btn,.lightbox-fullscreen-btn{background:#ffffff26;border:none;color:#fff;padding:6px 12px;border-radius:6px;cursor:pointer;font-size:14px;transition:background .2s}.lightbox-zoom-btn:hover,.lightbox-reset-btn:hover,.lightbox-close-btn:hover,.lightbox-info-btn:hover,.lightbox-fullscreen-btn:hover{background:#ffffff40}.lightbox-zoom-display{color:#fff;margin:0 4px;min-width:50px;text-align:center;font-size:13px;font-weight:500}.lightbox-image-container{flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;width:100%;height:100%;background:#0000004d}.lightbox-image{max-width:none;max-height:none;border-radius:6px;box-shadow:0 10px 40px #000c}.lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;color:#fff;font-size:36px;padding:12px 16px;border-radius:8px;cursor:pointer;z-index:100;transition:background .2s,opacity .2s;-webkit-user-select:none;user-select:none;opacity:0}.lightbox-inner:hover .lightbox-arrow{opacity:1}.lightbox-arrow:hover{background:#fff6}.lightbox-arrow-left{left:16px}.lightbox-arrow-right{right:16px}.lightbox-metadata{padding:8px 16px;color:#fff;background:#0006;border-top:1px solid rgba(255,255,255,.1);text-align:left}.lightbox-metadata-expanded{position:absolute;bottom:16px;left:16px;right:16px;padding:12px 16px;color:#fff;background:#000000b3;border-radius:8px;border:1px solid rgba(255,255,255,.15);z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:slideUp .2s ease-out}.lightbox-metadata strong{display:block;font-size:16px;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lightbox-metadata-detail{font-size:12px;opacity:.8}.lightbox-fullscreen-controls{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;gap:12px;z-index:102}.lightbox-fullscreen-btn-large{background:#ffffff26;border:none;color:#fff;padding:12px 20px;border-radius:8px;cursor:pointer;font-size:20px;transition:background .2s}.lightbox-fullscreen-btn-large:hover{background:#ffffff4d}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}#root{max-width:none;margin:0;padding:0;text-align:left}.container{width:100%;padding:2rem;box-sizing:border-box}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.toast-container{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:9999}.toast{background:#222;color:#fff;padding:8px 12px;border-radius:6px;box-shadow:0 4px 12px #0003}.modal-overlay{position:fixed;inset:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:11000;padding:20px}.modal-box{background:#fff;color:#111;border-radius:10px;max-width:720px;width:100%;box-shadow:0 20px 60px #00000080;padding:20px 22px;transform:translateY(8px);animation:modal-pop .16s ease-out forwards}.modal-box h3{margin:0 0 8px}.modal-box p{margin:0 0 12px;color:#333}.modal-box .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.modal-box button{padding:8px 12px;border-radius:6px;border:none;cursor:pointer}.modal-box button:disabled{opacity:.6;cursor:not-allowed}.modal-box button:first-child{background:#f1f1f1;color:#222}.modal-box button:last-child{background:#1976d2;color:#fff}@keyframes modal-pop{0%{opacity:0;transform:translateY(12px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000059;z-index:9998}.progress-box{background:#fff;padding:16px 20px;border-radius:8px;min-width:320px}.progress-bar{height:12px;background:#eee;border-radius:6px;overflow:hidden}.progress-bar>i{display:block;height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);width:0%}.tooltip-box{position:absolute;padding:6px 8px;background:#000000d9;color:#fff;font-size:13px;border-radius:6px;white-space:nowrap;z-index:12000;pointer-events:none}.tooltip-top{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-right{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.tooltip-bottom{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip-left{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.album-drag-target{outline:2px dashed #1976d2;background:#1976d20f}.inactivity-warning-modal{border-left:4px solid #ff9800}.inactivity-warning-modal h3{color:#ff9800}.inactivity-warning-content{padding:8px 0}.inactivity-warning-content p{margin:8px 0}.inactivity-warning-content p:first-child{font-weight:500;color:#d32f2f}.countdown-display{font-size:48px;font-weight:700;text-align:center;color:#1976d2;padding:20px;background:linear-gradient(135deg,#1976d214,#1976d205);border-radius:8px;margin:16px 0;font-family:Courier New,monospace;letter-spacing:2px;transition:all .3s ease}.countdown-display.low-time{color:#d32f2f;background:linear-gradient(135deg,#d32f2f1f,#d32f2f0a);animation:pulse-warning 1s infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.7}}.inactivity-warning-modal .modal-actions{display:flex;justify-content:space-between;gap:8px;margin-top:16px}.inactivity-warning-modal .logout-btn{padding:10px 16px;border-radius:6px;border:none;cursor:pointer;background:#ff9800;color:#fff;font-weight:500;flex:1;transition:background .2s ease}.inactivity-warning-modal .logout-btn:hover{background:#f57c00}.inactivity-warning-modal .continue-btn{padding:10px 16px;border-radius:6px;border:none;cursor:pointer;background:#4caf50;color:#fff;font-weight:500;flex:1;transition:background .2s ease}.inactivity-warning-modal .continue-btn:hover{background:#45a049}
