*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #f5f6fa;--color-surface: #ffffff;--color-primary: #1b1464;--color-primary-hover: #0d0a3e;--color-accent: #0066b3;--color-danger: #e94560;--color-danger-hover: #c73650;--color-text: #1a1a2e;--color-text-muted: #6b7280;--color-border: #e5e7eb;--radius: 12px;--radius-sm: 8px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--header-height: 56px}html,body{height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{height:100%;display:flex;flex-direction:column}.app-shell{display:flex;flex-direction:column;height:100%}.app-header{height:var(--header-height);background:var(--color-primary);display:flex;align-items:center;padding:0 16px;flex-shrink:0;box-shadow:0 2px 8px #00000026;position:sticky;top:0;z-index:100}.ek-logo{height:36px;width:auto}.app-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}button{font:inherit;cursor:pointer;border:none;border-radius:var(--radius-sm);padding:12px 20px;font-weight:600;transition:background-color .15s ease,transform .1s ease}button:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-ghost{background:transparent;color:var(--color-text-muted);padding:8px 12px}.btn-ghost:hover{background:var(--color-border)}.screen{flex:1;display:flex;flex-direction:column;max-width:480px;width:100%;margin:0 auto;padding:16px}.screen-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.screen-header h1{font-size:1.25rem;font-weight:700;flex:1}.screen-header .back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);font-size:1.2rem;padding:0}.badge{display:inline-block;background:var(--color-primary);color:#fff;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:100px}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--color-text-muted);gap:8px;padding:40px 20px}.empty-state .icon{font-size:3rem;opacity:.4}.install-banner[data-v-4d8cd83d]{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius);padding:12px 16px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.install-text[data-v-4d8cd83d]{flex:1;display:flex;flex-direction:column;gap:2px;font-size:.85rem}.install-text span[data-v-4d8cd83d]{color:var(--color-text-muted);font-size:.78rem}.install-actions[data-v-4d8cd83d]{display:flex;align-items:center;gap:8px;flex-shrink:0}.install-btn[data-v-4d8cd83d]{font-size:.8rem;padding:8px 16px;border-radius:100px}.dismiss-btn[data-v-4d8cd83d]{background:transparent;color:var(--color-text-muted);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;font-size:.85rem}.dismiss-btn[data-v-4d8cd83d]:hover{background:var(--color-border)}.new-btn[data-v-4d8cd83d]{flex-shrink:0;font-size:.9rem;padding:10px 18px;border-radius:100px}.capture-list[data-v-4d8cd83d]{list-style:none;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.capture-item[data-v-4d8cd83d]{display:flex;align-items:center;gap:12px;background:var(--color-surface);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .15s ease}.capture-item[data-v-4d8cd83d]:hover{box-shadow:var(--shadow-md)}.thumb[data-v-4d8cd83d]{width:56px;height:56px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;background:var(--color-border)}.item-info[data-v-4d8cd83d]{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.item-category[data-v-4d8cd83d]{font-weight:600;font-size:.9rem}.item-sub[data-v-4d8cd83d]{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-time[data-v-4d8cd83d]{font-size:.75rem;color:var(--color-text-muted)}.delete-btn[data-v-4d8cd83d]{width:36px;height:36px;border-radius:50%;background:transparent;color:var(--color-danger);font-size:1rem;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0}.delete-btn[data-v-4d8cd83d]:hover{background:#fde8ec}.storage-bar[data-v-4d8cd83d]{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:6px}.storage-track[data-v-4d8cd83d]{height:6px;background:var(--color-border);border-radius:3px;overflow:hidden}.storage-fill[data-v-4d8cd83d]{height:100%;background:var(--color-primary);border-radius:3px;transition:width .3s ease;min-width:1px}.storage-label[data-v-4d8cd83d]{font-size:.72rem;color:var(--color-text-muted);text-align:center}.detail-image[data-v-460c11d0]{width:100%;max-height:50vh;object-fit:contain;border-radius:var(--radius);background:#000;margin-bottom:20px}.detail-meta[data-v-460c11d0]{background:var(--color-surface);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm)}.meta-row[data-v-460c11d0]{display:flex;align-items:center;justify-content:space-between}.meta-label[data-v-460c11d0]{font-size:.85rem;color:var(--color-text-muted);font-weight:500}.meta-value[data-v-460c11d0]{font-size:.85rem;font-weight:600}.code-value[data-v-460c11d0]{font-family:SF Mono,Fira Code,monospace;background:var(--color-bg);padding:2px 8px;border-radius:6px;font-size:.82rem}.el-badge[data-v-460c11d0]{background:#6366f1}.se-badge[data-v-460c11d0]{background:#0891b2}.item-badge[data-v-460c11d0]{background:#059669}.status[data-v-460c11d0]{text-transform:capitalize;color:var(--color-text-muted)}.detail-actions[data-v-460c11d0]{margin-top:auto;padding-top:24px;display:flex;justify-content:center}.detail-actions button[data-v-460c11d0]{width:100%}.card-grid[data-v-96389948]{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1}.cat-card[data-v-96389948]{position:relative;overflow:hidden;background-color:var(--color-surface);background-size:cover;background-position:center;border:none;border-radius:var(--radius);padding:0;min-height:120px;display:flex;align-items:stretch;box-shadow:var(--shadow-sm);transition:box-shadow .15s ease,transform .15s ease}.cat-overlay[data-v-96389948]{position:absolute;inset:0;background:linear-gradient(to top,#000000bf,#00000040);transition:background .15s ease}.cat-content[data-v-96389948]{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%;padding:16px 12px}.cat-label[data-v-96389948]{font-size:.85rem;font-weight:700;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6);line-height:1.2;text-align:center}.cat-card[data-v-96389948]:hover{box-shadow:var(--shadow-md);transform:scale(1.02)}.cat-card:hover .cat-overlay[data-v-96389948]{background:linear-gradient(to top,#000000d1,#00000059)}.cat-card[data-v-96389948]:active{transform:scale(.97)}.hint[data-v-801a3f32]{font-size:.85rem;color:var(--color-text-muted);margin-bottom:12px}.sub-list[data-v-801a3f32]{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.sub-btn[data-v-801a3f32]{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;font-size:.95rem;font-weight:600;text-align:left;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease;display:flex;align-items:center;gap:12px}.sub-badge[data-v-801a3f32]{width:36px;height:36px;border-radius:8px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.sub-label[data-v-801a3f32]{flex:1}.sub-chevron[data-v-801a3f32]{font-size:1.4rem;color:var(--color-text-muted);flex-shrink:0}.sub-btn[data-v-801a3f32]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.sub-btn[data-v-801a3f32]:active{border-color:var(--color-primary);background:#eef2ff}.breadcrumb[data-v-fe866fb7]{font-size:.78rem;color:var(--color-text-muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hint[data-v-fe866fb7]{font-size:.85rem;color:var(--color-text-muted);margin-bottom:12px}.search-input[data-v-fe866fb7]{width:100%;padding:10px 14px;border:2px solid var(--color-border);border-radius:var(--radius);font:inherit;font-size:.9rem;margin-bottom:12px;outline:none;transition:border-color .15s ease}.search-input[data-v-fe866fb7]:focus{border-color:var(--color-primary)}.sub-list[data-v-fe866fb7]{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.sub-btn[data-v-fe866fb7]{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;font-size:.95rem;font-weight:600;text-align:left;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease;display:flex;align-items:center;gap:12px}.sub-badge[data-v-fe866fb7]{width:36px;height:36px;border-radius:8px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.sub-label[data-v-fe866fb7]{flex:1}.sub-chevron[data-v-fe866fb7]{font-size:1.4rem;color:var(--color-text-muted);flex-shrink:0}.sub-btn[data-v-fe866fb7]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.sub-btn[data-v-fe866fb7]:active{border-color:var(--color-primary);background:#eef2ff}.no-results[data-v-fe866fb7]{text-align:center;color:var(--color-text-muted);font-size:.85rem;padding:20px 0}.breadcrumb[data-v-dfc9d5d8]{font-size:.78rem;color:var(--color-text-muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hint[data-v-dfc9d5d8]{font-size:.85rem;color:var(--color-text-muted);margin-bottom:12px}.search-input[data-v-dfc9d5d8]{width:100%;padding:10px 14px;border:2px solid var(--color-border);border-radius:var(--radius);font:inherit;font-size:.9rem;margin-bottom:12px;outline:none;transition:border-color .15s ease}.search-input[data-v-dfc9d5d8]:focus{border-color:var(--color-primary)}.sub-list[data-v-dfc9d5d8]{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.sub-btn[data-v-dfc9d5d8]{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius);padding:14px 16px;font-size:.95rem;font-weight:600;text-align:left;box-shadow:var(--shadow-sm);transition:border-color .15s ease,box-shadow .15s ease;display:flex;align-items:center;gap:12px}.sub-label[data-v-dfc9d5d8]{flex:1}.sub-btn[data-v-dfc9d5d8]:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.sub-btn[data-v-dfc9d5d8]:active{border-color:var(--color-primary);background:#eef2ff}.no-results[data-v-dfc9d5d8]{text-align:center;color:var(--color-text-muted);font-size:.85rem;padding:20px 0}.context-bar[data-v-191f531c]{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.el-badge[data-v-191f531c]{background:#6366f1}.se-badge[data-v-191f531c]{background:#0891b2}.item-badge[data-v-191f531c]{background:#059669}.hidden-input[data-v-191f531c]{display:none}.capture-area[data-v-191f531c]{flex:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.capture-placeholder[data-v-191f531c]{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px;border:3px dashed var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-weight:600;width:100%;text-align:center;transition:border-color .15s ease}.capture-placeholder[data-v-191f531c]:hover{border-color:var(--color-primary)}.cam-icon[data-v-191f531c]{font-size:3rem}.preview-area[data-v-191f531c]{flex:1;display:flex;flex-direction:column;gap:16px}.preview-img[data-v-191f531c]{width:100%;max-height:55vh;object-fit:contain;border-radius:var(--radius);background:#000}.preview-actions[data-v-191f531c]{display:flex;gap:12px;justify-content:center}.preview-actions button[data-v-191f531c]{flex:1}.review-img[data-v-141d759e]{width:100%;max-height:50vh;object-fit:contain;border-radius:var(--radius);background:#000;margin-bottom:20px}.review-meta[data-v-141d759e]{background:var(--color-surface);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-sm)}.meta-row[data-v-141d759e]{display:flex;align-items:center;justify-content:space-between}.meta-label[data-v-141d759e]{font-size:.85rem;color:var(--color-text-muted);font-weight:500}.el-badge[data-v-141d759e]{background:#6366f1}.se-badge[data-v-141d759e]{background:#0891b2}.item-badge[data-v-141d759e]{background:#059669}.review-actions[data-v-141d759e]{margin-top:auto;padding-top:24px;display:flex;gap:12px}.review-actions button[data-v-141d759e]{flex:1}
