body{background:#f8fafc;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.upload-actions{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.progress-bar-container{background-color:#e2e8f0;border-radius:5px;height:10px;margin-bottom:1.5rem;overflow:hidden;width:100%}.progress-bar-fill{background:linear-gradient(90deg,#3b82f6,#8b5cf6);height:100%;transition:width .3s ease}@media (max-width:768px){.upload-actions{align-items:stretch;flex-direction:column}.upload-actions button{width:100%}}*{box-sizing:border-box}#root,body,html{height:100%;margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#f0f4ff,#f8f9fc);color:#0f172a;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Helvetica Neue,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit}.logout,.primary,.secondary{border:none;border-radius:12px;cursor:pointer;font-size:.95rem;font-weight:700;overflow:hidden;padding:.875rem 1.75rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.primary{background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 15px 40px -12px #3b82f666;color:#fff}.primary:hover:not(:disabled){box-shadow:0 20px 50px -15px #3b82f699;transform:translateY(-2px)}.primary:active:not(:disabled){transform:translateY(0)}.primary:disabled{cursor:not-allowed;opacity:.7}.secondary{background:#cbd5e180;border:1px solid #94a3b84d;color:#1e293b}.secondary:hover{background:#cbd5e1cc;transform:translateY(-1px)}.logout{background:#ef444414;border:1.5px solid #dc26264d;color:#dc2626;padding:.7rem 1.4rem}.logout:hover{background:#ef444426;border-color:#dc262699}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:2rem;position:relative}.auth-container:before{background:#ffffff1a;filter:blur(80px);height:600px;right:-10%;top:-50%;width:600px}.auth-container:after,.auth-container:before{border-radius:50%;content:"";position:absolute}.auth-container:after{background:#ffffff14;bottom:-30%;filter:blur(90px);height:500px;left:-5%;width:500px}.auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #ffffffb3;border-radius:20px;box-shadow:0 40px 80px -20px #0000004d;padding:3.5rem 3rem;position:relative;width:min(440px,100%);z-index:1}.auth-card h1{color:#0f172a;font-size:2.2rem;font-weight:800;letter-spacing:-.5px;margin:0 0 .75rem}.auth-card>p{color:#64748b;font-size:1rem;line-height:1.5;margin:0}.auth-form{grid-gap:1.3rem;display:grid;gap:1.3rem;margin-top:2.5rem}.auth-form label{grid-gap:.65rem;color:#1f2937;display:grid;font-size:.95rem;font-weight:600;gap:.65rem}.auth-form input{background:#fafbfc;border:1.5px solid #cbd5e1cc;border-radius:12px;font-size:1rem;padding:.9rem 1.1rem;transition:all .3s ease}.auth-form input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 5px #3b82f61a;outline:none}.auth-form input::placeholder{color:#cbd5e1}.auth-switch{color:#475569;font-size:.95rem;margin-top:2.2rem;text-align:center}.auth-switch a{color:#3b82f6;cursor:pointer;font-weight:700;transition:color .2s ease}.auth-switch a:hover{color:#2563eb;text-decoration:underline}.navbar{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(135deg,#0f172af2,#1e293beb);border-bottom:1px solid #ffffff14;box-shadow:0 10px 40px -15px #0006;color:#f1f5f9;justify-content:space-between;padding:.45rem 1.75rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.navbar,.navbar-left{align-items:center;display:flex}.navbar-left{gap:1.1rem}.brand{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;background-clip:text;font-size:1rem;font-weight:900;letter-spacing:-.5px}.tabs{align-items:center;background:#ffffff14;border:1px solid #ffffff1a;border-radius:14px;gap:.8rem;padding:.25rem}.tab{background:#0000;border:none;border-radius:10px;color:#f8fafcb3;cursor:pointer;font-size:.85rem;font-weight:700;padding:.35rem .95rem;transition:all .3s ease}.tab:hover{background:#ffffff14;color:#f1f5f9}.tab.active{background:linear-gradient(135deg,#60a5fa,#a78bfa);box-shadow:0 8px 20px -8px #60a5fa66;color:#fff}.navbar-right{align-items:center;display:flex;gap:.85rem}.user-name{color:#e0e7ff;font-weight:700}.dashboard{background:linear-gradient(180deg,#0f172a08,#0000 30%),linear-gradient(90deg,#3b82f605,#8b5cf605);display:flex;flex-direction:column;min-height:100vh}.dashboard main{display:flex;flex:1 1;justify-content:center;padding:3rem 2.5rem}.panel{animation:slideUp .5s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid #cbd5e14d;border-radius:20px;box-shadow:0 30px 80px -40px #0f172a66;padding:3rem;width:min(1000px,100%)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.panel h2{color:#0f172a;font-size:1.95rem;font-weight:800;margin:0 0 1.5rem}.info-text{background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid #3b82f633;border-radius:8px;color:#475569;font-size:.9rem;margin:0 0 1.5rem;padding:1rem}.upload-form{grid-gap:2rem;display:grid;gap:2rem}.file-input{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:2.5px dashed #3b82f64d;border-radius:18px;color:#1e293b;cursor:pointer;display:grid;font-weight:700;padding:2.5rem;place-items:center;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.file-input:hover{background:linear-gradient(135deg,#3b82f61a,#8b5cf61a);border-color:#3b82f6;transform:translateY(-2px)}.file-input input{display:none}.file-list{grid-gap:.8rem;display:grid;gap:.8rem;list-style:none;margin:0;padding:0}.file-list li{align-items:center;background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid #3b82f633;border-radius:14px;display:flex;justify-content:space-between;padding:1rem 1.2rem;transition:all .2s ease}.file-list li:hover{background:linear-gradient(135deg,#3b82f61f,#8b5cf61f);border-color:#3b82f680}.message{animation:slideDown .3s ease;border-radius:14px;font-weight:600;margin-top:1.5rem;padding:1.1rem 1.5rem}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.success{background:linear-gradient(135deg,#22c55e1f,#10b98114);border:1px solid #22c55e4d;color:#047857}.message.error{background:linear-gradient(135deg,#ef44441f,#dc262614);border:1px solid #ef44444d;color:#991b1b}.annotate{grid-gap:2rem;display:grid;gap:2rem}.annotate-header{align-items:flex-start;border-bottom:1px solid #cbd5e14d;display:flex;justify-content:space-between;padding-bottom:1rem}.annotate-header-left{display:flex;flex-direction:column;gap:.35rem;min-width:0}.annotate-stats{color:#1e293bd9;flex-wrap:wrap;font-size:.85rem;gap:.9rem}.annotate-stats,.stats-bar{display:flex;font-weight:600}.stats-bar{background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid #3b82f633;border-radius:12px;color:#1e293b;font-size:.9rem;gap:1.5rem;padding:1rem}.annotate-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1.5fr 1fr}.annotate-left{grid-gap:.75rem;display:grid;gap:.75rem}.image-meta{grid-gap:.5rem;display:grid;gap:.5rem}.annotate-viewer{align-items:flex-start;background:linear-gradient(135deg,#f8fafce6,#f1f5f9e6);border:1px solid #cbd5e14d;border-radius:16px;display:inline-flex;flex-direction:column;justify-content:flex-start;max-width:100%;padding:.5rem;width:-webkit-fit-content;width:fit-content}.annotate-viewer img{align-self:flex-start;border-radius:14px;box-shadow:0 20px 50px -25px #0f172a66;margin-bottom:1rem;max-height:85vh;max-width:100%;object-fit:contain}.image-info{background:#ffffffe6;border-radius:8px;color:#475569;font-size:.9rem;margin:0;padding:.75rem 1.25rem;text-align:center}.annotate-form{grid-gap:.75rem;align-content:start;align-items:start;background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:1px solid #3b82f633;border-radius:16px;display:grid;gap:.75rem;grid-auto-rows:-webkit-max-content;grid-auto-rows:max-content;padding:1.5rem}.meme-context{background:#ffffffbf;border:1px solid #cbd5e173;border-radius:14px;padding:.75rem}.meme-context-header{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.meme-context-header h3{font-size:1.05rem;margin:0}.meme-context-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.meme-context-help{color:#64748b;font-size:.9rem;margin:.5rem 0 0}.meme-context-results{margin-top:.75rem;max-height:240px;overflow:auto;padding-right:6px}.annotate-form h3,.annotate-form h4{color:#0f172a;font-size:1.2rem;font-weight:700;margin:0}.annotate-form h4{font-size:1rem;margin-bottom:.5rem}.label-options{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.label-button{background:#0f172a05;border:2px solid #cbd5e199;border:2px solid var(--opt-color,#cbd5e199);border-radius:12px;color:#475569;cursor:pointer;font-weight:600;padding:1.2rem;text-align:center;transition:all .3s ease}.label-button:hover:not(.selected){background:#3b82f60d;border-color:#3b82f6;border-color:var(--opt-color,#3b82f6);transform:translateY(-2px)}.label-button.selected{background:#3b82f6;background:var(--opt-color,#3b82f6);border-color:#0000;box-shadow:0 14px 30px -14px #0f172a59,0 8px 20px -8px #0f172a40;color:#fff;filter:saturate(1.35) contrast(1.05)}@supports (background:color-mix(in srgb,red 10%,white)){.label-button.selected{box-shadow:0 16px 34px -16px color-mix(in srgb,#3b82f6 70%,#0000),0 8px 20px -8px #0f172a40;box-shadow:0 16px 34px -16px color-mix(in srgb,var(--opt-color,#3b82f6) 70%,#0000),0 8px 20px -8px #0f172a40}.label-button{background:color-mix(in srgb,#3b82f6 8%,#fff);background:color-mix(in srgb,var(--opt-color,#3b82f6) 8%,#fff);color:color-mix(in srgb,#3b82f6 75%,#0f172a);color:color-mix(in srgb,var(--opt-color,#3b82f6) 75%,#0f172a)}.label-button.selected{background:linear-gradient(135deg,#3b82f6,color-mix(in srgb,#3b82f6 70%,#000));background:linear-gradient(135deg,var(--opt-color,#3b82f6),color-mix(in srgb,var(--opt-color,#3b82f6) 70%,#000))}}.label-button input{display:none}.label-button span{font-size:1rem}.comment-section,.delete-section,.subcategory-section{grid-gap:.75rem;background:#ffffffb3;border:1px solid #cbd5e166;border-radius:12px;display:grid;gap:.75rem;padding:1.5rem}.radio-group{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.8rem}.radio-option{align-items:center;align-self:flex-start;background:#0f172a05;border:1px solid #cbd5e1cc;border:1px solid var(--opt-color,#cbd5e1cc);border-radius:8px;color:#475569;color:var(--opt-color,#475569);cursor:pointer;display:flex;font-size:.95rem;gap:.5rem;padding:.45rem .85rem;transition:all .2s ease}.radio-option:hover:not(.selected){background:#3b82f60d;border-color:#3b82f6;border-color:var(--opt-color,#3b82f6)}.radio-option.selected{background:#3b82f6;background:var(--opt-color,#3b82f6);border-color:#0000;color:#fff;font-weight:600}@supports (background:color-mix(in srgb,red 10%,white)){.radio-option:hover:not(.selected){background:color-mix(in srgb,#3b82f6 6%,#fff);background:color-mix(in srgb,var(--opt-color,#3b82f6) 6%,#fff)}.radio-option{background:color-mix(in srgb,#3b82f6 7%,#fff);background:color-mix(in srgb,var(--opt-color,#3b82f6) 7%,#fff);color:color-mix(in srgb,#3b82f6 80%,#0f172a);color:color-mix(in srgb,var(--opt-color,#3b82f6) 80%,#0f172a)}}.radio-option.selected:hover{border-color:#0000}.label-button.selected:hover,.radio-option.selected:hover{background:#3b82f6;background:var(--opt-color,#3b82f6);color:#fff}.radio-option.selected{box-shadow:0 12px 26px -14px #0f172a59,0 6px 16px -10px #0f172a40}@supports (background:color-mix(in srgb,red 10%,white)){.radio-option.selected{box-shadow:0 14px 30px -16px color-mix(in srgb,#3b82f6 65%,#0000),0 6px 16px -10px #0f172a40;box-shadow:0 14px 30px -16px color-mix(in srgb,var(--opt-color,#3b82f6) 65%,#0000),0 6px 16px -10px #0f172a40}}.radio-option input{display:none}.comment-section textarea,.delete-section textarea{background:#fff;border:1.5px solid #cbd5e1cc;border-radius:10px;font-family:inherit;font-size:.95rem;padding:.9rem;resize:vertical;transition:all .2s ease}.comment-section textarea:focus,.delete-section textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.annotate-list{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:1px solid #3b82f633;border-radius:16px;max-height:550px;overflow-y:auto;padding:1.3rem}.annotate-list::-webkit-scrollbar{width:6px}.annotate-list::-webkit-scrollbar-track{background:#0000}.annotate-list::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px}.annotate-list::-webkit-scrollbar-thumb:hover{background:#3b82f680}.annotate-list ul{grid-gap:.7rem;display:grid;gap:.7rem;list-style:none;margin:0;padding:0}.list-item{grid-gap:.35rem;background:#0000;border:none;border-radius:12px;color:#1e293b;cursor:pointer;display:grid;gap:.35rem;padding:.85rem 1rem;text-align:left;transition:all .2s ease;width:100%}.list-item small{color:#64748b;font-size:.8rem}.list-item:hover{background:#fffc;transform:translateX(4px)}.list-item.active{background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 8px 20px -8px #3b82f666;color:#fff}.list-item.active small{color:#fffc}.non-image{grid-gap:1.5rem;color:#475569;display:grid;gap:1.5rem;text-align:center}.non-image p{font-size:1rem;margin:0}.non-image a{color:#3b82f6;font-weight:700}.history-notice{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:8px;color:#d97706;font-size:.85rem;font-weight:600;margin-top:.5rem;padding:.5rem 1rem;text-align:center}.annotation-history{margin-top:2rem}.history-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.history-card{background:#fff;border:1px solid #cbd5e14d;border-radius:12px;overflow:hidden;transition:all .3s ease}.history-card:hover{box-shadow:0 15px 40px -15px #3b82f64d;transform:translateY(-4px)}.history-card img{height:200px;object-fit:cover;width:100%}.history-details{padding:1rem}.history-details h4{color:#0f172a;font-size:.95rem;margin:0 0 .75rem;word-break:break-word}.history-label{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.label-badge{border-radius:6px;font-size:.75rem;font-weight:700;padding:.3rem .75rem;text-transform:uppercase}.label-badge.hate{background:#ef444426;color:#dc2626}.label-badge.non-hate{background:#22c55e26;color:#16a34a}.label-badge.confused,.label-badge.unsure{background:#f59e0b26;color:#d97706}.label-badge.delete{background:#6b728026;color:#4b5563}.sublabel{background:#8b5cf61a;border-radius:6px;color:#7c3aed;color:var(--badge-color,#7c3aed);font-size:.75rem;padding:.3rem .75rem}@supports (background:color-mix(in srgb,red 10%,white)){.sublabel{background:color-mix(in srgb,#7c3aed 12%,#fff);background:color-mix(in srgb,var(--badge-color,#7c3aed) 12%,#fff)}}.history-details .reason{color:#64748b;font-size:.85rem;line-height:1.4;margin:.5rem 0 0}.history-details .timestamp{color:#94a3b8;font-size:.75rem;margin:.75rem 0 0}.edit-btn{background:linear-gradient(135deg,#3b82f6,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;margin-top:.75rem;padding:.5rem 1rem;transition:all .2s ease;width:100%}.edit-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-2px)}.edit-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.edit-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto;width:min(600px,100%)}.edit-modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.edit-modal-header h3{color:#0f172a;font-size:1.5rem;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:2rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.close-btn:hover{background:#f1f5f9;color:#0f172a}.edit-modal-content{padding:2rem}.edit-preview{border-radius:12px;margin-bottom:1.5rem;max-height:250px;object-fit:contain;width:100%}.edit-modal-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;margin-top:2rem;padding-top:1.5rem}.edit-modal-actions button{flex:1 1}.manage{grid-gap:2rem;display:grid;gap:2rem}.manage-header{border-bottom:1px solid #cbd5e14d;justify-content:space-between;padding-bottom:1.5rem}.header-actions,.manage-header{align-items:center;display:flex}.header-actions{gap:1rem}.warning{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:12px;box-shadow:0 10px 30px -12px #f59e0b66;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:.875rem 1.75rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.warning:hover:not(:disabled){box-shadow:0 15px 40px -15px #f59e0b99;transform:translateY(-2px)}.warning:active:not(:disabled){transform:translateY(0)}.warning:disabled{cursor:not-allowed;opacity:.7}.small{font-size:.85rem;padding:.5rem 1rem}.manage-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:350px 1fr}.manage-list{background:linear-gradient(135deg,#3b82f60d,#8b5cf60d);border:1px solid #3b82f633;border-radius:16px;max-height:600px;overflow-y:auto;padding:1.3rem}.manage-list .list-header{background:#ffffffe6;border-radius:8px;color:#1e293b;font-size:.95rem;margin-bottom:1rem;padding:.75rem 1rem}.select-all{align-items:center;cursor:pointer;display:flex;font-weight:600;gap:.5rem}.manage-list ul{grid-gap:.7rem;display:grid;gap:.7rem;list-style:none;margin:0;padding:0}.list-item-row{align-items:center;border-radius:12px;color:#1e293b;display:flex;gap:.8rem;padding:.85rem 1rem;transition:all .2s ease;width:100%}.list-item-row:hover{background:#fffc;transform:translateX(4px)}.search-input{border:1px solid #cbd5e1cc;border-radius:10px;font-size:.9rem;padding:.6rem 1rem;transition:all .2s ease;width:200px}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.no-results{color:#64748b;font-style:italic;padding:1rem;text-align:center}.label-breakdown{background:#ffffffe6;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.label-breakdown h4{color:#0f172a;font-size:1rem;margin:0 0 1rem}.breakdown-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(4,1fr)}.breakdown-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:.5rem;padding:.8rem}.breakdown-item .label{color:#64748b;font-size:.8rem;font-weight:600;text-transform:uppercase}.breakdown-item .count{color:#3b82f6;font-size:1.2rem;font-weight:700}.active .list-item-row{background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 8px 20px -8px #3b82f666;color:#fff}.item-button{grid-gap:.5rem;background:#0000;border:none;color:inherit;cursor:pointer;display:grid;flex:1 1;gap:.5rem;padding:0;text-align:left}.item-button .item-name{font-size:.9rem;font-weight:600;word-break:break-word}.item-button .item-meta{color:#64748b;display:flex;font-size:.8rem;gap:1rem}.active .item-button .item-meta{color:#fffc}.manage-viewer{background:linear-gradient(135deg,#f8fafce6,#f1f5f9e6);border:1px solid #cbd5e14d;border-radius:16px;display:flex;flex-direction:column;gap:1.5rem;padding:2rem}.manage-viewer .image-container{align-items:center;background:#fff;border-radius:12px;display:flex;justify-content:center;min-height:300px;padding:1.5rem}.manage-viewer .image-container img{border-radius:8px;box-shadow:0 10px 30px -15px #0f172a4d;max-height:400px;max-width:100%;object-fit:contain}.image-details{background:#ffffffe6;border-radius:12px;padding:1.5rem}.image-details h3{color:#0f172a;font-size:1.2rem;margin:0 0 1.5rem;word-break:break-word}.detail-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.5rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item strong{color:#64748b;font-size:.85rem;font-weight:600}.detail-item span{color:#1e293b;font-size:1rem}.action-buttons{display:flex;gap:1rem;margin-top:1rem}.danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:12px;box-shadow:0 10px 30px -12px #ef444466;color:#fff;cursor:pointer;font-size:.95rem;font-weight:700;padding:.875rem 1.75rem;transition:all .25s cubic-bezier(.4,0,.2,1)}.danger:hover:not(:disabled){box-shadow:0 15px 40px -15px #ef444499;transform:translateY(-2px)}.danger:active:not(:disabled){transform:translateY(0)}.danger:disabled{cursor:not-allowed;opacity:.7}.no-selection{align-items:center;color:#64748b;display:flex;font-size:1.1rem;justify-content:center;min-height:400px}.stats-panel{grid-gap:2rem;display:grid;gap:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{background:linear-gradient(135deg,#3b82f614,#8b5cf614);border:1px solid #3b82f633;border-radius:16px;padding:2rem;text-align:center;transition:all .3s ease}.stat-card:hover{border-color:#3b82f666;box-shadow:0 15px 40px -15px #3b82f64d;transform:translateY(-4px)}.stat-card.highlight{background:linear-gradient(135deg,#8b5cf61f,#3b82f61f);border:2px solid #8b5cf666}.stat-value{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:3rem;font-weight:800;margin-bottom:.5rem}.stat-label{color:#64748b;font-size:.95rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}@media (min-width:1280px){.dashboard main{align-items:stretch;padding:.75rem 1.5rem}.panel.annotate{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-rows:auto 1fr;height:100%;max-height:calc(100vh - 90px);max-height:calc(100dvh - 90px);min-height:0;overflow:hidden;padding:1.15rem 1.35rem;width:min(1560px,98vw)}.panel.annotate.history-mode{overflow:hidden}.panel.annotate.history-mode .annotation-history{margin-top:0;min-height:0;overflow:auto;padding-right:.25rem}.panel.annotate.history-mode .history-grid{padding-bottom:1rem}.panel.annotate .annotate-content{align-items:stretch;grid-template-columns:minmax(680px,2.2fr) minmax(360px,.9fr);min-height:0}.panel.annotate .annotate-left{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0}.panel.annotate .annotate-viewer{align-items:flex-start;display:flex;justify-content:flex-start;min-height:0;padding:.35rem}.panel.annotate .annotate-form{height:100%;min-height:0;overflow:auto}.panel.annotate .annotate-form .meme-context{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:-webkit-sticky;position:sticky;top:0;z-index:2}.panel.annotate .annotate-header{padding-bottom:.75rem}.panel.annotate .annotate-header h2{font-size:1.6rem;margin-bottom:.5rem}.panel.annotate .header-actions .primary,.panel.annotate .header-actions .secondary{border-radius:12px;font-size:.9rem;padding:.65rem 1.1rem}.panel.annotate .annotate-stats{font-size:.82rem;gap:.8rem}.panel.annotate .annotate-viewer img{height:auto;margin-bottom:0;max-height:100%;max-width:100%;object-fit:contain;width:auto}}@media (max-width:1024px){.dashboard main{padding:1.5rem}.panel{padding:2rem}.annotate-content,.manage-content{grid-template-columns:1fr}.annotate-list,.manage-list{max-height:300px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media (max-width:768px){.navbar{padding:.85rem;position:relative;top:auto}.navbar,.navbar-left{flex-direction:column;gap:1rem}.navbar-left{align-items:stretch;width:100%}.brand{text-align:center}.tabs{flex-wrap:wrap;justify-content:center;width:100%}.tab{flex:1 1;padding:.6rem 1rem;text-align:center;white-space:nowrap}.navbar-right{flex-wrap:wrap;gap:.8rem;justify-content:center;width:100%}.dashboard main{padding:1rem}.panel{border-radius:16px;padding:1.5rem}.panel h2{font-size:1.5rem;margin-bottom:1rem}.auth-card{padding:2rem 1.5rem;width:90%}.annotate-viewer{min-height:auto;padding:.5rem}.annotate-viewer img{display:block;margin-bottom:.5rem;margin-left:auto;margin-right:auto;max-height:40vh}.annotate-form{gap:.8rem;padding:1rem}.label-options{gap:.8rem;grid-template-columns:1fr}.label-button{padding:1rem}.stats-grid{grid-template-columns:1fr}.manage-viewer{padding:1rem}.manage-viewer .image-container{min-height:200px;padding:.5rem}.detail-grid{grid-template-columns:1fr}.breakdown-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.logout,.primary,.secondary{font-size:.9rem;padding:.75rem 1.2rem;width:100%}.navbar-right{flex-direction:column}.navbar-right button{width:100%}.auth-form{gap:1rem}.file-input{padding:1.5rem 1rem}.breakdown-grid{grid-template-columns:1fr}.radio-group{flex-direction:column}.radio-option{justify-content:center;width:100%}.panel.annotate .annotate-header{align-items:stretch;flex-direction:column;gap:.75rem}.panel.annotate .annotate-stats{font-size:.8rem;gap:.5rem;line-height:1.25}.panel.annotate .image-info{font-size:.85rem;overflow-wrap:anywhere;padding:.6rem .85rem;text-align:left;word-break:break-word}.panel.annotate .annotate-viewer{padding:.25rem;width:100%}.panel.annotate .annotate-viewer img{margin-bottom:.75rem;max-height:72vh}.panel.annotate .meme-context-header{align-items:stretch;flex-direction:column}.panel.annotate .meme-context-actions{justify-content:stretch;width:100%}.panel.annotate .meme-context-actions .secondary{width:100%}}.tabs{display:flex;gap:1rem;margin-bottom:1rem}.tab-btn{align-items:center;background:none;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;display:flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.tab-btn:hover{background:#3b82f60d;border-radius:8px 8px 0 0;color:#3b82f6}.tab-btn.active{border-bottom-color:#3b82f6;color:#3b82f6}.badge{background:#ef4444;border-radius:999px;color:#fff;font-size:.75rem;min-width:1.2rem;padding:.1rem .4rem;text-align:center}.users-list{background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a;padding:1.5rem}.table-container{margin-top:1rem;overflow-x:auto}.users-table{border-collapse:collapse;text-align:left;width:100%}.users-table td,.users-table th{border-bottom:1px solid #e2e8f0;padding:1rem}.users-table th{background:#f8fafc;color:#64748b;font-weight:600}.users-table tr:last-child td{border-bottom:none}.actions-cell{display:flex;gap:.5rem}.icon-btn{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s}.icon-btn.success{background:#10b9811a;color:#10b981}.icon-btn.success:hover{background:#10b98133}.icon-btn.danger{background:#ef44441a;color:#ef4444}.icon-btn.danger:hover{background:#ef444433}
/*# sourceMappingURL=main.d9a035a4.css.map*/