*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0e0e10;--bg-raised: #18181c;--bg-hover: #222228;--border: #2a2a32;--border-subtle: #1e1e24;--text: #e8e6e3;--text-muted: #7a7880;--text-dim: #4e4c52;--accent: #c8f55a;--accent-hover: #d4ff6a;--danger: #ff5f57;--radius: 12px;--radius-sm: 8px}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100dvh;line-height:1.5}#root{min-height:100dvh}.app{min-height:100dvh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:100;backdrop-filter:blur(20px) saturate(1.6);-webkit-backdrop-filter:blur(20px) saturate(1.6);background:#0e0e10cc;border-bottom:1px solid var(--border-subtle)}.header-inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}.title-group{display:flex;align-items:center;gap:14px}.header-logo{display:flex;align-items:center}.header-logo svg{height:22px;width:auto}.title-group h1{font-size:1.1rem;font-weight:400;line-height:1;letter-spacing:-.01em;color:var(--text-muted)}.header-actions{display:flex;gap:8px;animation:fadeIn .3s ease}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radius-sm);font-size:.825rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;border:none;white-space:nowrap}.btn-ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted);background:var(--bg-hover)}.btn-primary{background:var(--accent);color:#0e0e10;font-weight:600}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #c8f55a33}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:all .15s ease;font-family:inherit}.btn-icon:hover{background:var(--bg-hover);color:var(--text)}.btn-icon--danger:hover{background:#ff5f571f;color:var(--danger)}.main{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:32px 24px 64px;display:flex;flex-direction:column;gap:24px}.settings-bar{display:flex;gap:24px;padding:16px 20px;background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius)}.setting{flex:1;min-width:0}.setting-label{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;font-weight:500;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.setting-value{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.setting input[type=range]{width:100%;height:4px;-webkit-appearance:none;appearance:none;background:var(--border);border-radius:2px;outline:none;cursor:pointer}.setting input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);border:none;cursor:pointer;transition:box-shadow .15s ease}.setting input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px #c8f55a26}.setting input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--accent);border:none;cursor:pointer}.dropzone{position:relative;border:1.5px dashed var(--border);border-radius:var(--radius);padding:72px 32px;cursor:pointer;transition:all .25s ease;background:radial-gradient(ellipse at 50% 0%,rgba(200,245,90,.02) 0%,transparent 70%),var(--bg-raised)}.dropzone:hover{border-color:var(--text-dim);background:radial-gradient(ellipse at 50% 0%,rgba(200,245,90,.04) 0%,transparent 70%),var(--bg-raised)}.dropzone--active{border-color:var(--accent);background:radial-gradient(ellipse at 50% 0%,rgba(200,245,90,.08) 0%,transparent 70%),var(--bg-raised);transform:scale(1.005)}.dropzone--compact{padding:28px 32px}.dropzone--compact .drop-icon{display:none}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:12px}.drop-icon{color:var(--text-dim);margin-bottom:4px;transition:color .2s}.dropzone:hover .drop-icon,.dropzone--active .drop-icon{color:var(--accent)}.drop-text{font-size:1rem;font-weight:500;color:var(--text)}.drop-hint{font-size:.8rem;color:var(--text-dim)}.spinner{width:28px;height:28px;border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.card{background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden;animation:cardIn .35s ease both;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border);box-shadow:0 8px 32px #00000040}@keyframes cardIn{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.card-image{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:#111;display:flex;align-items:center;justify-content:center}.card-image img{width:100%;height:100%;object-fit:contain}.card-footer{padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px}.card-info{min-width:0;flex:1}.card-name{display:block;font-size:.78rem;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-meta{font-size:.7rem;color:var(--text-dim);font-variant-numeric:tabular-nums;margin-top:1px}.card-actions{display:flex;gap:2px;flex-shrink:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.header-inner{flex-direction:column;align-items:flex-start}.title-group{flex-direction:column;gap:4px}.settings-bar{flex-direction:column;gap:16px}.gallery{grid-template-columns:1fr}.main{padding:20px 16px 48px}}
