@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;500;600;700;800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap);:root{--bg-deep:#0a0a0a;--bg-card:#121212;--bg-glass:hsla(0,0%,7%,.8);--border:rgba(99,102,241,.2);--border-hover:rgba(99,102,241,.4);--accent-blue:#6366f1;--accent-cyan:#818cf8;--accent-purple:#a78bfa;--accent-glow:rgba(99,102,241,.3);--text-primary:#fff;--text-secondary:#c4b5fd;--text-muted:#6b7280;--success:#10b981;--danger:#f87171;--warning:#fbbf24;--font-display:"Syne",sans-serif;--font-body:"DM Sans",sans-serif;--radius:16px;--radius-sm:10px;--shadow-glow:0 0 40px rgba(99,102,241,.25);--transition:all 0.3s cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{height:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a;background:var(--bg-deep);color:#fff;color:var(--text-primary);font-family:DM Sans,sans-serif;font-family:var(--font-body);min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0a0a0a;background:var(--bg-deep)}::-webkit-scrollbar-thumb{background:rgba(99,102,241,.4);background:var(--border-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:rgba(217,119,6,.4)}.modal-overlay{align-items:center;-webkit-animation:fadeOverlay .25s ease;animation:fadeOverlay .25s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(6,9,20,.85);display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}@-webkit-keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}@keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}.modal-box{-webkit-animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);animation:slideUp .3s cubic-bezier(.34,1.56,.64,1);background:#0d1526;border:1px solid rgba(99,179,237,.15);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.6),0 0 0 1px rgba(79,142,247,.08);max-width:calc(100vw - 40px);overflow:hidden;width:480px}@-webkit-keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(32px) scale(.96);transform:translateY(32px) scale(.96)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}@keyframes slideUp{0%{opacity:0;-webkit-transform:translateY(32px) scale(.96);transform:translateY(32px) scale(.96)}to{opacity:1;-webkit-transform:translateY(0) scale(1);transform:translateY(0) scale(1)}}.modal-header{border-bottom:1px solid rgba(99,179,237,.08);justify-content:space-between;padding:24px 24px 16px}.modal-header,.modal-title{align-items:center;display:flex}.modal-title{color:#e8f1ff;font-family:Syne,sans-serif;font-size:18px;font-weight:700;gap:10px}.modal-title-icon{background:linear-gradient(135deg,rgba(79,142,247,.2),rgba(167,139,250,.2));border:1px solid rgba(79,142,247,.25);border-radius:10px;height:36px;width:36px}.modal-close,.modal-title-icon{align-items:center;display:flex;font-size:16px;justify-content:center}.modal-close{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);border-radius:8px;color:#7e9cc0;cursor:pointer;height:32px;transition:all .2s;width:32px}.modal-close:hover{background:hsla(0,91%,71%,.1);border-color:hsla(0,91%,71%,.3);color:#f87171}.modal-body{padding:20px 24px}.modal-label{color:#4a6080;font-size:12px;font-weight:600;letter-spacing:.8px;margin-bottom:8px;text-transform:uppercase}.modal-input{background:hsla(0,0%,100%,.04);border:1px solid rgba(99,179,237,.15);border-radius:12px;color:#e8f1ff;font-family:monospace;font-size:13px;margin-bottom:20px;outline:none;padding:11px 16px;transition:all .25s;width:100%}.modal-input::-webkit-input-placeholder{color:#4a6080}.modal-input::placeholder{color:#4a6080}.modal-input:focus{border-color:#4f8ef7;box-shadow:0 0 0 3px rgba(79,142,247,.12)}.access-list-label{color:#4a6080;font-size:12px;font-weight:600;letter-spacing:.8px;margin-bottom:10px;text-transform:uppercase}.access-list{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto}.access-item{align-items:center;background:hsla(0,0%,100%,.03);border:1px solid rgba(99,179,237,.08);border-radius:10px;display:flex;font-size:13px;justify-content:space-between;padding:10px 12px}.access-addr{color:#7e9cc0;font-family:monospace;font-size:12px}.access-badge{border-radius:20px;font-size:11px;font-weight:600;padding:2px 8px}.access-badge.granted{background:rgba(52,211,153,.12);border:1px solid rgba(52,211,153,.2);color:#34d399}.access-badge.revoked{background:hsla(0,91%,71%,.12);border:1px solid hsla(0,91%,71%,.2);color:#f87171}.access-empty{color:#4a6080;font-size:13px;padding:24px;text-align:center}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 24px 24px}.btn-cancel{background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.08);border-radius:40px;color:#7e9cc0;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;padding:10px 20px;transition:all .25s}.btn-cancel:hover{background:hsla(0,91%,71%,.08);border-color:hsla(0,91%,71%,.2);color:#f87171}.btn-grant{background:linear-gradient(135deg,#4f8ef7,#a78bfa);border:none;border-radius:40px;box-shadow:0 4px 16px rgba(79,142,247,.3);color:#fff;cursor:pointer;font-family:DM Sans,sans-serif;font-size:14px;font-weight:600;padding:10px 22px;transition:all .25s}.btn-grant:hover{box-shadow:0 6px 24px rgba(79,142,247,.45);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn-grant:disabled{cursor:not-allowed;opacity:.5;-webkit-transform:none;transform:none}.shared-container{width:100%}.shared-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.shared-card{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;padding:16px;text-align:center;transition:var(--transition)}.shared-card:hover{background:rgba(99,102,241,.08);border-color:var(--accent-blue);box-shadow:0 8px 24px rgba(99,102,241,.12)}.shared-avatar{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border:2px solid rgba(99,102,241,.3);border-radius:50%;display:flex;font-size:24px;height:48px;justify-content:center;margin-bottom:10px;width:48px}.shared-addr{color:#818cf8;font-family:monospace;font-size:12px;font-weight:600;margin-bottom:6px;word-break:break-all}.shared-status{color:var(--success);font-size:10px;font-weight:600}.shared-empty{background:rgba(99,102,241,.05);border:1px solid rgba(99,102,241,.1);border-radius:12px;color:var(--text-muted);padding:48px 20px;text-align:center}.shared-empty-icon{font-size:40px;margin-bottom:12px;opacity:.5}.shared-empty-text{font-size:14px}.transaction-panel{margin-bottom:28px;-webkit-perspective:1000px;perspective:1000px;width:100%}.transaction-list{display:flex;flex-direction:column;gap:12px}.transaction-item{align-items:center;-webkit-animation:slideInDown .4s cubic-bezier(.34,1.56,.64,1);animation:slideInDown .4s cubic-bezier(.34,1.56,.64,1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,rgba(99,102,241,.15),rgba(167,139,250,.1));border:1px solid rgba(99,102,241,.25);border-radius:16px;display:flex;gap:16px;overflow:hidden;padding:18px 22px;position:relative}.transaction-item:before{background:currentColor;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.transaction-item.transaction-success{background:linear-gradient(135deg,rgba(16,185,129,.1),rgba(16,185,129,.05));border-color:rgba(16,185,129,.3);color:#10b981}.transaction-item.transaction-error{background:linear-gradient(135deg,hsla(0,91%,71%,.1),hsla(0,91%,71%,.05));border-color:hsla(0,91%,71%,.3);color:#f87171}.transaction-item.transaction-info{background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(167,139,250,.08));border-color:rgba(99,102,241,.3);color:#818cf8}.tx-icon{align-items:center;background:currentColor;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:20px;font-weight:700;height:40px;justify-content:center;width:40px}.tx-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.tx-message{color:#fff;font-size:14px;font-weight:600;line-height:1.4}.tx-time{color:hsla(0,0%,100%,.6);font-family:monospace;font-size:11px}.tx-indicator{-webkit-animation:pulse 2s ease-in-out infinite;animation:pulse 2s ease-in-out infinite;background:currentColor;border-radius:50%;height:8px;width:8px}@-webkit-keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;-webkit-transform:translateY(-20px);transform:translateY(-20px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes pulse{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(1.2);transform:scale(1.2)}}@keyframes pulse{0%,to{opacity:1;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.5;-webkit-transform:scale(1.2);transform:scale(1.2)}}@media (max-width:768px){.transaction-item{gap:12px;padding:14px 16px}.tx-icon{font-size:18px;height:36px;width:36px}.tx-message{font-size:13px}}.app-shell{display:flex;flex-direction:column;min-height:100vh;position:relative}.ambient{inset:0;overflow:hidden;pointer-events:none;position:fixed;z-index:0}.orb{-webkit-animation:drift 18s ease-in-out infinite alternate;animation:drift 18s ease-in-out infinite alternate;border-radius:50%;-webkit-filter:blur(120px);filter:blur(120px);opacity:.18;position:absolute}.orb-1{-webkit-animation-delay:0s;animation-delay:0s;background:#6366f1;height:600px;left:-100px;top:-200px;width:600px}.orb-2{-webkit-animation-delay:-6s;animation-delay:-6s;background:#a78bfa;bottom:-150px;height:500px;right:-100px;width:500px}.orb-3{-webkit-animation-delay:-12s;animation-delay:-12s;background:#818cf8;height:350px;left:50%;opacity:.1;top:40%;width:350px}@-webkit-keyframes drift{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}50%{-webkit-transform:translate(40px,-30px) scale(1.05);transform:translate(40px,-30px) scale(1.05)}to{-webkit-transform:translate(-20px,40px) scale(.97);transform:translate(-20px,40px) scale(.97)}}@keyframes drift{0%{-webkit-transform:translate(0) scale(1);transform:translate(0) scale(1)}50%{-webkit-transform:translate(40px,-30px) scale(1.05);transform:translate(40px,-30px) scale(1.05)}to{-webkit-transform:translate(-20px,40px) scale(.97);transform:translate(-20px,40px) scale(.97)}}.topbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:rgba(6,9,20,.8);border-bottom:1px solid var(--border);height:64px;justify-content:space-between;padding:0 32px;position:-webkit-sticky;position:sticky;top:0;z-index:100}.topbar,.topbar-brand{align-items:center;display:flex}.topbar-brand{gap:10px}.brand-icon{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:10px;display:flex;font-size:18px;height:36px;justify-content:center;width:36px}.brand-name{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#818cf8,#c4b5fd);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:20px;font-weight:800;letter-spacing:-.5px}.brand-badge{background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:20px;color:#fff;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 6px}.topbar-right{gap:12px}.topbar-right,.wallet-chip{align-items:center;display:flex}.wallet-chip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-glass);border:1px solid var(--border);border-radius:40px;gap:8px;padding:8px 14px;transition:var(--transition)}.wallet-chip:hover{border-color:var(--border-hover)}.wallet-dot{-webkit-animation:pulse-dot 2s ease-in-out infinite;animation:pulse-dot 2s ease-in-out infinite;background:var(--success);border-radius:50%;box-shadow:0 0 8px var(--success);height:8px;width:8px}.wallet-dot.disconnected{-webkit-animation:none;animation:none;background:var(--text-muted);box-shadow:none}@-webkit-keyframes pulse-dot{0%,to{box-shadow:0 0 8px var(--success);opacity:1}50%{box-shadow:0 0 16px var(--success);opacity:.6}}@keyframes pulse-dot{0%,to{box-shadow:0 0 8px var(--success);opacity:1}50%{box-shadow:0 0 16px var(--success);opacity:.6}}.wallet-addr{color:var(--text-secondary);font-family:monospace;font-size:13px;font-weight:500}.btn-share{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border:none;border-radius:40px;box-shadow:0 4px 20px rgba(99,102,241,.3);color:#fff;cursor:pointer;display:flex;font-family:var(--font-body);font-size:13px;font-weight:600;gap:6px;padding:8px 18px;transition:var(--transition)}.btn-share:hover{box-shadow:0 6px 28px rgba(99,102,241,.4);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.main-content{display:flex;flex:1 1;gap:0;min-height:0;position:relative;width:100%;z-index:1}.sidebar{display:none}.sidebar-content{display:flex;flex-direction:column;gap:20px;padding:28px 20px}.about-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(99,102,241,.1),rgba(167,139,250,.1));border:1px solid rgba(99,102,241,.2);border-radius:14px;padding:18px 14px;text-align:center}.about-icon{font-size:36px;margin-bottom:8px}.about-card h2{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#818cf8,#a78bfa);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:20px;font-weight:800;line-height:1.2;margin-bottom:3px;word-break:break-word}.about-tagline{color:#818cf8;font-size:11px;font-weight:600;letter-spacing:.4px;margin-bottom:10px}.about-description{color:var(--text-secondary);font-size:11px;line-height:1.5}.features-card{background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.15);border-radius:14px;display:none;padding:16px}.features-card h3{align-items:center;color:var(--text-primary);display:flex;font-family:var(--font-display);font-size:16px;font-weight:700;gap:8px;margin-bottom:16px}.feature-item{border-bottom:1px solid rgba(99,102,241,.1);display:flex;gap:12px;margin-bottom:14px;padding-bottom:14px}.feature-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.feature-number{align-items:center;background:linear-gradient(135deg,#6366f1,#818cf8);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.feature-item h4{color:var(--text-primary);font-size:13px;font-weight:700;margin-bottom:2px}.feature-item p{color:var(--text-muted);font-size:12px;line-height:1.4}.tech-card{background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.15);border-radius:14px;display:none;padding:16px}.tech-card h3{color:var(--text-primary);font-family:var(--font-display);font-size:14px;font-weight:700;margin-bottom:12px}.tech-badges{display:flex;flex-wrap:wrap;gap:8px}.tech-badge{background:rgba(99,102,241,.15);border:1px solid rgba(99,102,241,.25);border-radius:12px;color:#c4b5fd;display:inline-block;font-size:11px;font-weight:600;padding:6px 12px}.workspace{display:flex;flex:1 1;flex-direction:column;gap:28px;margin:0 auto;max-width:1400px;overflow-y:auto;padding:32px 48px;width:100%}.upload-zone{background:rgba(13,21,38,.4);border:2px dashed var(--border);border-radius:20px;cursor:pointer;overflow:hidden;padding:40px 32px;position:relative;text-align:center;transition:var(--transition)}.upload-zone:before{background:radial-gradient(ellipse at center top,rgba(79,142,247,.05) 0,transparent 70%);content:"";inset:0;pointer-events:none;position:absolute}.upload-zone.drag-over,.upload-zone:hover{background:rgba(79,142,247,.04);border-color:var(--accent-blue);box-shadow:var(--shadow-glow)}.upload-zone.drag-over{border-color:var(--accent-cyan);border-style:solid}.upload-icon-wrap{align-items:center;background:linear-gradient(135deg,rgba(79,142,247,.15),rgba(167,139,250,.15));border:1px solid rgba(79,142,247,.25);border-radius:20px;display:flex;font-size:32px;height:72px;justify-content:center;margin:0 auto 20px;transition:var(--transition);width:72px}.upload-zone:hover .upload-icon-wrap{background:linear-gradient(135deg,rgba(79,142,247,.25),rgba(167,139,250,.25));-webkit-transform:scale(1.05);transform:scale(1.05)}.upload-title{color:var(--text-primary);font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:6px}.upload-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:24px}.upload-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.btn-choose{align-items:center;background:linear-gradient(135deg,var(--accent-blue),#5b5bd6);border:none;border-radius:40px;box-shadow:0 4px 16px rgba(79,142,247,.3);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:14px;font-weight:600;gap:8px;padding:10px 22px;transition:var(--transition)}.btn-choose:hover{box-shadow:0 6px 24px rgba(79,142,247,.5);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn-choose:disabled{cursor:not-allowed;opacity:.4;-webkit-transform:none;transform:none}.file-chip{align-items:center;background:rgba(56,189,248,.1);border:1px solid rgba(56,189,248,.25);border-radius:40px;color:var(--accent-cyan);display:flex;font-size:13px;gap:8px;max-width:220px;overflow:hidden;padding:8px 14px}.file-chip-name{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-upload{align-items:center;background:linear-gradient(135deg,#1a9e6b,#0f7a52);border:none;border-radius:40px;box-shadow:0 4px 16px rgba(52,211,153,.25);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:14px;font-weight:600;gap:8px;padding:10px 22px;transition:var(--transition)}.btn-upload:hover:not(:disabled){box-shadow:0 6px 24px rgba(52,211,153,.4);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.btn-upload:disabled{cursor:not-allowed;opacity:.4;-webkit-transform:none;transform:none}.upload-progress{align-items:center;display:flex;flex-direction:column;gap:8px;margin-top:16px}.progress-bar-bg{background:hsla(0,0%,100%,.06);border-radius:2px;height:3px;overflow:hidden;width:280px}.progress-bar-fill{-webkit-animation:indeterminate 1.5s ease-in-out infinite;animation:indeterminate 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--accent-blue),var(--accent-cyan));border-radius:2px;height:100%}@-webkit-keyframes indeterminate{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);width:60%}to{-webkit-transform:translateX(200%);transform:translateX(200%);width:60%}}@keyframes indeterminate{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);width:60%}to{-webkit-transform:translateX(200%);transform:translateX(200%);width:60%}}.progress-text{color:var(--text-muted);font-size:12px}.section-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:20px}.section-title{align-items:center;color:var(--text-primary);display:flex;font-family:var(--font-display);font-size:18px;font-weight:700;gap:8px}.section-count{background:hsla(0,0%,100%,.05);border-radius:20px;color:var(--text-muted);font-family:var(--font-body);font-size:12px;font-weight:400;padding:2px 8px}.section-description{color:var(--text-muted);font-size:13px;letter-spacing:.3px}.viewer-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.address-input-wrap{flex:1 1;max-width:400px;min-width:200px;position:relative}.address-icon{font-size:14px;left:14px;pointer-events:none;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.address-input{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-glass);border:1px solid var(--border);border-radius:40px;color:var(--text-primary);font-family:monospace;font-size:13px;outline:none;padding:10px 14px 10px 38px;transition:var(--transition);width:100%}.address-input::-webkit-input-placeholder{color:var(--text-muted)}.address-input::placeholder{color:var(--text-muted)}.address-input:focus{border-color:var(--accent-blue);box-shadow:0 0 0 3px rgba(79,142,247,.12)}.btn-getdata{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-glass);border:1px solid var(--border);border-radius:40px;color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:13px;font-weight:600;gap:7px;padding:10px 22px;transition:var(--transition)}.btn-getdata:hover{border-color:var(--accent-blue);box-shadow:0 0 16px rgba(79,142,247,.15);color:var(--accent-cyan)}.image-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.image-card{group:true;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;overflow:hidden;position:relative;transition:var(--transition)}.image-card:hover{border-color:var(--border-hover);box-shadow:0 16px 40px rgba(0,0,0,.4),0 0 0 1px rgba(79,142,247,.15);-webkit-transform:translateY(-4px);transform:translateY(-4px)}.image-card img{display:block;height:180px;object-fit:cover;transition:var(--transition);width:100%}.image-card:hover img{-webkit-transform:scale(1.03);transform:scale(1.03)}.image-card-footer{align-items:center;display:flex;justify-content:space-between;padding:10px 12px}.image-card-name{color:var(--text-secondary);font-size:12px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-card-actions{display:flex;gap:4px}.icon-btn{align-items:center;background:hsla(0,0%,100%,.04);border:1px solid transparent;border-radius:6px;color:var(--text-muted);cursor:pointer;display:flex;font-size:12px;height:26px;justify-content:center;text-decoration:none;transition:var(--transition);width:26px}.icon-btn:hover{background:rgba(79,142,247,.12);border-color:var(--border-hover);color:var(--accent-cyan)}.about-banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(99,102,241,.12),rgba(167,139,250,.12));border:1px solid rgba(99,102,241,.25);border-radius:24px;margin-bottom:8px;overflow:hidden;padding:40px 32px;position:relative}.about-banner:before{background:radial-gradient(ellipse at top right,rgba(99,102,241,.1) 0,transparent 70%);content:"";inset:0;pointer-events:none;position:absolute}.about-content{position:relative;z-index:1}.about-banner h1{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#818cf8,#a78bfa,#c4b5fd);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:32px;font-weight:800;margin-bottom:12px}.about-banner p{color:var(--text-secondary);font-size:15px;line-height:1.6;margin-bottom:20px;max-width:600px}.about-features{display:flex;flex-wrap:wrap;gap:12px}.feature-tag{align-items:center;background:rgba(99,102,241,.12);border:1px solid rgba(99,102,241,.25);border-radius:20px;color:#c4b5fd;display:inline-flex;font-size:12px;font-weight:600;padding:8px 14px;transition:var(--transition)}.feature-tag:hover{background:rgba(99,102,241,.2);border-color:rgba(99,102,241,.4);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.empty-state{color:var(--text-muted);padding:60px 20px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.4}.empty-state-text{font-size:15px}.toast-container{bottom:28px;display:flex;flex-direction:column;gap:10px;position:fixed;right:28px;z-index:9999}.toast{align-items:center;-webkit-animation:slideIn .3s ease;animation:slideIn .3s ease;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 32px rgba(0,0,0,.4);display:flex;font-size:14px;font-weight:500;gap:10px;max-width:360px;min-width:260px;padding:14px 18px}.toast.success{border-color:rgba(52,211,153,.3)}.toast.success .toast-icon{color:var(--success)}.toast.error{border-color:hsla(0,91%,71%,.3)}.toast.error .toast-icon{color:var(--danger)}.toast.info{border-color:rgba(79,142,247,.3)}.toast.info .toast-icon{color:var(--accent-blue)}@-webkit-keyframes slideIn{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideIn{0%{opacity:0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}.app-footer{background:linear-gradient(135deg,hsla(0,0%,7%,.95),rgba(15,10,35,.95));border-top:1px solid rgba(99,102,241,.15);color:hsla(0,0%,100%,.75);font-size:14px;line-height:1.8;padding:40px 48px;text-align:center;width:100%}.app-footer h3{color:#818cf8;font-size:20px;font-weight:700;margin-bottom:8px}.app-footer p{margin:6px auto;max-width:900px}
/*# sourceMappingURL=main.b7b2c309.css.map*/