:root{--bg-color: #0d1117;--panel-bg: rgba(22, 27, 34, .7);--border-color: rgba(255, 255, 255, .1);--text-primary: #c9d1d9;--text-secondary: #8b949e;--accent-color: #58a6ff;--accent-hover: #1f6feb;--danger-color: #f85149;--danger-hover: #da3633;--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-primary);min-height:100vh;display:flex;flex-direction:column}.glass-panel{background:var(--panel-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0000005e}h1,h2,h3{font-weight:600;color:#fff;letter-spacing:-.025em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:var(--font-family)}.btn-primary{background-color:var(--accent-color);color:#000}.btn-primary:hover{background-color:var(--accent-hover);color:#fff}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:var(--danger-hover)}.btn-outline{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn-outline:hover{background-color:#ffffff0d;border-color:var(--text-secondary)}.btn:disabled{opacity:.5;cursor:not-allowed}.dropzone{border:2px dashed var(--border-color);border-radius:12px;padding:40px;text-align:center;transition:all .3s ease;background-color:#ffffff05;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px}.dropzone:hover,.dropzone.active{border-color:var(--accent-color);background-color:#58a6ff0d}.dropzone .icon{color:var(--accent-color);margin-bottom:8px}.file-card{display:flex;align-items:center;padding:12px 16px;background:var(--panel-bg);border:1px solid var(--border-color);border-radius:8px;margin-top:12px;justify-content:space-between}.file-card.success{border-left:4px solid #2ea043}.thumbnail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;padding:20px 0}.thumbnail-item{position:relative;border-radius:8px;overflow:hidden;background:#1e1e1e;border:2px solid transparent;transition:all .2s ease;aspect-ratio:1 / 1.414;display:flex;align-items:center;justify-content:center}.thumbnail-item canvas{width:100%;height:100%;object-fit:contain;background:#fff}.thumbnail-item.deleted{opacity:.4;border-color:var(--danger-color);filter:grayscale(100%)}.thumbnail-item:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000080;border-color:var(--accent-color)}.thumbnail-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.thumbnail-item:hover .thumbnail-overlay{opacity:1}.thumbnail-item.deleted .thumbnail-overlay{opacity:1;background:#f8514933}.page-badge{position:absolute;top:8px;left:8px;background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:700;z-index:2}.app-container{max-width:1200px;margin:0 auto;padding:40px 20px;width:100%}.app-header{margin-bottom:40px;text-align:center}.app-header h1{font-size:36px;margin-bottom:12px;background:linear-gradient(90deg,#58a6ff,#a371f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.app-header p{color:var(--text-secondary);font-size:16px;max-width:600px;margin:0 auto}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}@media(max-width:768px){.grid-2{grid-template-columns:1fr}}.loading-overlay{position:fixed;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.1);border-left-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.fade-enter{opacity:0;transform:translateY(10px)}.fade-enter-active{opacity:1;transform:translateY(0);transition:opacity .3s,transform .3s}
